提交 becfc390 编写于 作者: A aliguori

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: NAnthony Liguori <aliguori@us.ibm.com>



git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5669 c046a42c-6fe2-441c-8c8c-71466251a162
上级 57951c27
......@@ -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 */
......
......@@ -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;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册