From 41499862e00e2319dce7426a9efea1f731264440 Mon Sep 17 00:00:00 2001 From: Yinghai Lu Date: Thu, 7 Dec 2006 02:14:12 +0100 Subject: [PATCH] --- yaml --- r: 43113 b: refs/heads/master c: 3df0af0eb064a16bbdbe81b46bc72a4089f88d54 h: refs/heads/master i: 43111: a4e36f863eda474c73c3f36436d210c42b637d3e v: v3 --- [refs] | 2 +- trunk/arch/x86_64/kernel/head64.c | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 07265c88bcd9..ef9d8dcb42d5 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 0741f4d207a644482d7a040f05cd264c98cf7ee8 +refs/heads/master: 3df0af0eb064a16bbdbe81b46bc72a4089f88d54 diff --git a/trunk/arch/x86_64/kernel/head64.c b/trunk/arch/x86_64/kernel/head64.c index 9561eb3c5b5c..cc230b93cd1c 100644 --- a/trunk/arch/x86_64/kernel/head64.c +++ b/trunk/arch/x86_64/kernel/head64.c @@ -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");