Re: [PATCH Part2 RFC v4 27/40] KVM: X86: Add kvm_x86_ops to get the max page level for the TDP

From: Brijesh Singh
Date: Tue Jul 20 2021 - 16:08:11 EST




On 7/20/21 2:38 PM, Sean Christopherson wrote:
...


The other option is to use vm_type, which TDX is already planning on leveraging.
Paolo raised the question of whether or not the TDX type could be reused for SNP.
We should definitely sort that out before merging either series. I'm personally
in favor of separating TDX and SNP, it seems inevitable that common code will
want to differentiate between the two.

Yes, I did saw that and it seems much better.


https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flkml.kernel.org%2Fr%2F8eb87cd52a89d957af03f93a9ece5634426a7757.1625186503.git.isaku.yamahata%40intel.com&data=04%7C01%7Cbrijesh.singh%40amd.com%7Cb658fcf339234fd9030d08d94bb5edf1%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637624067039647374%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=tdVALNsQGer0Z69%2FyYaRqWYZvH27k%2BmgHdslQlJ7qlU%3D&reserved=0


...


There is yet another reason why we can't avoid the PSMASH after doing
everything to ensure that NPT and RMP are in sync. e.g if NPT and RMP
are programmed with 2mb size but the guest tries to PVALIDATE the page
as a 4k. In that case, we will see #NPF with page size mismatch and have
to perform psmash.

Boo, there's no way to communicate to the guest that it's doing PVALIDATE wrong
is there?


if the guest chooses smaller page-size then we don't have any means to notify the guest; the hardware will cause an #NPF and its up to the hypervisor to resolve the fault.

However, if the guest attempts to validate with the larger page-level (e.g guest using 2mb and RMP entry was 4k) then PVALIDATE will return SIZEMISMATCH error to the guest.

thanks