Slightly reworked version of Michal's series clean up the FEP mess and add a testcase for illegal LEA. Core ideas are all the same, just moved the common FEP functionality to desc.h to make it easier to use in other tests. v3: - Define __ASM_SEL/__ASM_FORM in desc.h to fix circular dependency. - Move ASM_TRY_FEP() to desc.h - Add is_fep_available() helper to simplify probing FEP. - Use is_fep_available() in PMU test. Michal Luczaj (4): x86: emulator.c: Save and restore exception handlers x86: Introduce ASM_TRY_FEP() to handle exceptions on forced emulation x86: emulator.c: Use ASM_TRY() for the UD_VECTOR cases x86: Test emulator's handling of LEA with /reg Sean Christopherson (3): x86: Dedup 32-bit vs. 64-bit ASM_TRY() by stealing kernel's __ASM_SEL() x86: Add helper to detect if forced emulation prefix is available x86/pmu: Run the "emulation" test iff forced emulation is available lib/x86/desc.h | 52 ++++++++++++++----- x86/emulator.c | 127 +++++++++++++++++++++++----------------------- x86/pmu.c | 18 +++---- x86/unittests.cfg | 7 --- 4 files changed, 110 insertions(+), 94 deletions(-) base-commit: a106b30d39425b7afbaa3bbd4aab16fd26d333e7 -- 2.37.1.559.g78731f0fdb-goog