Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
philmd authored and pm215 committed Dec 19, 2023
1 parent d344f5b commit 5ed84f3
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 6 deletions.
2 changes: 1 addition & 1 deletion hw/arm/virt.c
Expand Up @@ -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));
}
Expand Down
6 changes: 3 additions & 3 deletions target/arm/kvm.c
Expand Up @@ -1725,18 +1725,18 @@ 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,
.addr = (intptr_t)&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();
}
Expand Down
4 changes: 2 additions & 2 deletions target/arm/kvm_arm.h
Expand Up @@ -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:
Expand Down Expand Up @@ -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();
}
Expand Down

0 comments on commit 5ed84f3

Please sign in to comment.