From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752800AbbLCS1K (ORCPT ); Thu, 3 Dec 2015 13:27:10 -0500 Received: from mail.skyhub.de ([78.46.96.112]:42658 "EHLO mail.skyhub.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752075AbbLCS1I (ORCPT ); Thu, 3 Dec 2015 13:27:08 -0500 From: Borislav Petkov To: LKML Cc: Arnaldo Carvalho de Melo , "H. Peter Anvin" , Ingo Molnar , Jacob Pan , Peter Zijlstra , "Rafael J. Wysocki" , Thomas Gleixner Subject: [PATCH] x86/rapl: Do not load in a guest Date: Thu, 3 Dec 2015 19:27:02 +0100 Message-Id: <1449167222-17562-1-git-send-email-bp@alien8.de> X-Mailer: git-send-email 2.3.5 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Borislav Petkov qemu/kvm doesn't support RAPL and RAPL doesn't have a CPUID feature bit so check whether we're in a guest instead. Reported-by: Hannes Reinecke Signed-off-by: Borislav Petkov Cc: Arnaldo Carvalho de Melo Cc: "H. Peter Anvin" Cc: Ingo Molnar Cc: Jacob Pan Cc: Peter Zijlstra Cc: "Rafael J. Wysocki" Cc: Thomas Gleixner --- arch/x86/kernel/cpu/perf_event_intel_rapl.c | 3 +++ drivers/powercap/intel_rapl.c | 3 +++ 2 files changed, 6 insertions(+) diff --git a/arch/x86/kernel/cpu/perf_event_intel_rapl.c b/arch/x86/kernel/cpu/perf_event_intel_rapl.c index ed446bdcbf31..bc60bc1118b4 100644 --- a/arch/x86/kernel/cpu/perf_event_intel_rapl.c +++ b/arch/x86/kernel/cpu/perf_event_intel_rapl.c @@ -711,6 +711,9 @@ static int __init rapl_pmu_init(void) struct x86_pmu_quirk *quirk; int i; + if (boot_cpu_has(X86_FEATURE_HYPERVISOR)) + return 0; + /* * check for Intel processor family 6 */ diff --git a/drivers/powercap/intel_rapl.c b/drivers/powercap/intel_rapl.c index cc97f0869791..297a9b5074e2 100644 --- a/drivers/powercap/intel_rapl.c +++ b/drivers/powercap/intel_rapl.c @@ -1511,6 +1511,9 @@ static int __init rapl_init(void) int ret = 0; const struct x86_cpu_id *id; + if (boot_cpu_has(X86_FEATURE_HYPERVISOR)) + return -ENODEV; + id = x86_match_cpu(rapl_ids); if (!id) { pr_err("driver does not support CPU family %d model %d\n", -- 2.3.5