From: Roger Pau Monne Date: Mon, 17 Aug 2020 15:57:54 +0000 (+0200) Subject: x86/pv: allow reading APIC_BASE MSR X-Git-Tag: archive/raspbian/4.16.0+51-g0941d6cb-1+rpi1~2^2~42^2~1757 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=a825751f633482c0634ebb7c7b7ba33acadcfe7b;p=xen.git x86/pv: allow reading APIC_BASE MSR 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 --- 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;