Miscellaneous fixes and cleanups to emulator_error_test. The reason I started looking at this test is because it fails when TDP is disabled, which pollutes my test results wheneveer I am testing a new series for upstream. v4: - Collect more R-b tags from Sean. - Assert no #PF when TDP is enabled [Sean] - Avoid 'we' pronoun in commit message [Sean] - Bundle assert+skip in one function [Sean] v3: https://lore.kernel.org/kvm/20221031180045.3581757-1-dmatlack@xxxxxxxxxx/ - Collect R-b tags from Sean. - Drop ModR/M decoding in favor of hard-coded instruction [Sean] - Fix gspurious gcc warning about using uninitialized variable [Sean] - Drop assert_ucall_done() helper [Sean] - Spelling fixes [Sean] - Use kvm_asm_safe*() to check #PF(RSVD) instead of an exception handler [Sean] v2: https://lore.kernel.org/kvm/20221018214612.3445074-1-dmatlack@xxxxxxxxxx/ - Split emulator_error_test into 2 separate tests to ensure continued test coverage of KVM emulation in response to EPT violations when "allow_smaller_maxphyaddr && guest.MAXPHYADDR < host.MAXPHADDR". [Sean] - Test that flds generates #PF(RSVD) when TDP is disabled [Sean] v1: https://lore.kernel.org/kvm/20220929204708.2548375-1-dmatlack@xxxxxxxxxx/ David Matlack (8): KVM: selftests: Rename emulator_error_test to smaller_maxphyaddr_emulation_test KVM: selftests: Explicitly require instructions bytes KVM: selftests: Delete dead ucall code KVM: selftests: Move flds instruction emulation failure handling to header KVM: x86/mmu: Use BIT{,_ULL}() for PFERR masks KVM: selftests: Copy KVM PFERR masks into selftests KVM: selftests: Expect #PF(RSVD) when TDP is disabled KVM: selftests: Add a test for KVM_CAP_EXIT_ON_EMULATION_FAILURE Sean Christopherson (2): KVM: selftests: Avoid JMP in non-faulting path of KVM_ASM_SAFE() KVM: selftests: Provide error code as a KVM_ASM_SAFE() output arch/x86/include/asm/kvm_host.h | 20 +- tools/testing/selftests/kvm/.gitignore | 3 +- tools/testing/selftests/kvm/Makefile | 3 +- .../selftests/kvm/include/x86_64/processor.h | 66 ++++-- .../selftests/kvm/lib/x86_64/processor.c | 1 + .../kvm/x86_64/emulator_error_test.c | 193 ------------------ .../x86_64/exit_on_emulation_failure_test.c | 45 ++++ .../selftests/kvm/x86_64/flds_emulation.h | 55 +++++ .../selftests/kvm/x86_64/hyperv_features.c | 3 +- .../smaller_maxphyaddr_emulation_test.c | 112 ++++++++++ 10 files changed, 280 insertions(+), 221 deletions(-) delete mode 100644 tools/testing/selftests/kvm/x86_64/emulator_error_test.c create mode 100644 tools/testing/selftests/kvm/x86_64/exit_on_emulation_failure_test.c create mode 100644 tools/testing/selftests/kvm/x86_64/flds_emulation.h create mode 100644 tools/testing/selftests/kvm/x86_64/smaller_maxphyaddr_emulation_test.c base-commit: d5af637323dd156bad071a3f8fc0d7166cca1276 -- 2.38.1.273.g43a17bfeac-goog