diff options
author | Liu, Jinsong | 2013-09-25 18:38:29 +0200 |
---|---|---|
committer | Stefano Stabellini | 2013-09-25 18:38:29 +0200 |
commit | 4bc78a877252d772b983810a7d2c0be00e9be70e (patch) | |
tree | d9bf685751130431e965f27240f9096703489bfe /include | |
parent | Merge remote-tracking branch 'stefanha/tracing' into staging (diff) | |
download | qemu-4bc78a877252d772b983810a7d2c0be00e9be70e.tar.gz qemu-4bc78a877252d772b983810a7d2c0be00e9be70e.tar.xz qemu-4bc78a877252d772b983810a7d2c0be00e9be70e.zip |
qemu: Adjust qemu wakeup
Currently Xen hvm s3 has a bug coming from the difference between
qemu-traditioanl and qemu-xen. For qemu-traditional, the way to
resume from hvm s3 is via 'xl trigger' command. However, for
qemu-xen, the way to resume from hvm s3 inherited from standard
qemu, i.e. via QMP, and it doesn't work under Xen.
The root cause is, for qemu-xen, 'xl trigger' command didn't reset
devices, while QMP didn't unpause hvm domain though they did qemu
system reset.
We have two qemu patches and one xl patch to fix Xen hvm s3 bug.
This patch is the qemu patch 1. It adjusts qemu wakeup so that
Xen s3 resume logic (which will be implemented at qemu patch 2)
will be notified after qemu system reset.
Signed-off-by: Liu Jinsong <jinsong.liu@intel.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/sysemu/sysemu.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/include/sysemu/sysemu.h b/include/sysemu/sysemu.h index e2c6f58d9e..ffc53aa848 100644 --- a/include/sysemu/sysemu.h +++ b/include/sysemu/sysemu.h @@ -41,9 +41,11 @@ int vm_stop(RunState state); int vm_stop_force_state(RunState state); typedef enum WakeupReason { - QEMU_WAKEUP_REASON_OTHER = 0, + /* Always keep QEMU_WAKEUP_REASON_NONE = 0 */ + QEMU_WAKEUP_REASON_NONE = 0, QEMU_WAKEUP_REASON_RTC, QEMU_WAKEUP_REASON_PMTIMER, + QEMU_WAKEUP_REASON_OTHER, } WakeupReason; void qemu_system_reset_request(void); |