[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



>>> Keir Fraser <keir.fraser@xxxxxxxxxxxxx> 25.02.10 12:58 >>>
>What do you think? And I was looking at Linux 2.6.27 -- has behaviour there
>chanegd since then?

Not much, but it got improved - 2.6.33 has

        /*
         * Expand the 32-bit FACS and DSDT addresses to 64-bit as necessary.
         * Later code will always use the X 64-bit field. Also, check for an
         * address mismatch between the 32-bit and 64-bit address fields
         * (FIRMWARE_CTRL/X_FIRMWARE_CTRL, DSDT/X_DSDT) which would indicate
         * the presence of two FACS or two DSDT tables.
         */
        if (!acpi_gbl_FADT.Xfacs) {
                acpi_gbl_FADT.Xfacs = (u64) acpi_gbl_FADT.facs;
        } else if (acpi_gbl_FADT.facs &&
                   (acpi_gbl_FADT.Xfacs != (u64) acpi_gbl_FADT.facs)) {
                ACPI_WARNING((AE_INFO,
                    "32/64 FACS address mismatch in FADT - two FACS tables!"));
        }

and

        /*
         * Check for FACS and DSDT address mismatches. An address mismatch 
between
         * the 32-bit and 64-bit address fields (FIRMWARE_CTRL/X_FIRMWARE_CTRL 
and
         * DSDT/X_DSDT) would indicate the presence of two FACS or two DSDT 
tables.
         */
        if (acpi_gbl_FADT.facs &&
            (acpi_gbl_FADT.Xfacs != (u64) acpi_gbl_FADT.facs)) {
                ACPI_WARNING((AE_INFO,
                              "32/64X FACS address mismatch in FADT - "
                              "%8.8X/%8.8X%8.8X, using 32",
                              acpi_gbl_FADT.facs,
                              ACPI_FORMAT_UINT64(acpi_gbl_FADT.Xfacs)));

                acpi_gbl_FADT.Xfacs = (u64) acpi_gbl_FADT.facs;
        }

(and as the comments say, each repeated for the DSDT).

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®.