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-devel

Re: [Xen-devel] [PATCH]ACPI: workaround for S3 fail in two facs tables c

To: "Gang Wei" <gang.wei@xxxxxxxxx>
Subject: Re: [Xen-devel] [PATCH]ACPI: workaround for S3 fail in two facs tables case
From: "Jan Beulich" <JBeulich@xxxxxxxxxx>
Date: Thu, 25 Feb 2010 08:38:52 +0000
Cc: "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>, Keir Fraser <keir.fraser@xxxxxxxxxxxxx>
Delivery-date: Thu, 25 Feb 2010 00:39:32 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <E6467867A6B05E4FA831B7DF29925F5C40BBA48B@xxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <E6467867A6B05E4FA831B7DF29925F5C40BBA48B@xxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
>>> "Wei, Gang" <gang.wei@xxxxxxxxx> 25.02.10 06:49 >>>
>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. So enhance the X_FIRMWARE_CTRL selection 
>condition by adding FADT->FIRMWARE_CTRL == 0.
>
>Signed-off-by: Wei Gang <gang.wei@xxxxxxxxx>
>
>diff -r e11c8dcbf690 xen/arch/x86/acpi/boot.c
>--- a/xen/arch/x86/acpi/boot.c Wed Feb 24 11:00:11 2010 +0800
>+++ b/xen/arch/x86/acpi/boot.c Thu Feb 25 20:47:37 2010 +0800
>@@ -365,7 +365,7 @@ acpi_fadt_parse_sleep_info(struct acpi_t
>              acpi_sinfo.pm1b_evt_blk.address);
> 
>       /* Now FACS... */
>-      if (fadt->header.revision >= FADT2_REVISION_ID)
>+      if (fadt->header.revision >= FADT2_REVISION_ID && fadt->facs == 0)
>               facs_pa = fadt->Xfacs;
>       else
>               facs_pa = (uint64_t)fadt->facs;

Wouldn't that generally suppress using fadt->Xfacs, since I think in
order to be pre-2.0-OS compatible a BIOS would not normally set
facs to zero when Xfacs is non-zero? Or is that a requirement by the
spec?

Jan


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