diff options
author | Bob Moore <robert.moore@intel.com> | 2009-03-18 22:13:40 -0400 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2009-03-27 12:11:05 -0400 |
commit | f65563063375b05898a94ab71b52612cbe3a789b (patch) | |
tree | 347598d975b9ab8621e2546cb3fb5e84cba42413 | |
parent | 31fbc073a35a017e34840deb9e865a701e986002 (diff) |
ACPICA: FADT: Favor 32-bit FACS and DSDT addresses
If both the 32-bit and 64-bit addresses are non-null, use the
32-bit address. Provides Windows compatibility.
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
-rw-r--r-- | drivers/acpi/acpica/tbfadt.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/acpi/acpica/tbfadt.c b/drivers/acpi/acpica/tbfadt.c index f87bfb259ef6..71e655d14cb0 100644 --- a/drivers/acpi/acpica/tbfadt.c +++ b/drivers/acpi/acpica/tbfadt.c | |||
@@ -483,18 +483,22 @@ static void acpi_tb_validate_fadt(void) | |||
483 | (acpi_gbl_FADT.Xfacs != (u64) acpi_gbl_FADT.facs)) { | 483 | (acpi_gbl_FADT.Xfacs != (u64) acpi_gbl_FADT.facs)) { |
484 | ACPI_WARNING((AE_INFO, | 484 | ACPI_WARNING((AE_INFO, |
485 | "32/64X FACS address mismatch in FADT - " | 485 | "32/64X FACS address mismatch in FADT - " |
486 | "two FACS tables! %8.8X/%8.8X%8.8X", | 486 | "%8.8X/%8.8X%8.8X, using 32", |
487 | acpi_gbl_FADT.facs, | 487 | acpi_gbl_FADT.facs, |
488 | ACPI_FORMAT_UINT64(acpi_gbl_FADT.Xfacs))); | 488 | ACPI_FORMAT_UINT64(acpi_gbl_FADT.Xfacs))); |
489 | |||
490 | acpi_gbl_FADT.Xfacs = (u64) acpi_gbl_FADT.facs; | ||
489 | } | 491 | } |
490 | 492 | ||
491 | if (acpi_gbl_FADT.dsdt && | 493 | if (acpi_gbl_FADT.dsdt && |
492 | (acpi_gbl_FADT.Xdsdt != (u64) acpi_gbl_FADT.dsdt)) { | 494 | (acpi_gbl_FADT.Xdsdt != (u64) acpi_gbl_FADT.dsdt)) { |
493 | ACPI_WARNING((AE_INFO, | 495 | ACPI_WARNING((AE_INFO, |
494 | "32/64X DSDT address mismatch in FADT - " | 496 | "32/64X DSDT address mismatch in FADT - " |
495 | "two DSDT tables! %8.8X/%8.8X%8.8X", | 497 | "%8.8X/%8.8X%8.8X, using 32", |
496 | acpi_gbl_FADT.dsdt, | 498 | acpi_gbl_FADT.dsdt, |
497 | ACPI_FORMAT_UINT64(acpi_gbl_FADT.Xdsdt))); | 499 | ACPI_FORMAT_UINT64(acpi_gbl_FADT.Xdsdt))); |
500 | |||
501 | acpi_gbl_FADT.Xdsdt = (u64) acpi_gbl_FADT.dsdt; | ||
498 | } | 502 | } |
499 | 503 | ||
500 | /* Examine all of the 64-bit extended address fields (X fields) */ | 504 | /* Examine all of the 64-bit extended address fields (X fields) */ |