mirror of https://github.com/xemu-project/xemu.git
target/arm/kvm: Have kvm_arm_pvtime_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-8-philmd@linaro.org Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
parent
e77034f74b
commit
55503372c3
|
@ -2003,8 +2003,9 @@ static void virt_cpu_post_init(VirtMachineState *vms, MemoryRegion *sysmem)
|
|||
kvm_arm_pmu_init(cpu);
|
||||
}
|
||||
if (steal_time) {
|
||||
kvm_arm_pvtime_init(cpu, pvtime_reg_base +
|
||||
cpu->cpu_index * PVTIME_SIZE_PER_CPU);
|
||||
kvm_arm_pvtime_init(ARM_CPU(cpu), pvtime_reg_base
|
||||
+ cpu->cpu_index
|
||||
* PVTIME_SIZE_PER_CPU);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
|
|
@ -1742,7 +1742,7 @@ void kvm_arm_pmu_set_irq(CPUState *cs, int irq)
|
|||
}
|
||||
}
|
||||
|
||||
void kvm_arm_pvtime_init(CPUState *cs, uint64_t ipa)
|
||||
void kvm_arm_pvtime_init(ARMCPU *cpu, uint64_t ipa)
|
||||
{
|
||||
struct kvm_device_attr attr = {
|
||||
.group = KVM_ARM_VCPU_PVTIME_CTRL,
|
||||
|
@ -1750,10 +1750,10 @@ void kvm_arm_pvtime_init(CPUState *cs, uint64_t ipa)
|
|||
.addr = (uint64_t)&ipa,
|
||||
};
|
||||
|
||||
if (ARM_CPU(cs)->kvm_steal_time == ON_OFF_AUTO_OFF) {
|
||||
if (cpu->kvm_steal_time == ON_OFF_AUTO_OFF) {
|
||||
return;
|
||||
}
|
||||
if (!kvm_arm_set_device_attr(ARM_CPU(cs), &attr, "PVTIME IPA")) {
|
||||
if (!kvm_arm_set_device_attr(cpu, &attr, "PVTIME IPA")) {
|
||||
error_report("failed to init PVTIME IPA");
|
||||
abort();
|
||||
}
|
||||
|
|
|
@ -205,12 +205,12 @@ void kvm_arm_pmu_init(CPUState *cs);
|
|||
|
||||
/**
|
||||
* kvm_arm_pvtime_init:
|
||||
* @cs: CPUState
|
||||
* @cpu: ARMCPU
|
||||
* @ipa: Per-vcpu guest physical base address of the pvtime structures
|
||||
*
|
||||
* Initializes PVTIME for the VCPU, setting the PVTIME IPA to @ipa.
|
||||
*/
|
||||
void kvm_arm_pvtime_init(CPUState *cs, uint64_t ipa);
|
||||
void kvm_arm_pvtime_init(ARMCPU *cpu, uint64_t ipa);
|
||||
|
||||
int kvm_arm_set_irq(int cpu, int irqtype, int irq, int level);
|
||||
|
||||
|
@ -268,7 +268,7 @@ static inline void kvm_arm_pmu_init(CPUState *cs)
|
|||
g_assert_not_reached();
|
||||
}
|
||||
|
||||
static inline void kvm_arm_pvtime_init(CPUState *cs, uint64_t ipa)
|
||||
static inline void kvm_arm_pvtime_init(ARMCPU *cpu, uint64_t ipa)
|
||||
{
|
||||
g_assert_not_reached();
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue