diff options
author | Andreas Färber <afaerber@suse.de> | 2012-05-03 17:00:31 +0200 |
---|---|---|
committer | Andreas Färber <afaerber@suse.de> | 2012-10-31 04:12:23 +0100 |
commit | 839b5630cd4f49ce10618a7bf0b705b76f3a01ca (patch) | |
tree | b847185f01fb1fcd4e223c63d0c4f47aa435f0e3 /target-i386 | |
parent | 23d02d9b4bbe362a5b9cfc3ce1e5cc106eff5664 (diff) |
target-i386: Pass X86CPU to kvm_handle_halt()
Needed for moving interrupt_request and halted fields to CPUState.
Signed-off-by: Andreas Färber <afaerber@suse.de>
Diffstat (limited to 'target-i386')
-rw-r--r-- | target-i386/kvm.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/target-i386/kvm.c b/target-i386/kvm.c index 7da816f484..9ccbcb5be5 100644 --- a/target-i386/kvm.c +++ b/target-i386/kvm.c @@ -1786,8 +1786,10 @@ int kvm_arch_process_async_events(CPUX86State *env) return env->halted; } -static int kvm_handle_halt(CPUX86State *env) +static int kvm_handle_halt(X86CPU *cpu) { + CPUX86State *env = &cpu->env; + if (!((env->interrupt_request & CPU_INTERRUPT_HARD) && (env->eflags & IF_MASK)) && !(env->interrupt_request & CPU_INTERRUPT_NMI)) { @@ -2001,13 +2003,14 @@ static bool host_supports_vmx(void) int kvm_arch_handle_exit(CPUX86State *env, struct kvm_run *run) { + X86CPU *cpu = x86_env_get_cpu(env); uint64_t code; int ret; switch (run->exit_reason) { case KVM_EXIT_HLT: DPRINTF("handle_hlt\n"); - ret = kvm_handle_halt(env); + ret = kvm_handle_halt(cpu); break; case KVM_EXIT_SET_TPR: ret = 0; |