diff options
Diffstat (limited to 'arch/x86/kernel/setup.c')
-rw-r--r-- | arch/x86/kernel/setup.c | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c index 61f86f241420..19f15c4076fb 100644 --- a/arch/x86/kernel/setup.c +++ b/arch/x86/kernel/setup.c | |||
@@ -712,6 +712,21 @@ 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 | |||
715 | /* VMI may relocate the fixmap; do this before touching ioremap area */ | 730 | /* VMI may relocate the fixmap; do this before touching ioremap area */ |
716 | vmi_init(); | 731 | vmi_init(); |
717 | 732 | ||
@@ -794,11 +809,6 @@ void __init setup_arch(char **cmdline_p) | |||
794 | #endif | 809 | #endif |
795 | #endif | 810 | #endif |
796 | 811 | ||
797 | strlcpy(command_line, boot_command_line, COMMAND_LINE_SIZE); | ||
798 | *cmdline_p = command_line; | ||
799 | |||
800 | parse_early_param(); | ||
801 | |||
802 | #ifdef CONFIG_X86_64 | 812 | #ifdef CONFIG_X86_64 |
803 | check_efer(); | 813 | check_efer(); |
804 | #endif | 814 | #endif |