[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v4 2/6] target/arm/kvm: Do not silently remove PMU
From: |
Akihiko Odaki |
Subject: |
[PATCH v4 2/6] target/arm/kvm: Do not silently remove PMU |
Date: |
Sat, 20 Jul 2024 18:30:50 +0900 |
kvm_arch_init_vcpu() used to remove PMU when it is not available even
if the CPU model needs one. It is semantically incorrect, and may
continue execution on a misbehaving host that advertises a CPU model
while lacking its PMU. Keep the PMU when the CPU model needs one, and
let kvm_arm_vcpu_init() fail if the KVM implementation mismatches with
our expectation.
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
---
target/arm/kvm.c | 5 -----
1 file changed, 5 deletions(-)
diff --git a/target/arm/kvm.c b/target/arm/kvm.c
index b20a35052f41..849e2e21b304 100644
--- a/target/arm/kvm.c
+++ b/target/arm/kvm.c
@@ -1888,13 +1888,8 @@ int kvm_arch_init_vcpu(CPUState *cs)
if (!arm_feature(env, ARM_FEATURE_AARCH64)) {
cpu->kvm_init_features[0] |= 1 << KVM_ARM_VCPU_EL1_32BIT;
}
- if (!kvm_check_extension(cs->kvm_state, KVM_CAP_ARM_PMU_V3)) {
- cpu->has_pmu = false;
- }
if (cpu->has_pmu) {
cpu->kvm_init_features[0] |= 1 << KVM_ARM_VCPU_PMU_V3;
- } else {
- env->features &= ~(1ULL << ARM_FEATURE_PMU);
}
if (cpu_isar_feature(aa64_sve, cpu)) {
assert(kvm_arm_sve_supported());
--
2.45.2
- [PATCH v4 0/6] target/arm/kvm: Report PMU unavailability, Akihiko Odaki, 2024/07/20
- [PATCH v4 1/6] target/arm/kvm: Set PMU for host only when available, Akihiko Odaki, 2024/07/20
- [PATCH v4 2/6] target/arm/kvm: Do not silently remove PMU,
Akihiko Odaki <=
- [PATCH v4 3/6] target/arm: Always add pmu property for Armv7-A/R+, Akihiko Odaki, 2024/07/20
- [PATCH v4 4/6] hvf: arm: Raise an exception for sysreg by default, Akihiko Odaki, 2024/07/20
- [PATCH v4 5/6] hvf: arm: Properly disable PMU, Akihiko Odaki, 2024/07/20
- [PATCH v4 6/6] hvf: arm: Do not advance PC when raising an exception, Akihiko Odaki, 2024/07/20
- Re: [PATCH v4 0/6] target/arm/kvm: Report PMU unavailability, Peter Maydell, 2024/07/29