Messages in this thread | | | From | Ben Gardon <> | Date | Fri, 24 Jan 2020 10:41:55 -0800 | Subject | Re: [PATCH v4 09/10] KVM: selftests: Stop memslot creation in KVM internal memslot region |
| |
On Fri, Jan 24, 2020 at 12:58 AM Paolo Bonzini <pbonzini@redhat.com> wrote: > > On 23/01/20 19:04, Ben Gardon wrote: > > KVM creates internal memslots covering the region between 3G and 4G in > > the guest physical address space, when the first vCPU is created. > > Mapping this region before creation of the first vCPU causes vCPU > > creation to fail. Prohibit tests from creating such a memslot and fail > > with a helpful warning when they try to. > > > > Signed-off-by: Ben Gardon <bgardon@google.com> > > --- > > The internal memslots are much higher than this (0xfffbc000 and > 0xfee00000). I'm changing the patch to block 0xfe0000000 and above, > otherwise it breaks vmx_dirty_log_test.
Perhaps we're working in different units, but I believe paddrs 0xfffbc000 and 0xfee00000 are between 3GiB and 4GiB. "Proof by Python": >>> B=1 >>> KB=1024*B >>> MB=1024*KB >>> GB=1024*MB >>> hex(3*GB) '0xc0000000' >>> hex(4*GB) '0x100000000' >>> 3*GB == 3<<30 True >>> 0xfffbc000 > 3*GB True >>> 0xfffbc000 < 4*GB True >>> 0xfee00000 > 3*GB True >>> 0xfee00000 < 4*GB True
Am I missing something?
I don't think blocking 0xfe0000000 and above is useful, as there's nothing mapped in that region and AFAIK it's perfectly valid to create memslots there.
> > Paolo >
| |