aboutsummaryrefslogtreecommitdiff
path: root/arch/x86/kernel/srat_32.c
diff options
context:
space:
mode:
authorLen Brown <len.brown@intel.com>2007-11-23 20:08:02 -0500
committerLen Brown <len.brown@intel.com>2007-12-14 02:36:24 -0500
commit239665a3bb0a2234980f918913add31bc536cfd1 (patch)
tree260262706ce5223bf3d1cec0e8083ea42260f2fb /arch/x86/kernel/srat_32.c
parent2ffbb8377c7a0713baf6644e285adc27a5654582 (diff)
ACPI: tables: complete searching upon RSDP w/ bad checksum.
ACPI tables follow a tree structure in memory. The root of the tree is the RSDP (Root System Description Pointer). To find the RSDP, the OS searches for the signature "RSD PTR " in well known physical memory locations. Then the OS computes a table checksum to verify that the signature is really part of a valid table header. Some systems have a proper signature but an invalid checksum; followed elsewhere by a proper signature with valid checksum. http://bugzilla.kernel.org/show_bug.cgi?id=9444 The Linux RSDP scanning code bailed out on those systems and as a result they booted with ACPI disabled. Fix this by deleting the Linux RSDP scanning code and plugging in the ACPICA RSDP scanning code. Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'arch/x86/kernel/srat_32.c')
-rw-r--r--arch/x86/kernel/srat_32.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/x86/kernel/srat_32.c b/arch/x86/kernel/srat_32.c
index 2a8713ec0f9..b3b2c95f19d 100644
--- a/arch/x86/kernel/srat_32.c
+++ b/arch/x86/kernel/srat_32.c
@@ -276,7 +276,7 @@ int __init get_memcfg_from_srat(void)
int tables = 0;
int i = 0;
- rsdp_address = acpi_find_rsdp();
+ rsdp_address = acpi_os_get_root_pointer();
if (!rsdp_address) {
printk("%s: System description tables not found\n",
__FUNCTION__);