ACPI: tables: complete searching upon RSDP w/ bad checksum.
authorLen Brown <len.brown@intel.com>
Sat, 24 Nov 2007 01:08:02 +0000 (20:08 -0500)
committerLen Brown <len.brown@intel.com>
Fri, 14 Dec 2007 07:36:24 +0000 (02:36 -0500)
commit239665a3bb0a2234980f918913add31bc536cfd1
tree260262706ce5223bf3d1cec0e8083ea42260f2fb
parent2ffbb8377c7a0713baf6644e285adc27a5654582
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>
arch/ia64/kernel/acpi.c
arch/x86/kernel/acpi/boot.c
arch/x86/kernel/srat_32.c
drivers/acpi/osl.c
drivers/acpi/tables/Makefile
drivers/acpi/tables/tbxfroot.c
include/linux/acpi.h