Re: [RFC PATCH 6/8] KVM: x86: Implement kvm_arch_{, pre_}vcpu_map_memory()

From: David Matlack
Date: Wed Mar 06 2024 - 19:37:08 EST


On Wed, Mar 6, 2024 at 4:31 PM David Matlack <dmatlack@xxxxxxxxxx> wrote:
>
> On 2024-03-01 09:28 AM, isaku.yamahata@xxxxxxxxx wrote:
> >
> > + if (IS_ALIGNED(mapping->base_gfn, KVM_PAGES_PER_HPAGE(PG_LEVEL_1G)) &&
> > + mapping->nr_pages >= KVM_PAGES_PER_HPAGE(PG_LEVEL_1G))
> > + max_level = PG_LEVEL_1G;
> > + else if (IS_ALIGNED(mapping->base_gfn, KVM_PAGES_PER_HPAGE(PG_LEVEL_2M)) &&
> > + mapping->nr_pages >= KVM_PAGES_PER_HPAGE(PG_LEVEL_2M))
> > + max_level = PG_LEVEL_2M;
> > + else
> > + max_level = PG_LEVEL_4K;
>
> Is there a requirement that KVM must not map memory outside of the
> requested region?

And if so, what if the requested region is already mapped with a larger page?