On 2/21/21 10:24 AM, Claudio Fontana wrote: > From: Claudio Fontana <cfont...@centriq4.arch.suse.de> > > KVM uses its own PMU initialization. > > Signed-off-by: Claudio Fontana <cfont...@suse.de> > --- > target/arm/cpu.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/target/arm/cpu.c b/target/arm/cpu.c > index a8321fecf8..d334987cad 100644 > --- a/target/arm/cpu.c > +++ b/target/arm/cpu.c > @@ -1648,6 +1648,7 @@ static void arm_cpu_realizefn(DeviceState *dev, Error > **errp) > unset_feature(env, ARM_FEATURE_PMU); > } > if (arm_feature(env, ARM_FEATURE_PMU)) { > +#ifdef CONFIG_TCG
Shouldn't this be #if !defined(CONFIG_KVM) ? > pmu_init(cpu); > > if (!kvm_enabled()) { And remove this ^ > @@ -1659,6 +1660,7 @@ static void arm_cpu_realizefn(DeviceState *dev, Error > **errp) > cpu->pmu_timer = timer_new_ns(QEMU_CLOCK_VIRTUAL, arm_pmu_timer_cb, > cpu); > #endif > +#endif /* CONFIG_TCG */ > } else { > cpu->isar.id_aa64dfr0 = > FIELD_DP64(cpu->isar.id_aa64dfr0, ID_AA64DFR0, PMUVER, 0); >