[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [virtio-comment] [PATCH 1/3] shared memory: Define shared memory regions
On Fri, 15 Feb 2019 12:26:00 +0100 David Hildenbrand <david@redhat.com> wrote: > Probing is always ugly. But I think we can add something like > the x86 PCI hole between 3 and 4 GB after our initial boot memory. > So there, we would have a memory region just like e.g. x86 has. A special region is probably the best way out of this pickle. We would only need the discovery ccw for virtio, then. > > This should even work with other mechanism I am working on. E.g. > for memory devices, we will add yet another memory region above > the special PCI region. > > The layout of the guest would then be something like > > [0x000000000000000] > ... Memory region containing RAM > [ram_size ] > ... Memory region for e.g. special PCI devices > [ram_size +1 GB ] > ... Memory region for memory devices (virtio-pmem, virtio-mem ...) > [maxram_size - ram_size + 1GB] > > We would have to create proper page tables for guest backing that take > care of the new guest size (not just ram_size). Also, to the guest we > would indicate "maximum ram size == ram_size" so it does not try to > probe the "special" memory. Hm... so that would be: - 0..ram_size: just like it is handled now - ram_size..ram_size + 1GB: guest does not treat it as ram, but does build page tables for it - ram_size + 1GB..maxram_size: for whatever memory devices do with it How does the guest probe this? (SCLP?) Or does the guest simply know via some kind of probable feature that there's a 1GB region there? > As we are using paravirtualized features here, this should be fine for. > Unmodified guests will never touch/probe anything beyond ram_size. Yes, that gives us more freedom.
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]