Fix unit tests on 32-bit SVM, and on VMX if/when 32-bit VMX starts rejecting MSR_GS_BASE accesses. Fix a variety of semi-related bugs in the MSR test, rework the test to make the code maintainable, and expand its test coverage. Sean Christopherson (14): x86/cstart: Don't use MSR_GS_BASE in 32-bit boot code x86: msr: Exclude GS/FS_BASE MSRs from 32-bit builds x86: msr: Advertise GenuineIntel as vendor to play nice with SYSENTER x86: msr: Restore original MSR value after writing arbitrary test value x86: Force the compiler to retrieve exception info from per-cpu area x86: msr: Replace spaces with tabs in all of msr.c x86: msr: Use ARRAY_SIZE() instead of open coded equivalent x86: msr: Use the #defined MSR indices in favor of open coding the values x86: msr: Drop the explicit expected value x86: msr: Add builder macros to define MSR entries x86: msr: Pass msr_info instead of doing a lookup at runtime x86: msr: Verify 64-bit only MSRs fault on 32-bit hosts x86: msr: Test that always-canonical MSRs #GP on non-canonical value x86: msr: Verify that EFER.SCE can be written on 32-bit vCPUs lib/x86/desc.c | 6 +- lib/x86/processor.h | 24 +++++++ x86/cstart.S | 28 ++++++-- x86/msr.c | 163 +++++++++++++++++++++----------------------- x86/unittests.cfg | 5 ++ x86/vmx_tests.c | 2 - 6 files changed, 131 insertions(+), 97 deletions(-) -- 2.31.1.498.g6c1eba8ee3d-goog