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

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



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


 


Rackspace

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