summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorLin Ming <ming.m.lin@intel.com>2010-04-08 08:34:27 +0200
committerLen Brown <len.brown@intel.com>2010-04-20 16:43:16 +0200
commitaa2110cb1a7510f9b834adfb39b05d4843a35d35 (patch)
tree0dda563bb8a8251fb6f6b878f16598a3901f992f /arch
parentACPICA: Update DSDT copy/detection. (diff)
downloadlinux-aa2110cb1a7510f9b834adfb39b05d4843a35d35.tar.xz
linux-aa2110cb1a7510f9b834adfb39b05d4843a35d35.zip
ACPI: add boot option acpi=copy_dsdt to fix corrupt DSDT
Some BIOS on Toshiba machines corrupt the DSDT, so add a new boot option acpi=copy_dsdt to workaround it. Add warning message to ask users to use this option if corrupt DSDT detected. Also build a DMI blacklist to check it and automatically copy DSDT. https://bugzilla.kernel.org/show_bug.cgi?id=14679 Signed-off-by: Lin Ming <ming.m.lin@intel.com> Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/x86/kernel/acpi/boot.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c
index cd40aba6aa95..b9629384263c 100644
--- a/arch/x86/kernel/acpi/boot.c
+++ b/arch/x86/kernel/acpi/boot.c
@@ -1576,6 +1576,10 @@ static int __init parse_acpi(char *arg)
/* "acpi=noirq" disables ACPI interrupt routing */
else if (strcmp(arg, "noirq") == 0) {
acpi_noirq_set();
+ }
+ /* "acpi=copy_dsdt" copys DSDT */
+ else if (strcmp(arg, "copy_dsdt") == 0) {
+ acpi_gbl_copy_dsdt_locally = 1;
} else {
/* Core will printk when we return error. */
return -EINVAL;