diff --git a/xen/arch/x86/msr.c b/xen/arch/x86/msr.c index 1550fd9ec9..2cd46b6c8a 100644 --- a/xen/arch/x86/msr.c +++ b/xen/arch/x86/msr.c @@ -318,6 +318,14 @@ int guest_rdmsr(struct vcpu *v, uint32_t msr, uint64_t *val) *val = 0; break; + case MSR_FAM10H_MMIO_CONF_BASE: + if ( !is_hardware_domain(d) || + !(cp->x86_vendor & (X86_VENDOR_AMD | X86_VENDOR_HYGON)) || + rdmsr_safe(msr, *val) ) + goto gp_fault; + + break; + case MSR_VIRT_SPEC_CTRL: if ( !cp->extd.virt_ssbd ) goto gp_fault;