Message ID | 20200817155757.3372-5-roger.pau@citrix.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | x86: switch default MSR behavior | expand |
On 17/08/2020 16:57, Roger Pau Monne wrote: > The value in the PAT MSR is part of the ABI between Xen and PV guests, > and there's no reason to not allow a PV guest to read it. This is faster than using RDMSR to find the constant. > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com> Acked-by: Andrew Cooper <andrew.cooper3@citrix.com> (Can fix up on commit)
On Tue, Aug 18, 2020 at 02:50:24PM +0100, Andrew Cooper wrote: > On 17/08/2020 16:57, Roger Pau Monne wrote: > > The value in the PAT MSR is part of the ABI between Xen and PV guests, > > and there's no reason to not allow a PV guest to read it. > > This is faster than using RDMSR to find the constant. > > > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com> > > Acked-by: Andrew Cooper <andrew.cooper3@citrix.com> > > (Can fix up on commit) Sure, I didn't write it down because I assumed it would be obvious, but worth writing down. Thanks, Roger.
diff --git a/xen/arch/x86/pv/emul-priv-op.c b/xen/arch/x86/pv/emul-priv-op.c index fd3cbfaebc..ff87c7d769 100644 --- a/xen/arch/x86/pv/emul-priv-op.c +++ b/xen/arch/x86/pv/emul-priv-op.c @@ -900,6 +900,10 @@ static int read_msr(unsigned int reg, uint64_t *val, *val = guest_efer(currd); return X86EMUL_OKAY; + case MSR_IA32_CR_PAT: + *val = XEN_MSR_PAT; + return X86EMUL_OKAY; + case MSR_K7_FID_VID_CTL: case MSR_K7_FID_VID_STATUS: case MSR_K8_PSTATE_LIMIT:
The value in the PAT MSR is part of the ABI between Xen and PV guests, and there's no reason to not allow a PV guest to read it. Signed-off-by: Roger Pau Monné <roger.pau@citrix.com> --- xen/arch/x86/pv/emul-priv-op.c | 4 ++++ 1 file changed, 4 insertions(+)