From a825751f633482c0634ebb7c7b7ba33acadcfe7b Mon Sep 17 00:00:00 2001 From: Roger Pau Monne Date: Mon, 17 Aug 2020 17:57:54 +0200 Subject: [PATCH] x86/pv: allow reading APIC_BASE MSR MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Linux PV guests will attempt to read the APIC_BASE MSR, so just report a default value to make Linux happy. Signed-off-by: Roger Pau Monné Acked-by: Andrew Cooper --- xen/arch/x86/pv/emul-priv-op.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/xen/arch/x86/pv/emul-priv-op.c b/xen/arch/x86/pv/emul-priv-op.c index 971ba9e58c..bcc1188f6a 100644 --- a/xen/arch/x86/pv/emul-priv-op.c +++ b/xen/arch/x86/pv/emul-priv-op.c @@ -872,6 +872,13 @@ static int read_msr(unsigned int reg, uint64_t *val, switch ( reg ) { + case MSR_APIC_BASE: + /* Linux PV guests will attempt to read APIC_BASE. */ + *val = APIC_BASE_ENABLE | APIC_DEFAULT_PHYS_BASE; + if ( !curr->vcpu_id ) + *val |= APIC_BASE_BSP; + return X86EMUL_OKAY; + case MSR_FS_BASE: if ( is_pv_32bit_domain(currd) ) break; -- 2.30.2