diff --git a/cpus.c b/cpus.c index bbb8961708ba8acea9090caf034736e804421a3d..a4390c3c3f7208a403a5391de92329b4594974c1 100644 --- a/cpus.c +++ b/cpus.c @@ -742,7 +742,7 @@ static void *qemu_kvm_cpu_thread_fn(void *arg) cpu->thread_id = qemu_get_thread_id(); cpu_single_env = env; - r = kvm_init_vcpu(env); + r = kvm_init_vcpu(cpu); if (r < 0) { fprintf(stderr, "kvm_init_vcpu failed: %s\n", strerror(-r)); exit(1); diff --git a/include/sysemu/kvm.h b/include/sysemu/kvm.h index 3db19ffdac625eff310514f145fa7ed854490a3e..2fe8f8a44b412b62a49e6abb73813062fc9c03cd 100644 --- a/include/sysemu/kvm.h +++ b/include/sysemu/kvm.h @@ -17,6 +17,7 @@ #include #include "config-host.h" #include "qemu/queue.h" +#include "qom/cpu.h" #ifdef CONFIG_KVM #include @@ -120,9 +121,9 @@ int kvm_has_many_ioeventfds(void); int kvm_has_gsi_routing(void); int kvm_has_intx_set_mask(void); -#ifdef NEED_CPU_H -int kvm_init_vcpu(CPUArchState *env); +int kvm_init_vcpu(CPUState *cpu); +#ifdef NEED_CPU_H int kvm_cpu_exec(CPUArchState *env); #if !defined(CONFIG_USER_ONLY) diff --git a/kvm-all.c b/kvm-all.c index 4ba77dea527ac851ebbb117d03152b27b59d7137..6e2164bec24008033256c772b3e9f8e47b116d7a 100644 --- a/kvm-all.c +++ b/kvm-all.c @@ -214,9 +214,8 @@ static void kvm_reset_vcpu(void *opaque) kvm_arch_reset_vcpu(cpu); } -int kvm_init_vcpu(CPUArchState *env) +int kvm_init_vcpu(CPUState *cpu) { - CPUState *cpu = ENV_GET_CPU(env); KVMState *s = kvm_state; long mmap_size; int ret; diff --git a/kvm-stub.c b/kvm-stub.c index 81f8967180579b6d40ddbc758fadaff1bb27c741..47f8dca7d51d2cce941c07f4dc0099005f09e51b 100644 --- a/kvm-stub.c +++ b/kvm-stub.c @@ -24,7 +24,7 @@ bool kvm_irqfds_allowed; bool kvm_msi_via_irqfd_allowed; bool kvm_gsi_routing_allowed; -int kvm_init_vcpu(CPUArchState *env) +int kvm_init_vcpu(CPUState *cpu) { return -ENOSYS; }