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/drivers/acpi | |
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/drivers/acpi')
-rw-r--r-- | xen/drivers/acpi/hwregs.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/xen/drivers/acpi/hwregs.c b/xen/drivers/acpi/hwregs.c index 67a3c51624..164fd61ab3 100644 --- a/xen/drivers/acpi/hwregs.c +++ b/xen/drivers/acpi/hwregs.c @@ -365,6 +365,14 @@ acpi_hw_register_read(u32 register_id, u32 * return_value) acpi_os_read_port(acpi_gbl_FADT.smi_command, &value1, 8); break; + case ACPI_REGISTER_SLEEP_STATUS: + + status = + acpi_hw_low_level_read(acpi_gbl_FADT.sleep_status.bit_width, + &value1, + &acpi_gbl_FADT.sleep_status); + break; + default: ACPI_DEBUG_PRINT((AE_INFO, "Unknown Register ID: %X", register_id)); status = AE_BAD_PARAMETER; @@ -525,6 +533,14 @@ acpi_status acpi_hw_register_write(u32 register_id, u32 value) acpi_os_write_port(acpi_gbl_FADT.smi_command, value, 8); break; + case ACPI_REGISTER_SLEEP_CONTROL: + + status = + acpi_hw_low_level_write(acpi_gbl_FADT.sleep_control.bit_width, + value, + &acpi_gbl_FADT.sleep_control); + break; + default: status = AE_BAD_PARAMETER; break; |