WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-changelog

[Xen-changelog] [xen-3.4-testing] ACPI: workaround for S3 fail in two fa

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-3.4-testing] ACPI: workaround for S3 fail in two facs tables case
From: "Xen patchbot-3.4-testing" <patchbot-3.4-testing@xxxxxxxxxxxxxxxxxxx>
Date: Thu, 25 Feb 2010 13:10:41 -0800
Delivery-date: Thu, 25 Feb 2010 13:11:35 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1267131996 0
# Node ID 4f3f443df642e5009dbb31c072dc764171d99050
# Parent  b51c7384cf9642b6a2416091f33238ef9b3dfae5
ACPI: workaround for S3 fail in two facs tables case

Some legacy BIOS which support ACPI2.0+ may expose two FACS tables via
both FADT->FIRMWARE_CTRL and FADT->X_FIRMWARE_CTRL, but only lookup S3
waking_vector in the first one.

Signed-off-by: Wei Gang <gang.wei@xxxxxxxxx>
Signed-off-by: Keir Fraser <keir.fraser@xxxxxxxxxx>
xen-unstable changeset:   20981:f6d7b66fdb80
xen-unstable date:        Thu Feb 25 20:56:43 2010 +0000
---
 xen/arch/x86/acpi/boot.c |   11 ++++++++---
 1 files changed, 8 insertions(+), 3 deletions(-)

diff -r b51c7384cf96 -r 4f3f443df642 xen/arch/x86/acpi/boot.c
--- a/xen/arch/x86/acpi/boot.c  Thu Feb 25 21:05:55 2010 +0000
+++ b/xen/arch/x86/acpi/boot.c  Thu Feb 25 21:06:36 2010 +0000
@@ -369,10 +369,15 @@ acpi_fadt_parse_sleep_info(struct acpi_t
               acpi_sinfo.pm1b_evt_blk.address);
 
        /* Now FACS... */
-       if (fadt->header.revision >= FADT2_REVISION_ID)
-               facs_pa = fadt->Xfacs;
-       else
+       facs_pa = ((fadt->header.revision >= FADT2_REVISION_ID)
+                  ? fadt->Xfacs : (uint64_t)fadt->facs);
+       if (fadt->facs && ((uint64_t)fadt->facs != facs_pa)) {
+               printk(KERN_WARNING PREFIX
+                      "32/64X FACS address mismatch in FADT - "
+                      "%08x/%016"PRIx64", using 32",
+                      fadt->facs, facs_pa);
                facs_pa = (uint64_t)fadt->facs;
+       }
 
        facs = (struct acpi_table_facs *)
                __acpi_map_table(facs_pa, sizeof(struct acpi_table_facs));

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

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [xen-3.4-testing] ACPI: workaround for S3 fail in two facs tables case, Xen patchbot-3.4-testing <=