On Mon, Apr 24, 2023 at 7:35 PM Sean Christopherson <seanjc@xxxxxxxxxx> wrote: > > KVM x86 "misc" changes for 6.4. The two highlights are Mathias' > optimization for CR0.WP toggling and Binbin's addition of helpers to query > individual CR0/CR4 bits (a very nice and overdue cleanup). > > The following changes since commit d8708b80fa0e6e21bc0c9e7276ad0bccef73b6e7: > > KVM: Change return type of kvm_arch_vm_ioctl() to "int" (2023-03-16 10:18:07 -0400) > > are available in the Git repository at: > > https://github.com/kvm-x86/linux.git tags/kvm-x86-misc-6.4 > > for you to fetch changes up to cf9f4c0eb1699d306e348b1fd0225af7b2c282d3: > > KVM: x86/mmu: Refresh CR0.WP prior to checking for emulated permission faults (2023-04-10 15:25:36 -0700) Pulled (but didn't push yet), thanks. Paolo > ---------------------------------------------------------------- > KVM x86 changes for 6.4: > > - Optimize CR0.WP toggling by avoiding an MMU reload when TDP is enabled, > and by giving the guest control of CR0.WP when EPT is enabled on VMX > (VMX-only because SVM doesn't support per-bit controls) > > - Add CR0/CR4 helpers to query single bits, and clean up related code > where KVM was interpreting kvm_read_cr4_bits()'s "unsigned long" return > as a bool > > - Move AMD_PSFD to cpufeatures.h and purge KVM's definition > > - Misc cleanups > > ---------------------------------------------------------------- > Binbin Wu (4): > KVM: x86: Add helpers to query individual CR0/CR4 bits > KVM: x86: Use boolean return value for is_{pae,pse,paging}() > KVM: SVM: Use kvm_is_cr4_bit_set() to query SMAP/SMEP in "can emulate" > KVM: x86: Change return type of is_long_mode() to bool > > Mathias Krause (4): > KVM: x86: Do not unload MMU roots when only toggling CR0.WP with TDP enabled > KVM: x86: Ignore CR0.WP toggles in non-paging mode > KVM: x86: Make use of kvm_read_cr*_bits() when testing bits > KVM: VMX: Make CR0.WP a guest owned bit > > Robert Hoo (1): > KVM: x86: Remove a redundant guest cpuid check in kvm_set_cr4() > > Sean Christopherson (4): > KVM: SVM: Fix benign "bool vs. int" comparison in svm_set_cr0() > x86: KVM: Add common feature flag for AMD's PSFD > KVM: x86: Assert that the emulator doesn't load CS with garbage in !RM > KVM: x86/mmu: Refresh CR0.WP prior to checking for emulated permission faults > > Tom Rix (1): > KVM: x86: set "mitigate_smt_rsb" storage-class-specifier to static > > arch/x86/include/asm/cpufeatures.h | 1 + > arch/x86/kvm/cpuid.c | 12 +++------- > arch/x86/kvm/emulate.c | 8 +++++++ > arch/x86/kvm/kvm_cache_regs.h | 18 ++++++++++++++- > arch/x86/kvm/mmu.h | 28 ++++++++++++++++++++++-- > arch/x86/kvm/mmu/mmu.c | 15 +++++++++++++ > arch/x86/kvm/pmu.c | 4 ++-- > arch/x86/kvm/svm/svm.c | 6 ++--- > arch/x86/kvm/vmx/nested.c | 6 ++--- > arch/x86/kvm/vmx/vmx.c | 8 +++---- > arch/x86/kvm/vmx/vmx.h | 18 +++++++++++++++ > arch/x86/kvm/x86.c | 45 ++++++++++++++++++++++++-------------- > arch/x86/kvm/x86.h | 22 +++++++++---------- > 13 files changed, 139 insertions(+), 52 deletions(-) >