diff options
author | Len Brown <len.brown@intel.com> | 2007-11-23 20:08:02 -0500 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2007-12-14 02:36:24 -0500 |
commit | 239665a3bb0a2234980f918913add31bc536cfd1 (patch) | |
tree | 260262706ce5223bf3d1cec0e8083ea42260f2fb /drivers/acpi/tables/tbxfroot.c | |
parent | 2ffbb8377c7a0713baf6644e285adc27a5654582 (diff) | |
download | kernel_samsung_espresso10-239665a3bb0a2234980f918913add31bc536cfd1.zip kernel_samsung_espresso10-239665a3bb0a2234980f918913add31bc536cfd1.tar.gz kernel_samsung_espresso10-239665a3bb0a2234980f918913add31bc536cfd1.tar.bz2 |
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 'drivers/acpi/tables/tbxfroot.c')
-rw-r--r-- | drivers/acpi/tables/tbxfroot.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/drivers/acpi/tables/tbxfroot.c b/drivers/acpi/tables/tbxfroot.c index cf8fa51..9ecb4b6 100644 --- a/drivers/acpi/tables/tbxfroot.c +++ b/drivers/acpi/tables/tbxfroot.c @@ -100,7 +100,7 @@ static acpi_status acpi_tb_validate_rsdp(struct acpi_table_rsdp *rsdp) /******************************************************************************* * - * FUNCTION: acpi_tb_find_rsdp + * FUNCTION: acpi_find_root_pointer * * PARAMETERS: table_address - Where the table pointer is returned * @@ -219,8 +219,6 @@ acpi_status acpi_find_root_pointer(acpi_native_uint * table_address) return_ACPI_STATUS(AE_NOT_FOUND); } -ACPI_EXPORT_SYMBOL(acpi_find_root_pointer) - /******************************************************************************* * * FUNCTION: acpi_tb_scan_memory_for_rsdp |