aboutsummaryrefslogtreecommitdiffstats
path: root/xen/include/public
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@suse.com>2013-02-22 11:48:57 +0100
committerJan Beulich <jbeulich@suse.com>2013-02-22 11:48:57 +0100
commit62d1a69a4e9f435999af22b7e31d7ee8910f5de0 (patch)
tree18ccac8cf815b8175cdaffeecd7c27509f86096c /xen/include/public
parenta37186e1c2b3e9462cce65d330a71c3afbde4b9b (diff)
downloadxen-62d1a69a4e9f435999af22b7e31d7ee8910f5de0.tar.gz
xen-62d1a69a4e9f435999af22b7e31d7ee8910f5de0.tar.bz2
xen-62d1a69a4e9f435999af22b7e31d7ee8910f5de0.zip
ACPI: support v5 (reduced HW) sleep interface
Note that this also fixes a broken input check in acpi_enter_sleep() (previously validating the sleep->pm1[ab]_cnt_val relationship based on acpi_sinfo.pm1b_cnt_val, which however gets set only subsequently). Also adjust a few minor issues with the pre-v5 handling in acpi_fadt_parse_sleep_info(). Signed-off-by: Jan Beulich <jbeulich@suse.com> Acked-by: Keir Fraser <keir@xen.org>
Diffstat (limited to 'xen/include/public')
-rw-r--r--xen/include/public/platform.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/xen/include/public/platform.h b/xen/include/public/platform.h
index 215e571bcb..d7d2a5bddf 100644
--- a/xen/include/public/platform.h
+++ b/xen/include/public/platform.h
@@ -290,10 +290,16 @@ DEFINE_XEN_GUEST_HANDLE(xenpf_firmware_info_t);
#define XENPF_enter_acpi_sleep 51
struct xenpf_enter_acpi_sleep {
/* IN variables */
+#if __XEN_INTERFACE_VERSION__ < 0x00040300
uint16_t pm1a_cnt_val; /* PM1a control value. */
uint16_t pm1b_cnt_val; /* PM1b control value. */
+#else
+ uint16_t val_a; /* PM1a control / sleep type A. */
+ uint16_t val_b; /* PM1b control / sleep type B. */
+#endif
uint32_t sleep_state; /* Which state to enter (Sn). */
- uint32_t flags; /* Must be zero. */
+#define XENPF_ACPI_SLEEP_EXTENDED 0x00000001
+ uint32_t flags; /* XENPF_ACPI_SLEEP_*. */
};
typedef struct xenpf_enter_acpi_sleep xenpf_enter_acpi_sleep_t;
DEFINE_XEN_GUEST_HANDLE(xenpf_enter_acpi_sleep_t);