[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen-3.2-testing] x86 acpi: Correctly obtain information needed for successfully



# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1207916505 -3600
# Node ID 0a59c717ff13eb1f38757a706edc0df58bd22c98
# Parent  f39b20085a3d18ff4801fafe1f4b5d029709b971
x86 acpi: Correctly obtain information needed for successfully
powering off various systems (making use of the optional nature of
PM1b_{cnt,evt}_blk).

Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx>
---
 xen/arch/x86/acpi/boot.c |   19 +++++++++++--------
 1 files changed, 11 insertions(+), 8 deletions(-)

diff -r f39b20085a3d -r 0a59c717ff13 xen/arch/x86/acpi/boot.c
--- a/xen/arch/x86/acpi/boot.c  Fri Apr 11 09:18:41 2008 +0100
+++ b/xen/arch/x86/acpi/boot.c  Fri Apr 11 13:21:45 2008 +0100
@@ -392,12 +392,14 @@ acpi_fadt_parse_sleep_info(struct fadt_d
                /* Sanity check on FADT Rev. 2 */
                if ((fadt->xpm1a_cnt_blk.address_space_id !=
                     ACPI_ADR_SPACE_SYSTEM_IO) ||
-                   (fadt->xpm1b_cnt_blk.address_space_id !=
-                    ACPI_ADR_SPACE_SYSTEM_IO) ||
+                   (fadt->xpm1b_cnt_blk.address
+                    && fadt->xpm1b_cnt_blk.address_space_id !=
+                       ACPI_ADR_SPACE_SYSTEM_IO) ||
                    (fadt->xpm1a_evt_blk.address_space_id !=
                     ACPI_ADR_SPACE_SYSTEM_IO) ||
-                   (fadt->xpm1b_evt_blk.address_space_id !=
-                    ACPI_ADR_SPACE_SYSTEM_IO))
+                   (fadt->xpm1b_evt_blk.address
+                    && fadt->xpm1b_evt_blk.address_space_id !=
+                       ACPI_ADR_SPACE_SYSTEM_IO))
                        goto bad; 
 
                acpi_sinfo.pm1a_cnt = (uint16_t)fadt->xpm1a_cnt_blk.address;
@@ -414,6 +416,11 @@ acpi_fadt_parse_sleep_info(struct fadt_d
                acpi_sinfo.pm1a_evt = (uint16_t)fadt->V1_pm1a_evt_blk;
        if (!acpi_sinfo.pm1b_evt)
                acpi_sinfo.pm1b_evt = (uint16_t)fadt->V1_pm1b_evt_blk;
+
+       printk(KERN_INFO PREFIX
+              "ACPI SLEEP INFO: pm1x_cnt[%x,%x], pm1x_evt[%x,%x]\n",
+              acpi_sinfo.pm1a_cnt, acpi_sinfo.pm1b_cnt,
+              acpi_sinfo.pm1a_evt, acpi_sinfo.pm1b_cnt);
 
        /* Now FACS... */
        if (fadt->revision >= FADT2_REVISION_ID)
@@ -455,10 +462,6 @@ acpi_fadt_parse_sleep_info(struct fadt_d
                acpi_sinfo.vector_width = 64;
        }
 
-       printk(KERN_INFO PREFIX
-              "ACPI SLEEP INFO: pm1x_cnt[%x,%x], pm1x_evt[%x,%x]\n",
-              acpi_sinfo.pm1a_cnt, acpi_sinfo.pm1b_cnt,
-              acpi_sinfo.pm1a_evt, acpi_sinfo.pm1b_cnt);
        printk(KERN_INFO PREFIX
               "                 wakeup_vec[%"PRIx64"], vec_size[%x]\n",
               acpi_sinfo.wakeup_vector, acpi_sinfo.vector_width);

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.