[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH] target/i386/cpu: disable PERFCORE for AMD when cpu.pmu is off
From: |
Liang Yan |
Subject: |
[PATCH] target/i386/cpu: disable PERFCORE for AMD when cpu.pmu is off |
Date: |
Fri, 28 Oct 2022 11:02:43 -0400 |
With cpu.pmu=off, perfctr_core could still be seen in an AMD guest cpuid.
By further digging, I found cpu.perfctr_core did the trick. However,
considering the 'enable_pmu' in KVM could work on both Intel and AMD,
we may add AMD PMU control under 'enabe_pmu' in QEMU too.
This change will overide the property 'perfctr_ctr' and change the AMD PMU
to off by default.
Signed-off-by: Liang Yan <lyan@digtalocean.com>
---
target/i386/cpu.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/target/i386/cpu.c b/target/i386/cpu.c
index 22b681ca37..edf5413c90 100644
--- a/target/i386/cpu.c
+++ b/target/i386/cpu.c
@@ -5706,6 +5706,10 @@ void cpu_x86_cpuid(CPUX86State *env, uint32_t index,
uint32_t count,
*ecx |= 1 << 1; /* CmpLegacy bit */
}
}
+
+ if (!cpu->enable_pmu) {
+ *ecx &= ~CPUID_EXT3_PERFCORE;
+ }
break;
case 0x80000002:
case 0x80000003:
--
2.34.1
- [PATCH] target/i386/cpu: disable PERFCORE for AMD when cpu.pmu is off,
Liang Yan <=