Re: [PATCH v4 4/5] KVM: MMU: Add support for PKS emulation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On 7/30/2021 1:45 AM, Paolo Bonzini wrote:
On 29/07/21 19:25, Sean Christopherson wrote:
-        unsigned int cr4_pke:1;
+        unsigned int cr4_pkr:1;
Smushing these together will not work, as this code (from below)

-     ext.cr4_pke = !!kvm_read_cr4_bits(vcpu, X86_CR4_PKE);
+     ext.cr4_pkr = !!kvm_read_cr4_bits(vcpu, X86_CR4_PKE) ||
+                   !!kvm_read_cr4_bits(vcpu, X86_CR4_PKS);
will generate the same mmu_role for CR4.PKE=0,PKS=1 and CR4.PKE=1,PKS=1 (and other combinations).  I.e. KVM will fail to reconfigure the MMU and thus skip update_pkr_bitmask() if the guest toggles PKE or PKS while the other PK* bit is set.


I'm also not sure why there would be issues in just using cr4_pks.


Will split out the pke and pks.

Thanks
Chenyi

Paolo




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux