diff options
| -rw-r--r-- | arch/x86/kernel/setup.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c index 3109ca37a67c..33719544a224 100644 --- a/arch/x86/kernel/setup.c +++ b/arch/x86/kernel/setup.c | |||
| @@ -732,10 +732,10 @@ void start_periodic_check_for_corruption(void) | |||
| 732 | static int __init dmi_low_memory_corruption(const struct dmi_system_id *d) | 732 | static int __init dmi_low_memory_corruption(const struct dmi_system_id *d) |
| 733 | { | 733 | { |
| 734 | printk(KERN_NOTICE | 734 | printk(KERN_NOTICE |
| 735 | "%s detected: BIOS corrupts 0xc000, working it around.\n", | 735 | "%s detected: BIOS may corrupt low RAM, working it around.\n", |
| 736 | d->ident); | 736 | d->ident); |
| 737 | 737 | ||
| 738 | reserve_early(0xc000, 0xc400, "BIOS quirk"); | 738 | reserve_early(0x0, 0x10000, "BIOS quirk"); |
| 739 | 739 | ||
| 740 | return 0; | 740 | return 0; |
| 741 | } | 741 | } |
| @@ -749,6 +749,13 @@ static struct dmi_system_id __initdata bad_bios_dmi_table[] = { | |||
| 749 | DMI_MATCH(DMI_BIOS_VENDOR, "American Megatrends Inc."), | 749 | DMI_MATCH(DMI_BIOS_VENDOR, "American Megatrends Inc."), |
| 750 | }, | 750 | }, |
| 751 | }, | 751 | }, |
| 752 | { | ||
| 753 | .callback = dmi_low_memory_corruption, | ||
| 754 | .ident = "Phoenix BIOS", | ||
| 755 | .matches = { | ||
| 756 | DMI_MATCH(DMI_BIOS_VENDOR, "Phoenix Technologies, LTD"), | ||
| 757 | }, | ||
| 758 | }, | ||
| 752 | {} | 759 | {} |
| 753 | }; | 760 | }; |
| 754 | 761 | ||
