diff options
author | Lin Ming <ming.m.lin@intel.com> | 2010-04-08 02:34:27 -0400 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2010-04-20 10:43:16 -0400 |
commit | aa2110cb1a7510f9b834adfb39b05d4843a35d35 (patch) | |
tree | 0dda563bb8a8251fb6f6b878f16598a3901f992f /arch/x86/kernel | |
parent | 43323cb4c4b619414913f54fef9d492aabadd033 (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.c | 4 |
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; |