mirror of https://github.com/xemu-project/xemu.git
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>
This commit is contained in:
parent
d344f5ba87
commit
5ed84f3bf7
|
@ -1998,7 +1998,7 @@ static void virt_cpu_post_init(VirtMachineState *vms, MemoryRegion *sysmem)
|
||||||
if (pmu) {
|
if (pmu) {
|
||||||
assert(arm_feature(&ARM_CPU(cpu)->env, ARM_FEATURE_PMU));
|
assert(arm_feature(&ARM_CPU(cpu)->env, ARM_FEATURE_PMU));
|
||||||
if (kvm_irqchip_in_kernel()) {
|
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));
|
kvm_arm_pmu_init(ARM_CPU(cpu));
|
||||||
}
|
}
|
||||||
|
|
|
@ -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 = {
|
struct kvm_device_attr attr = {
|
||||||
.group = KVM_ARM_VCPU_PMU_V3_CTRL,
|
.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,
|
.attr = KVM_ARM_VCPU_PMU_V3_IRQ,
|
||||||
};
|
};
|
||||||
|
|
||||||
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 set irq for PMU");
|
error_report("failed to set irq for PMU");
|
||||||
abort();
|
abort();
|
||||||
}
|
}
|
||||||
|
|
|
@ -201,7 +201,7 @@ 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_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:
|
* kvm_arm_pvtime_init:
|
||||||
|
@ -258,7 +258,7 @@ static inline int kvm_arm_vgic_probe(void)
|
||||||
g_assert_not_reached();
|
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();
|
g_assert_not_reached();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue