Merge branch 'master' into for_paulus
[linux-drm-fsl-dcu.git] / arch / x86_64 / kernel / head64.c
index 9561eb3c5b5c5e78eed93277096eaf9d68752a64..5f197b0a330ab4d3393325afbdf30f6ec70cff3c 100644 (file)
@@ -34,8 +34,6 @@ static void __init clear_bss(void)
 #define OLD_CL_BASE_ADDR        0x90000
 #define OLD_CL_OFFSET           0x90022
 
-extern char saved_command_line[];
-
 static void __init copy_bootdata(char *real_mode_data)
 {
        int new_data;
@@ -50,17 +48,19 @@ static void __init copy_bootdata(char *real_mode_data)
                new_data = OLD_CL_BASE_ADDR + * (u16 *) OLD_CL_OFFSET;
        }
        command_line = (char *) ((u64)(new_data));
-       memcpy(saved_command_line, command_line, COMMAND_LINE_SIZE);
+       memcpy(boot_command_line, command_line, COMMAND_LINE_SIZE);
 }
 
 void __init x86_64_start_kernel(char * real_mode_data)
 {
        int i;
 
-       for (i = 0; i < 256; i++)
+       /* clear bss before set_intr_gate with early_idt_handler */
+       clear_bss();
+
+       for (i = 0; i < IDT_ENTRIES; i++)
                set_intr_gate(i, early_idt_handler);
        asm volatile("lidt %0" :: "m" (idt_descr));
-       clear_bss();
 
        early_printk("Kernel alive\n");