summaryrefslogtreecommitdiffstats
path: root/include/sysemu
diff options
context:
space:
mode:
authorLiu, Jinsong2013-09-25 18:38:29 +0200
committerStefano Stabellini2013-09-25 18:38:29 +0200
commit4bc78a877252d772b983810a7d2c0be00e9be70e (patch)
treed9bf685751130431e965f27240f9096703489bfe /include/sysemu
parentMerge remote-tracking branch 'stefanha/tracing' into staging (diff)
downloadqemu-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/sysemu')
-rw-r--r--include/sysemu/sysemu.h4
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);