diff options
author | Avi Kivity <avi@redhat.com> | 2009-06-25 17:33:52 +0300 |
---|---|---|
committer | Avi Kivity <avi@redhat.com> | 2009-06-25 17:33:52 +0300 |
commit | 3c4cf0a9bb1c2cd5639374ca4e0c686ba93931d3 (patch) | |
tree | 47f17c79e03bcd19804367ada9c0414fdea872be /cpu-exec.c | |
parent | Merge commit '406c8df3a96414c2c9602081727f0782369de699' into upstream-merge (diff) | |
parent | Handle init/sipi in a main cpu exec loop. (v2) (diff) | |
download | qemu-kvm-3c4cf0a9bb1c2cd5639374ca4e0c686ba93931d3.tar.gz qemu-kvm-3c4cf0a9bb1c2cd5639374ca4e0c686ba93931d3.tar.bz2 qemu-kvm-3c4cf0a9bb1c2cd5639374ca4e0c686ba93931d3.zip |
Merge commit 'b09ea7d55cfab5a75912bb56ed1fcd757604a759' into upstream-merge
* commit 'b09ea7d55cfab5a75912bb56ed1fcd757604a759':
Handle init/sipi in a main cpu exec loop. (v2)
Add pci_bus_reset() function.
virtio: add support for indirect ring entries
virtio: make vring_desc_*() take phys addrs
Add O_BINARY to open call in net_dump_init.
Conflicts:
hw/apic.c
Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'cpu-exec.c')
-rw-r--r-- | cpu-exec.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/cpu-exec.c b/cpu-exec.c index 71102958a..ffa92f1fb 100644 --- a/cpu-exec.c +++ b/cpu-exec.c @@ -387,7 +387,14 @@ int cpu_exec(CPUState *env1) } #endif #if defined(TARGET_I386) - if (env->hflags2 & HF2_GIF_MASK) { + if (interrupt_request & CPU_INTERRUPT_INIT) { + svm_check_intercept(SVM_EXIT_INIT); + do_cpu_init(env); + env->exception_index = EXCP_HALTED; + cpu_loop_exit(); + } else if (interrupt_request & CPU_INTERRUPT_SIPI) { + do_cpu_sipi(env); + } else if (env->hflags2 & HF2_GIF_MASK) { if ((interrupt_request & CPU_INTERRUPT_SMI) && !(env->hflags & HF_SMM_MASK)) { svm_check_intercept(SVM_EXIT_SMI); |