diff options
Diffstat (limited to 'arch/x86/kernel/setup.c')
-rw-r--r-- | arch/x86/kernel/setup.c | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c index de2cab132844..02643cc3bf26 100644 --- a/arch/x86/kernel/setup.c +++ b/arch/x86/kernel/setup.c | |||
@@ -672,6 +672,19 @@ static struct dmi_system_id __initdata bad_bios_dmi_table[] = { | |||
672 | DMI_MATCH(DMI_BIOS_VENDOR, "Phoenix Technologies"), | 672 | DMI_MATCH(DMI_BIOS_VENDOR, "Phoenix Technologies"), |
673 | }, | 673 | }, |
674 | }, | 674 | }, |
675 | { | ||
676 | /* | ||
677 | * AMI BIOS with low memory corruption was found on Intel DG45ID board. | ||
678 | * It hase different DMI_BIOS_VENDOR = "Intel Corp.", for now we will | ||
679 | * match only DMI_BOARD_NAME and see if there is more bad products | ||
680 | * with this vendor. | ||
681 | */ | ||
682 | .callback = dmi_low_memory_corruption, | ||
683 | .ident = "AMI BIOS", | ||
684 | .matches = { | ||
685 | DMI_MATCH(DMI_BOARD_NAME, "DG45ID"), | ||
686 | }, | ||
687 | }, | ||
675 | #endif | 688 | #endif |
676 | {} | 689 | {} |
677 | }; | 690 | }; |
@@ -698,6 +711,11 @@ void __init setup_arch(char **cmdline_p) | |||
698 | printk(KERN_INFO "Command line: %s\n", boot_command_line); | 711 | printk(KERN_INFO "Command line: %s\n", boot_command_line); |
699 | #endif | 712 | #endif |
700 | 713 | ||
714 | strlcpy(command_line, boot_command_line, COMMAND_LINE_SIZE); | ||
715 | *cmdline_p = command_line; | ||
716 | |||
717 | parse_early_param(); | ||
718 | |||
701 | /* VMI may relocate the fixmap; do this before touching ioremap area */ | 719 | /* VMI may relocate the fixmap; do this before touching ioremap area */ |
702 | vmi_init(); | 720 | vmi_init(); |
703 | 721 | ||
@@ -780,11 +798,6 @@ void __init setup_arch(char **cmdline_p) | |||
780 | #endif | 798 | #endif |
781 | #endif | 799 | #endif |
782 | 800 | ||
783 | strlcpy(command_line, boot_command_line, COMMAND_LINE_SIZE); | ||
784 | *cmdline_p = command_line; | ||
785 | |||
786 | parse_early_param(); | ||
787 | |||
788 | #ifdef CONFIG_X86_64 | 801 | #ifdef CONFIG_X86_64 |
789 | check_efer(); | 802 | check_efer(); |
790 | #endif | 803 | #endif |