diff options
author | Philippe Mathieu-Daudé <philmd@linaro.org> | 2023-12-19 17:57:46 +0000 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2023-12-19 17:57:46 +0000 |
commit | 5ed84f3bf714b20001f6c5ff370d0f070f7c89cf (patch) | |
tree | 8dfdaa5849e8f52f93bf4b97ab6de4cf3c89ef7f | |
parent | d344f5ba87dc8a91adef4ed80e6c82674ca93e2e (diff) | |
download | qemu-5ed84f3bf714b20001f6c5ff370d0f070f7c89cf.zip qemu-5ed84f3bf714b20001f6c5ff370d0f070f7c89cf.tar.gz qemu-5ed84f3bf714b20001f6c5ff370d0f070f7c89cf.tar.bz2 |
target/arm/kvm: Have kvm_arm_pmu_set_irq 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-10-philmd@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
-rw-r--r-- | hw/arm/virt.c | 2 | ||||
-rw-r--r-- | target/arm/kvm.c | 6 | ||||
-rw-r--r-- | target/arm/kvm_arm.h | 4 |
3 files changed, 6 insertions, 6 deletions
diff --git a/hw/arm/virt.c b/hw/arm/virt.c index 63f3c0b..040ca2d 100644 --- a/hw/arm/virt.c +++ b/hw/arm/virt.c @@ -1998,7 +1998,7 @@ static void virt_cpu_post_init(VirtMachineState *vms, MemoryRegion *sysmem) if (pmu) { assert(arm_feature(&ARM_CPU(cpu)->env, ARM_FEATURE_PMU)); if (kvm_irqchip_in_kernel()) { - kvm_arm_pmu_set_irq(cpu, VIRTUAL_PMU_IRQ); + kvm_arm_pmu_set_irq(ARM_CPU(cpu), VIRTUAL_PMU_IRQ); } kvm_arm_pmu_init(ARM_CPU(cpu)); } diff --git a/target/arm/kvm.c b/target/arm/kvm.c index 1e52077..45ee491 100644 --- a/target/arm/kvm.c +++ b/target/arm/kvm.c @@ -1725,7 +1725,7 @@ void kvm_arm_pmu_init(ARMCPU *cpu) } } -void kvm_arm_pmu_set_irq(CPUState *cs, int irq) +void kvm_arm_pmu_set_irq(ARMCPU *cpu, int irq) { struct kvm_device_attr attr = { .group = KVM_ARM_VCPU_PMU_V3_CTRL, @@ -1733,10 +1733,10 @@ void kvm_arm_pmu_set_irq(CPUState *cs, int irq) .attr = KVM_ARM_VCPU_PMU_V3_IRQ, }; - if (!ARM_CPU(cs)->has_pmu) { + if (!cpu->has_pmu) { 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 set irq for PMU"); abort(); } diff --git a/target/arm/kvm_arm.h b/target/arm/kvm_arm.h index 0a79545..cfaa0d9 100644 --- a/target/arm/kvm_arm.h +++ b/target/arm/kvm_arm.h @@ -201,7 +201,7 @@ int kvm_arm_get_max_vm_ipa_size(MachineState *ms, bool *fixed_ipa); 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(ARMCPU *cpu, int irq); /** * kvm_arm_pvtime_init: @@ -258,7 +258,7 @@ static inline int kvm_arm_vgic_probe(void) g_assert_not_reached(); } -static inline void kvm_arm_pmu_set_irq(CPUState *cs, int irq) +static inline void kvm_arm_pmu_set_irq(ARMCPU *cpu, int irq) { g_assert_not_reached(); } |