From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konrad Rzeszutek Wilk Subject: [PATCH RFC] x86: Limit MSR_IA32_THERM_CONTROL and MSR_IA32_ENERGY_PERF_BIAS Date: Fri, 18 Dec 2015 15:46:46 -0500 Message-ID: <1450471606-19129-2-git-send-email-konrad.wilk@oracle.com> References: <1450471606-19129-1-git-send-email-konrad.wilk@oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1aA1vU-0002Ea-Em for xen-devel@lists.xenproject.org; Fri, 18 Dec 2015 20:46:56 +0000 In-Reply-To: <1450471606-19129-1-git-send-email-konrad.wilk@oracle.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: gang.wei@intel.com, JBeulich@suse.com, xen-devel@lists.xenproject.org, andrew.cooper3@citrix.com, ian.campbell@citrix.com, keir@xen.org, tim@xen.org Cc: Konrad Rzeszutek Wilk List-Id: xen-devel@lists.xenproject.org Those two allow the OS pinned dom0 to change the T-state (throttling) behind the Xen cpufreq code. The patch that introduced this: f78e2193b6409577314167ed9e077de7ac3e652f x86: Enable THERM_CONTROL_MSR write for dom0 even when cpufreq=xen Signed-off-by: Wei Gang Signed-off-by: Keir Fraser is very lacking on details. Anyhow this patch in effect reverts the above commit. It is also lacking in details :-) Signed-off-by: Konrad Rzeszutek Wilk --- xen/arch/x86/traps.c | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c index e105b95..78395ef 100644 --- a/xen/arch/x86/traps.c +++ b/xen/arch/x86/traps.c @@ -2614,23 +2614,15 @@ static int emulate_privileged_op(struct cpu_user_regs *regs) goto fail; break; case MSR_IA32_PERF_CTL: - if ( boot_cpu_data.x86_vendor != X86_VENDOR_INTEL ) - goto fail; - if ( !is_cpufreq_controller(currd) ) - break; - if ( wrmsr_safe(regs->ecx, msr_content) != 0 ) - goto fail; - break; case MSR_IA32_THERM_CONTROL: case MSR_IA32_ENERGY_PERF_BIAS: if ( boot_cpu_data.x86_vendor != X86_VENDOR_INTEL ) goto fail; - if ( !is_hardware_domain(currd) || !is_pinned_vcpu(v) ) + if ( !is_cpufreq_controller(currd) ) break; if ( wrmsr_safe(regs->ecx, msr_content) != 0 ) goto fail; break; - case MSR_AMD64_DR0_ADDRESS_MASK: if ( !boot_cpu_has(X86_FEATURE_DBEXT) || (msr_content >> 32) ) goto fail; -- 2.1.0