Message ID | 20210622210047.3691840-1-seanjc@google.com (mailing list archive) |
---|---|
Headers | show |
Series | nSVM: NPT improvements and cleanups | expand |
On 22/06/21 23:00, Sean Christopherson wrote: > The first chunk of this series (everything up to the lib/vmalloc patch) > are cleanups and bug fixes for existing nSVM tests that I collected on > my first attempt at the new NPT test. I originally wanted to piggyback > the existing "v1" nSVM tests and implemented the fixes/cleanups, but that > approach didn't go so well because of the v1 infrastructure limitations. > > The common lib/vmalloc changes are to allow arch code to pass arbitrary > data to its setup_mmu() function. x86-64 uses the param to avoid marking > PTEs a USER so that tests can enable SMEP (#PF if supervisor mode fetches > from a USER PTE) without exploding or having to duplicate all page tables. > > The "new" test targets nested NPT by running L1 and L2 with different > EFER.NX and CR4.SMEP settings to verify that KVM uses the correct MMU > settings when injecting page faults. > > Sean Christopherson (12): > nSVM: Provide expected and actual exit codes on VMRUN test failure > nSVM: Replace open coded NX manipulation with appropriate macros > nSVM: Reset the VMCB before every v1 test > nSVM: Explicitly save/update/restore EFER.NX for NPT NX test > nSVM: Remove NPT reserved bits tests (new one on the way) > nSVM: Stop forcing EFER.NX=1 for all tests > nSVM: Remove a superfluous modification of guest EFER.NX in NPT NX > test > nSVM: Clear guest's EFER.NX in NPT NX test > lib/vmalloc: Let arch code pass a value to its setup_mmu() helper > x86: Let tests omit PT_USER_MASK when configuring virtual memory > x86: Add GBPAGES CPUID macro, clean up CPUID comments > nSVM: Add test for NPT reserved bit and #NPF error code behavior > > lib/arm/mmu.c | 2 +- > lib/s390x/mmu.c | 3 +- > lib/vmalloc.c | 9 +- > lib/vmalloc.h | 4 +- > lib/x86/processor.h | 15 +-- > lib/x86/vm.c | 15 ++- > s390x/uv-host.c | 2 +- > x86/svm.c | 10 +- > x86/svm_tests.c | 220 +++++++++++++++++++++++++++++++------------- > 9 files changed, 196 insertions(+), 84 deletions(-) > Queued, thanks. Paolo