AMD's "disable CPUID in usermode" feature is analogous to Intel's "CPUID faulting" feature, but it is advertised and activated differently. The AMD feature is advertised via CPUID.80000021H:EAX.CpuidUserDis[bit 17] and activated by setting HWCR.CpuidUserDis[bit 35].
Add virtualization support for the AMD feature. v2 -> v3: * Logic consolidation between emulator and CPUID VM-exit handler [Sean] * Define MSR_K7_HWCR_CPUID_USER_DIS * Keep u64 in the selftest (oops) * Fixe the selftest failre on Intel hosts v1: https://lore.kernel.org/kvm/[email protected]/ v2: https://lore.kernel.org/kvm/[email protected]/ Jim Mattson (3): KVM: x86: Remove supports_cpuid_fault() helper KVM: x86: Virtualize AMD CPUID faulting KVM: selftests: Update hwcr_msr_test for CPUID faulting bit Sean Christopherson (1): KVM: x86: Consolidate CPUID fault handling for emulator and interception logic arch/x86/include/asm/kvm_host.h | 1 - arch/x86/include/asm/msr-index.h | 1 + arch/x86/kvm/cpuid.c | 7 ++-- arch/x86/kvm/cpuid.h | 14 ++++--- arch/x86/kvm/emulate.c | 6 +-- arch/x86/kvm/kvm_emulate.h | 1 + arch/x86/kvm/x86.c | 38 +++++++++---------- .../selftests/kvm/include/x86/processor.h | 1 + .../testing/selftests/kvm/x86/hwcr_msr_test.c | 9 ++++- 9 files changed, 43 insertions(+), 35 deletions(-) base-commit: 85f871f6ba46f20d7fbc0b016b4db648c33220dd -- 2.54.0.631.ge1b05301d1-goog

