mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-06 09:13:55 -06:00
target/arm/kvm: Have kvm_arm_vcpu_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-11-philmd@linaro.org Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
parent
5ed84f3bf7
commit
bbb22d5865
1 changed files with 5 additions and 6 deletions
|
@ -62,7 +62,7 @@ static ARMHostCPUFeatures arm_host_cpu_features;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* kvm_arm_vcpu_init:
|
* kvm_arm_vcpu_init:
|
||||||
* @cs: CPUState
|
* @cpu: ARMCPU
|
||||||
*
|
*
|
||||||
* Initialize (or reinitialize) the VCPU by invoking the
|
* Initialize (or reinitialize) the VCPU by invoking the
|
||||||
* KVM_ARM_VCPU_INIT ioctl with the CPU type and feature
|
* KVM_ARM_VCPU_INIT ioctl with the CPU type and feature
|
||||||
|
@ -70,15 +70,14 @@ static ARMHostCPUFeatures arm_host_cpu_features;
|
||||||
*
|
*
|
||||||
* Returns: 0 if success else < 0 error code
|
* Returns: 0 if success else < 0 error code
|
||||||
*/
|
*/
|
||||||
static int kvm_arm_vcpu_init(CPUState *cs)
|
static int kvm_arm_vcpu_init(ARMCPU *cpu)
|
||||||
{
|
{
|
||||||
ARMCPU *cpu = ARM_CPU(cs);
|
|
||||||
struct kvm_vcpu_init init;
|
struct kvm_vcpu_init init;
|
||||||
|
|
||||||
init.target = cpu->kvm_target;
|
init.target = cpu->kvm_target;
|
||||||
memcpy(init.features, cpu->kvm_init_features, sizeof(init.features));
|
memcpy(init.features, cpu->kvm_init_features, sizeof(init.features));
|
||||||
|
|
||||||
return kvm_vcpu_ioctl(cs, KVM_ARM_VCPU_INIT, &init);
|
return kvm_vcpu_ioctl(CPU(cpu), KVM_ARM_VCPU_INIT, &init);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -982,7 +981,7 @@ void kvm_arm_reset_vcpu(ARMCPU *cpu)
|
||||||
/* Re-init VCPU so that all registers are set to
|
/* Re-init VCPU so that all registers are set to
|
||||||
* their respective reset values.
|
* their respective reset values.
|
||||||
*/
|
*/
|
||||||
ret = kvm_arm_vcpu_init(CPU(cpu));
|
ret = kvm_arm_vcpu_init(cpu);
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
fprintf(stderr, "kvm_arm_vcpu_init failed: %s\n", strerror(-ret));
|
fprintf(stderr, "kvm_arm_vcpu_init failed: %s\n", strerror(-ret));
|
||||||
abort();
|
abort();
|
||||||
|
@ -1912,7 +1911,7 @@ int kvm_arch_init_vcpu(CPUState *cs)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Do KVM_ARM_VCPU_INIT ioctl */
|
/* Do KVM_ARM_VCPU_INIT ioctl */
|
||||||
ret = kvm_arm_vcpu_init(cs);
|
ret = kvm_arm_vcpu_init(cpu);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue