target/arm/kvm: Have kvm_arm_pmu_init take a ARMCPU argument

Unify the "kvm_arm.h" API: All functions related to ARM vCPUs
take a ARMCPU* argument. Use the CPU() QOM cast macro When
calling the generic vCPU API from "sysemu/kvm.h".

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Gavin Shan <gshan@redhat.com>
Message-id: 20231123183518.64569-9-philmd@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
Philippe Mathieu-Daudé 2023-12-19 17:57:46 +00:00 committed by Peter Maydell
parent 55503372c3
commit d344f5ba87
3 changed files with 6 additions and 6 deletions

View file

@ -2000,7 +2000,7 @@ static void virt_cpu_post_init(VirtMachineState *vms, MemoryRegion *sysmem)
if (kvm_irqchip_in_kernel()) { if (kvm_irqchip_in_kernel()) {
kvm_arm_pmu_set_irq(cpu, VIRTUAL_PMU_IRQ); kvm_arm_pmu_set_irq(cpu, VIRTUAL_PMU_IRQ);
} }
kvm_arm_pmu_init(cpu); kvm_arm_pmu_init(ARM_CPU(cpu));
} }
if (steal_time) { if (steal_time) {
kvm_arm_pvtime_init(ARM_CPU(cpu), pvtime_reg_base kvm_arm_pvtime_init(ARM_CPU(cpu), pvtime_reg_base

View file

@ -1709,17 +1709,17 @@ static bool kvm_arm_set_device_attr(ARMCPU *cpu, struct kvm_device_attr *attr,
return true; return true;
} }
void kvm_arm_pmu_init(CPUState *cs) void kvm_arm_pmu_init(ARMCPU *cpu)
{ {
struct kvm_device_attr attr = { struct kvm_device_attr attr = {
.group = KVM_ARM_VCPU_PMU_V3_CTRL, .group = KVM_ARM_VCPU_PMU_V3_CTRL,
.attr = KVM_ARM_VCPU_PMU_V3_INIT, .attr = KVM_ARM_VCPU_PMU_V3_INIT,
}; };
if (!ARM_CPU(cs)->has_pmu) { if (!cpu->has_pmu) {
return; return;
} }
if (!kvm_arm_set_device_attr(ARM_CPU(cs), &attr, "PMU")) { if (!kvm_arm_set_device_attr(cpu, &attr, "PMU")) {
error_report("failed to init PMU"); error_report("failed to init PMU");
abort(); abort();
} }

View file

@ -200,8 +200,8 @@ int kvm_arm_get_max_vm_ipa_size(MachineState *ms, bool *fixed_ipa);
int kvm_arm_vgic_probe(void); int kvm_arm_vgic_probe(void);
void kvm_arm_pmu_init(ARMCPU *cpu);
void kvm_arm_pmu_set_irq(CPUState *cs, int irq); void kvm_arm_pmu_set_irq(CPUState *cs, int irq);
void kvm_arm_pmu_init(CPUState *cs);
/** /**
* kvm_arm_pvtime_init: * kvm_arm_pvtime_init:
@ -263,7 +263,7 @@ static inline void kvm_arm_pmu_set_irq(CPUState *cs, int irq)
g_assert_not_reached(); g_assert_not_reached();
} }
static inline void kvm_arm_pmu_init(CPUState *cs) static inline void kvm_arm_pmu_init(ARMCPU *cpu)
{ {
g_assert_not_reached(); g_assert_not_reached();
} }