Messages in this thread | | | Subject | Re: [PATCH Part2 RFC v4 33/40] KVM: SVM: Add support to handle MSR based Page State Change VMGEXIT | From | Brijesh Singh <> | Date | Mon, 19 Jul 2021 14:15:53 -0500 |
| |
On 7/19/21 1:55 PM, Sean Christopherson wrote: > > I've no objection to using PSC for enums and whatnot, and I'll happily defer to > Boris for functions in the core kernel and guest, but for KVM I'd really like to > spell out the name for the two or so main handler functions.
Noted.
>> >> Maybe I am missing something, I am not able to follow 'guest won't be able >> to convert a 2mb chunk back to a 2mb large page'. The page-size used inside >> the guest have to relationship with the RMP/NPT page-size. e.g, a guest can >> validate the page range as a 4k and still map the page range as a 2mb or 1gb >> in its pagetable. > > The proposed code walks KVM's TDP and adjusts the RMP level to be the min of the > guest+host levels. Once KVM has installed a 4kb TDP SPTE, that walk will find > the 4kb TDP SPTE and thus operate on the RMP at a 4kb granularity. To allow full > restoration of 2mb PTE+SPTE+RMP, KVM needs to zap the 4kb SPTE(s) at some point > to allow rebuilding a 2mb SPTE. >
Ah I see. In that case, SNP firmware provides a command "SNP_PAGE_UNMASH" that can be used by the hypervisor to combines the multiple 4k entry into a single 2mb without affecting the validation.
-Brijesh
| |