summaryrefslogtreecommitdiff
path: root/xen-all.c
diff options
context:
space:
mode:
authorAnthony PERARD <anthony.perard@citrix.com>2010-10-05 16:40:22 +0100
committerAlexander Graf <agraf@suse.de>2011-05-08 10:10:02 +0200
commitc962247883ffd957dd7f3bccb519803e2775ced2 (patch)
tree4261ed938ca5749aca0a23917692dc10322a105c /xen-all.c
parent29321335e0407f5f0c3aa415d98566279c232ad8 (diff)
downloadqemu-c962247883ffd957dd7f3bccb519803e2775ced2.tar.gz
qemu-c962247883ffd957dd7f3bccb519803e2775ced2.tar.bz2
qemu-c962247883ffd957dd7f3bccb519803e2775ced2.zip
xen: Add Xen hypercall for sleep state in the cmos_s3 callback.
Signed-off-by: Anthony PERARD <anthony.perard@citrix.com> Signed-off-by: Alexander Graf <agraf@suse.de>
Diffstat (limited to 'xen-all.c')
-rw-r--r--xen-all.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/xen-all.c b/xen-all.c
index 19c2fe1e0f..0eac202d4e 100644
--- a/xen-all.c
+++ b/xen-all.c
@@ -9,6 +9,7 @@
#include <sys/mman.h>
#include "hw/pci.h"
+#include "hw/pc.h"
#include "hw/xen_common.h"
#include "hw/xen_backend.h"
@@ -99,6 +100,14 @@ void xen_piix_pci_write_config_client(uint32_t address, uint32_t val, int len)
}
}
+void xen_cmos_set_s3_resume(void *opaque, int irq, int level)
+{
+ pc_cmos_set_s3_resume(opaque, irq, level);
+ if (level) {
+ xc_set_hvm_param(xen_xc, xen_domid, HVM_PARAM_ACPI_S_STATE, 3);
+ }
+}
+
/* Xen Interrupt Controller */
static void xen_set_irq(void *opaque, int irq, int level)