Comments
Patch
@@ -824,6 +824,12 @@ int kvm_cpu_exec(CPUState *env)
DPRINTF("kvm_cpu_exec()\n");
+ if (kvm_arch_process_irqchip_events(env)) {
+ env->exit_request = 0;
+ env->exception_index = EXCP_HLT;
+ return 0;
+ }
+
do {
#ifndef CONFIG_IOTHREAD
if (env->exit_request) {
@@ -833,11 +839,6 @@ int kvm_cpu_exec(CPUState *env)
}
#endif
- if (kvm_arch_process_irqchip_events(env)) {
- ret = 0;
- break;
- }
-
if (env->kvm_vcpu_dirty) {
kvm_arch_put_registers(env, KVM_PUT_RUNTIME_STATE);
env->kvm_vcpu_dirty = 0;