# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1221567512 -3600
# Node ID 88445b184dc666fc196cffab19eac75cd9c10b87
# Parent 3eb7a0cfffc20146c1676b001acbd86b449dc58f
x86: Simplify RDMSR pass-through emulation for certain
explicitly-named MSRs (but keep the names in the source code in case
we tighten up RDMSR emulation later).
Also add MSR_AMD_PATCHLEVEL MSR as explicitly required (for Solaris).
Signed-off-by: Keir Fraser <keir.fraser@xxxxxxxxxx>
---
xen/arch/x86/traps.c | 11 ++---------
1 files changed, 2 insertions(+), 9 deletions(-)
diff -r 3eb7a0cfffc2 -r 88445b184dc6 xen/arch/x86/traps.c
--- a/xen/arch/x86/traps.c Tue Sep 16 13:09:04 2008 +0100
+++ b/xen/arch/x86/traps.c Tue Sep 16 13:18:32 2008 +0100
@@ -2223,10 +2223,6 @@ static int emulate_privileged_op(struct
if ( rdmsr_safe(regs->ecx, regs->eax, regs->edx) != 0 )
goto fail;
break;
- case MSR_EFER:
- if ( rdmsr_safe(regs->ecx, regs->eax, regs->edx) )
- goto fail;
- break;
case MSR_IA32_MISC_ENABLE:
if ( rdmsr_safe(regs->ecx, regs->eax, regs->edx) )
goto fail;
@@ -2236,12 +2232,9 @@ static int emulate_privileged_op(struct
MSR_IA32_MISC_ENABLE_PEBS_UNAVAIL |
MSR_IA32_MISC_ENABLE_XTPR_DISABLE;
break;
+ case MSR_EFER:
case MSR_IA32_THERM_CONTROL:
- if ( boot_cpu_data.x86_vendor != X86_VENDOR_INTEL )
- goto fail;
- if ( rdmsr_safe(regs->ecx, regs->eax, regs->edx) )
- goto fail;
- break;
+ case MSR_AMD_PATCHLEVEL:
default:
if ( rdmsr_hypervisor_regs(regs->ecx, &l, &h) )
{
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|