2008-10-26 01:33:59 +02:00
|
|
|
# HG changeset patch
|
|
|
|
# User Keir Fraser <keir.fraser@citrix.com>
|
|
|
|
# Date 1221148273 -3600
|
|
|
|
# Node ID a5cc38391afb16af6bdae32c5a5f4f9a3a236987
|
|
|
|
# Parent d8ce41b79ecc74c00797d73caa56dbdaf02bbd66
|
|
|
|
ACPI: Grant access of MSR_IA32_THERM_CONTROL MSR to dom0
|
|
|
|
|
|
|
|
The purpose is to support dom0 throttling control via MSR.
|
|
|
|
|
|
|
|
Signed-off-by: Wei Gang <gang.wei@intel.com>
|
|
|
|
|
|
|
|
Index: xen-3.3.1-testing/xen/arch/x86/traps.c
|
|
|
|
===================================================================
|
|
|
|
--- xen-3.3.1-testing.orig/xen/arch/x86/traps.c
|
|
|
|
+++ xen-3.3.1-testing/xen/arch/x86/traps.c
|
2008-12-05 15:30:41 +01:00
|
|
|
@@ -2160,6 +2160,12 @@ static int emulate_privileged_op(struct
|
2008-10-26 01:33:59 +02:00
|
|
|
if ( wrmsr_safe(regs->ecx, eax, edx) != 0 )
|
|
|
|
goto fail;
|
|
|
|
break;
|
|
|
|
+ case MSR_IA32_THERM_CONTROL:
|
|
|
|
+ if ( boot_cpu_data.x86_vendor != X86_VENDOR_INTEL )
|
|
|
|
+ goto fail;
|
|
|
|
+ if ( wrmsr_safe(regs->ecx, eax, edx) != 0 )
|
|
|
|
+ goto fail;
|
|
|
|
+ break;
|
|
|
|
default:
|
|
|
|
if ( wrmsr_hypervisor_regs(regs->ecx, eax, edx) )
|
|
|
|
break;
|
2008-12-05 15:30:41 +01:00
|
|
|
@@ -2236,6 +2242,12 @@ static int emulate_privileged_op(struct
|
2008-10-26 01:33:59 +02:00
|
|
|
MSR_IA32_MISC_ENABLE_PEBS_UNAVAIL |
|
|
|
|
MSR_IA32_MISC_ENABLE_XTPR_DISABLE;
|
|
|
|
break;
|
|
|
|
+ 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;
|
|
|
|
default:
|
|
|
|
if ( rdmsr_hypervisor_regs(regs->ecx, &l, &h) )
|
|
|
|
{
|