From: Keir Fraser Date: Thu, 11 Sep 2008 15:51:13 +0000 (+0100) Subject: ACPI: Grant access of MSR_IA32_THERM_CONTROL MSR to dom0 X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~14111^2~1 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=ae79b4c5e5213f6ecaef4312a2b14eb193835ae6;p=xen.git 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 --- diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c index f7fdb4d1f2..f40a1ed3f7 100644 --- a/xen/arch/x86/traps.c +++ b/xen/arch/x86/traps.c @@ -2154,6 +2154,12 @@ static int emulate_privileged_op(struct cpu_user_regs *regs) 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; @@ -2230,6 +2236,12 @@ static int emulate_privileged_op(struct cpu_user_regs *regs) 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) ) {