X86: Set up the console interrupt and add some DPRINTFs.
authorGabe Black <gblack@eecs.umich.edu>
Sun, 1 Feb 2009 07:56:46 +0000 (23:56 -0800)
committerGabe Black <gblack@eecs.umich.edu>
Sun, 1 Feb 2009 07:56:46 +0000 (23:56 -0800)
src/dev/x86/i8259.cc
src/dev/x86/pc.cc

index b7c8bb08a4c8c4e6c4c3d96c628d6a92ab04d951..f9e0a0c934ebe37a7ef719395eec4771240c7777 100644 (file)
@@ -242,7 +242,7 @@ X86ISA::I8259::requestInterrupt(int line)
 void
 X86ISA::I8259::signalInterrupt(int line)
 {
-    DPRINTF(I8259, "Interrupt raised on line %d.\n", line);
+    DPRINTF(I8259, "Interrupt requested for line %d.\n", line);
     if (line >= NumLines)
         fatal("Line number %d doesn't exist. The max is %d.\n",
                 line, NumLines - 1);
@@ -257,6 +257,7 @@ X86ISA::I8259::signalInterrupt(int line)
 void
 X86ISA::I8259::raiseInterruptPin(int number)
 {
+    DPRINTF(I8259, "Interrupt signal raised for pin %d.\n", number);
     if (number >= NumLines)
         fatal("Line number %d doesn't exist. The max is %d.\n",
                 number, NumLines - 1);
@@ -268,6 +269,7 @@ X86ISA::I8259::raiseInterruptPin(int number)
 void
 X86ISA::I8259::lowerInterruptPin(int number)
 {
+    DPRINTF(I8259, "Interrupt signal lowered for pin %d.\n", number);
     if (number >= NumLines)
         fatal("Line number %d doesn't exist. The max is %d.\n",
                 number, NumLines - 1);
index c2e56251749c790bc5445d8473c2e83880b58965..2deed95d329bb48b4b8f26b759d077fcd3504455 100644 (file)
@@ -42,6 +42,7 @@
 #include "dev/terminal.hh"
 #include "dev/x86/i82094aa.hh"
 #include "dev/x86/i8254.hh"
+#include "dev/x86/i8259.hh"
 #include "dev/x86/pc.hh"
 #include "dev/x86/south_bridge.hh"
 #include "sim/system.hh"
@@ -112,8 +113,8 @@ Pc::intrFrequency()
 void
 Pc::postConsoleInt()
 {
-    warn_once("Don't know what interrupt to post for console.\n");
-    //panic("Need implementation\n");
+    southBridge->ioApic->signalInterrupt(4);
+    southBridge->pic1->signalInterrupt(4);
 }
 
 void