summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--qemu-kvm-ia64.c2
-rw-r--r--qemu-kvm-x86.c2
-rw-r--r--qemu-kvm.c13
-rw-r--r--qemu-kvm.h2
4 files changed, 6 insertions, 13 deletions
diff --git a/qemu-kvm-ia64.c b/qemu-kvm-ia64.c
index d26c2a9e6..a11fde86d 100644
--- a/qemu-kvm-ia64.c
+++ b/qemu-kvm-ia64.c
@@ -30,7 +30,7 @@ int kvm_arch_init_vcpu(CPUState *cenv)
return 0;
}
-int kvm_arch_halt(void *opaque, kvm_vcpu_context_t vcpu)
+int kvm_arch_halt(kvm_vcpu_context_t vcpu)
{
CPUState *env = cpu_single_env;
env->hflags |= HF_HALTED_MASK;
diff --git a/qemu-kvm-x86.c b/qemu-kvm-x86.c
index e8ec59d1c..7546fcb0f 100644
--- a/qemu-kvm-x86.c
+++ b/qemu-kvm-x86.c
@@ -1357,7 +1357,7 @@ int kvm_arch_init_vcpu(CPUState *cenv)
return 0;
}
-int kvm_arch_halt(void *opaque, kvm_vcpu_context_t vcpu)
+int kvm_arch_halt(kvm_vcpu_context_t vcpu)
{
CPUState *env = cpu_single_env;
diff --git a/qemu-kvm.c b/qemu-kvm.c
index a52b0745f..35a3be4dd 100644
--- a/qemu-kvm.c
+++ b/qemu-kvm.c
@@ -97,11 +97,10 @@ int kvm_abi = EXPECTED_KVM_API_VERSION;
int kvm_page_size;
#ifdef KVM_CAP_SET_GUEST_DEBUG
-static int kvm_debug(void *opaque, void *data,
+static int kvm_debug(CPUState *env,
struct kvm_debug_exit_arch *arch_info)
{
int handle = kvm_arch_debug(arch_info);
- CPUState *env = data;
if (handle) {
kvm_debug_cpu_requested = env;
@@ -816,9 +815,8 @@ int handle_debug(kvm_vcpu_context_t vcpu, void *env)
{
#ifdef KVM_CAP_SET_GUEST_DEBUG
struct kvm_run *run = vcpu->run;
- kvm_context_t kvm = vcpu->kvm;
- return kvm_debug(kvm->opaque, env, &run->debug.arch);
+ return kvm_debug(env, &run->debug.arch);
#else
return 0;
#endif
@@ -895,11 +893,6 @@ int handle_io_window(kvm_context_t kvm)
return 1;
}
-int handle_halt(kvm_vcpu_context_t vcpu)
-{
- return kvm_arch_halt(vcpu->kvm->opaque, vcpu);
-}
-
int handle_shutdown(kvm_context_t kvm, CPUState *env)
{
/* stop the current vcpu from going back to guest mode */
@@ -1019,7 +1012,7 @@ int kvm_run(kvm_vcpu_context_t vcpu, void *env)
r = handle_mmio(vcpu);
break;
case KVM_EXIT_HLT:
- r = handle_halt(vcpu);
+ r = kvm_arch_halt(vcpu);
break;
case KVM_EXIT_IRQ_WINDOW_OPEN:
break;
diff --git a/qemu-kvm.h b/qemu-kvm.h
index 220c705a1..d3ef2342f 100644
--- a/qemu-kvm.h
+++ b/qemu-kvm.h
@@ -1109,7 +1109,7 @@ struct ioperm_data {
};
void qemu_kvm_cpu_stop(CPUState *env);
-int kvm_arch_halt(void *opaque, kvm_vcpu_context_t vcpu);
+int kvm_arch_halt(kvm_vcpu_context_t vcpu);
int handle_tpr_access(void *opaque, kvm_vcpu_context_t vcpu, uint64_t rip,
int is_write);
int kvm_has_sync_mmu(void);