KVM: simplify kvm_cpu_exec hook

We don't need to use cpu_loop_exit() because we never use the 
condition codes so everything can be folded into a single case.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>



git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5669 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
aliguori 2008-11-10 15:55:14 +00:00
parent 57951c2742
commit becfc39041
2 changed files with 7 additions and 10 deletions

View File

@ -369,16 +369,8 @@ int cpu_exec(CPUState *env1)
#endif
if (kvm_enabled()) {
int ret;
ret = kvm_cpu_exec(env);
if ((env->interrupt_request & CPU_INTERRUPT_EXIT)) {
env->interrupt_request &= ~CPU_INTERRUPT_EXIT;
env->exception_index = EXCP_INTERRUPT;
cpu_loop_exit();
} else if (env->halted) {
cpu_loop_exit();
} else
longjmp(env->jmp_env, 1);
kvm_cpu_exec(env);
longjmp(env->jmp_env, 1);
}
next_tb = 0; /* force lookup of first TB */

View File

@ -298,6 +298,11 @@ int kvm_cpu_exec(CPUState *env)
}
} while (ret > 0);
if ((env->interrupt_request & CPU_INTERRUPT_EXIT)) {
env->interrupt_request &= ~CPU_INTERRUPT_EXIT;
env->exception_index = EXCP_INTERRUPT;
}
return ret;
}