diff options
author | Yinghai Lu <yinghai@kernel.org> | 2009-09-19 14:07:57 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-09-19 14:31:33 -0400 |
commit | eda6da9286ad5b35b1eb70f6368958a8ee41a9dd (patch) | |
tree | cbf0a1dda9c9bcf77a1a02170bd67db703129bc2 /arch/x86/kernel/setup.c | |
parent | a017421ddcdf34474f1133b27e33ab2ca6c19b96 (diff) |
Revert 'x86: Fix system crash when loading with "reservetop" parameter'
After close looking, commit 8126dec3 will break:
1. some cpu feature in early stage too, like cpu_has_x2apic
2. will break built-in-command line
3. will break other memmap= and mem=
4. early_dbgp and early_console that will use early_ioremap to access mmio (?)
So revert it.
Reported-by: Hugh Dickins <hugh.dickins@tiscali.co.uk>,
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
Cc: Andrew Morton <akpm@linux-foundation.org>,
LKML-Reference: <4AB51DFD.2000904@kernel.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/kernel/setup.c')
-rw-r--r-- | arch/x86/kernel/setup.c | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c index 19f15c4076fb..f5baa2ae0c87 100644 --- a/arch/x86/kernel/setup.c +++ b/arch/x86/kernel/setup.c | |||
@@ -712,21 +712,6 @@ void __init setup_arch(char **cmdline_p) | |||
712 | printk(KERN_INFO "Command line: %s\n", boot_command_line); | 712 | printk(KERN_INFO "Command line: %s\n", boot_command_line); |
713 | #endif | 713 | #endif |
714 | 714 | ||
715 | strlcpy(command_line, boot_command_line, COMMAND_LINE_SIZE); | ||
716 | *cmdline_p = command_line; | ||
717 | |||
718 | #ifdef CONFIG_X86_64 | ||
719 | /* | ||
720 | * Must call this twice: Once just to detect whether hardware doesn't | ||
721 | * support NX (so that the early EHCI debug console setup can safely | ||
722 | * call set_fixmap(), and then again after parsing early parameters to | ||
723 | * honor the respective command line option. | ||
724 | */ | ||
725 | check_efer(); | ||
726 | #endif | ||
727 | |||
728 | parse_early_param(); | ||
729 | |||
730 | /* VMI may relocate the fixmap; do this before touching ioremap area */ | 715 | /* VMI may relocate the fixmap; do this before touching ioremap area */ |
731 | vmi_init(); | 716 | vmi_init(); |
732 | 717 | ||
@@ -809,6 +794,21 @@ void __init setup_arch(char **cmdline_p) | |||
809 | #endif | 794 | #endif |
810 | #endif | 795 | #endif |
811 | 796 | ||
797 | strlcpy(command_line, boot_command_line, COMMAND_LINE_SIZE); | ||
798 | *cmdline_p = command_line; | ||
799 | |||
800 | #ifdef CONFIG_X86_64 | ||
801 | /* | ||
802 | * Must call this twice: Once just to detect whether hardware doesn't | ||
803 | * support NX (so that the early EHCI debug console setup can safely | ||
804 | * call set_fixmap(), and then again after parsing early parameters to | ||
805 | * honor the respective command line option. | ||
806 | */ | ||
807 | check_efer(); | ||
808 | #endif | ||
809 | |||
810 | parse_early_param(); | ||
811 | |||
812 | #ifdef CONFIG_X86_64 | 812 | #ifdef CONFIG_X86_64 |
813 | check_efer(); | 813 | check_efer(); |
814 | #endif | 814 | #endif |