diff options
author | Jan Beulich <jbeulich@suse.com> | 2013-02-22 11:48:57 +0100 |
---|---|---|
committer | Jan Beulich <jbeulich@suse.com> | 2013-02-22 11:48:57 +0100 |
commit | 62d1a69a4e9f435999af22b7e31d7ee8910f5de0 (patch) | |
tree | 18ccac8cf815b8175cdaffeecd7c27509f86096c /xen/include/public | |
parent | a37186e1c2b3e9462cce65d330a71c3afbde4b9b (diff) | |
download | xen-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.h | 8 |
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); |