Linux kernel will use 64bit address if it is available as below:

/*******************************************************************************
 *
 * FUNCTION:    acpi_tb_select_address
 *
 * PARAMETERS:  register_name       - ASCII name of the ACPI register
 *              address32           - 32-bit address of the register
 *              address64           - 64-bit address of the register
 *
 * RETURN:      The resolved 64-bit address
 *
 * DESCRIPTION: Select between 32-bit and 64-bit versions of addresses within
 *              the FADT. Used for the FACS and DSDT addresses.
 *
 * NOTES:
 *
 * 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) could be a corrupted address field or it might indicate
 * the presence of two FACS or two DSDT tables.
 *
 * November 2013:
 * By default, as per the ACPICA specification, a valid 64-bit address is
 * used regardless of the value of the 32-bit address. However, this
 * behavior can be overridden via the acpi_gbl_use32_bit_fadt_addresses flag.
 *
 ******************************************************************************/

static u64
acpi_tb_select_address(char *register_name, u32 address32, u64 address64)
{

        if (!address64) {

                /* 64-bit address is zero, use 32-bit address */

                return ((u64)address32);
        }

        if (address32 && (address64 != (u64)address32)) {

                /* Address mismatch between 32-bit and 64-bit versions
*/

                ACPI_BIOS_WARNING((AE_INFO,
                                   "32/64X %s address mismatch in FADT: "
                                   "0x%8.8X/0x%8.8X%8.8X, using %u-bit address",
                                   register_name, address32,
                                   ACPI_FORMAT_UINT64(address64),
                                   acpi_gbl_use32_bit_fadt_addresses ? 32 :
                                   64));

                /* 32-bit address override */

                if (acpi_gbl_use32_bit_fadt_addresses) {
                        return ((u64)address32);
                }
        }

        /* Default is to use the 64-bit address */

        retur

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1286965

Title:
  [Dell Precision T7600] HIGH failures in FWTS report

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux-lts-saucy/+bug/1286965/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to