diff options
Diffstat (limited to 'arch/x86_64')
-rw-r--r-- | arch/x86_64/kernel/head64.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/x86_64/kernel/head64.c b/arch/x86_64/kernel/head64.c index 9561eb3c5b5c..cc230b93cd1c 100644 --- a/arch/x86_64/kernel/head64.c +++ b/arch/x86_64/kernel/head64.c | |||
@@ -57,10 +57,12 @@ void __init x86_64_start_kernel(char * real_mode_data) | |||
57 | { | 57 | { |
58 | int i; | 58 | int i; |
59 | 59 | ||
60 | for (i = 0; i < 256; i++) | 60 | /* clear bss before set_intr_gate with early_idt_handler */ |
61 | clear_bss(); | ||
62 | |||
63 | for (i = 0; i < IDT_ENTRIES; i++) | ||
61 | set_intr_gate(i, early_idt_handler); | 64 | set_intr_gate(i, early_idt_handler); |
62 | asm volatile("lidt %0" :: "m" (idt_descr)); | 65 | asm volatile("lidt %0" :: "m" (idt_descr)); |
63 | clear_bss(); | ||
64 | 66 | ||
65 | early_printk("Kernel alive\n"); | 67 | early_printk("Kernel alive\n"); |
66 | 68 | ||