aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel
diff options
context:
space:
mode:
authorLin Ming <ming.m.lin@intel.com>2010-04-08 02:34:27 -0400
committerLen Brown <len.brown@intel.com>2010-04-20 10:43:16 -0400
commitaa2110cb1a7510f9b834adfb39b05d4843a35d35 (patch)
tree0dda563bb8a8251fb6f6b878f16598a3901f992f /arch/x86/kernel
parent43323cb4c4b619414913f54fef9d492aabadd033 (diff)
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/x86/kernel')
-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)
1576 /* "acpi=noirq" disables ACPI interrupt routing */ 1576 /* "acpi=noirq" disables ACPI interrupt routing */
1577 else if (strcmp(arg, "noirq") == 0) { 1577 else if (strcmp(arg, "noirq") == 0) {
1578 acpi_noirq_set(); 1578 acpi_noirq_set();
1579 }
1580 /* "acpi=copy_dsdt" copys DSDT */
1581 else if (strcmp(arg, "copy_dsdt") == 0) {
1582 acpi_gbl_copy_dsdt_locally = 1;
1579 } else { 1583 } else {
1580 /* Core will printk when we return error. */ 1584 /* Core will printk when we return error. */
1581 return -EINVAL; 1585 return -EINVAL;