Actually initialize IDT in intr_init (!).
authorBen Pfaff <blp@cs.stanford.edu>
Thu, 2 Sep 2004 04:16:12 +0000 (04:16 +0000)
committerBen Pfaff <blp@cs.stanford.edu>
Thu, 2 Sep 2004 04:16:12 +0000 (04:16 +0000)
src/threads/interrupt.c

index 8173ec11dcc44767c7cd5d02158651e48433eab4..eb10cd603669cabfa417fd48d9dd87f227945a17 100644 (file)
@@ -91,6 +91,10 @@ intr_init (void)
   /* Initialize interrupt controller. */
   pic_init ();
 
+  /* Initialize IDT. */
+  for (i = 0; i < INTR_CNT; i++)
+    idt[i] = make_trap_gate (intr_stubs[i], 0);
+
   /* Load IDT register. */
   idtr_operand = make_idtr_operand (sizeof idt - 1, idt);
   asm volatile ("lidt %0" :: "m" (idtr_operand));