[PATCH] x86_64: clear_bss before set_intr_gate with early_idt_handler
authorYinghai Lu <yinghai.lu@amd.com>
Thu, 7 Dec 2006 01:14:12 +0000 (02:14 +0100)
committerAndi Kleen <andi@basil.nowhere.org>
Thu, 7 Dec 2006 01:14:12 +0000 (02:14 +0100)
idt_table is in the .bss section, so clear_bss need to called at first

Signed-off-by: Yinghai Lu <yinghai.lu@amd.com>
Signed-off-by: Andi Kleen <ak@suse.de>
arch/x86_64/kernel/head64.c

index 9561eb3c5b5c5e78eed93277096eaf9d68752a64..cc230b93cd1c7081ea4483ac2aa8ec8192eb972a 100644 (file)
@@ -57,10 +57,12 @@ 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");