KVM: TDX: Enable guest access to MTRR MSRs
authorBinbin Wu <binbin.wu@linux.intel.com>
Thu, 27 Feb 2025 01:20:19 +0000 (09:20 +0800)
committerPaolo Bonzini <pbonzini@redhat.com>
Fri, 14 Mar 2025 18:20:58 +0000 (14:20 -0400)
Allow TDX guests to access MTRR MSRs as what KVM does for normal VMs, i.e.,
KVM emulates accesses to MTRR MSRs, but doesn't virtualize guest MTRR
memory types.

TDX module exposes MTRR feature to TDX guests unconditionally.  KVM needs
to support MTRR MSRs accesses for TDX guests to match the architectural
behavior.

Signed-off-by: Binbin Wu <binbin.wu@linux.intel.com>
Message-ID: <20250227012021.1778144-19-binbin.wu@linux.intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kvm/vmx/tdx.c

index 24881e2..db1ca8b 100644 (file)
@@ -2075,6 +2075,9 @@ bool tdx_has_emulated_msr(u32 index)
        case MSR_IA32_ARCH_CAPABILITIES:
        case MSR_IA32_POWER_CTL:
        case MSR_IA32_CR_PAT:
+       case MSR_MTRRcap:
+       case MTRRphysBase_MSR(0) ... MSR_MTRRfix4K_F8000:
+       case MSR_MTRRdefType:
        case MSR_IA32_TSC_DEADLINE:
        case MSR_IA32_MISC_ENABLE:
        case MSR_PLATFORM_INFO: