summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2009-01-31 23:56:46 -0800
committerGabe Black <gblack@eecs.umich.edu>2009-01-31 23:56:46 -0800
commit0287f19edecd317a139d2ff809901b9c91eb0c2e (patch)
tree5ff7f566017e3a70fccb8f541ab3080fc712d423
parente1c412cec690083f93ae0cb741c03e00e77cde71 (diff)
downloadgem5-0287f19edecd317a139d2ff809901b9c91eb0c2e.tar.xz
X86: Set up the console interrupt and add some DPRINTFs.
-rw-r--r--src/dev/x86/i8259.cc4
-rw-r--r--src/dev/x86/pc.cc5
2 files changed, 6 insertions, 3 deletions
diff --git a/src/dev/x86/i8259.cc b/src/dev/x86/i8259.cc
index b7c8bb08a..f9e0a0c93 100644
--- a/src/dev/x86/i8259.cc
+++ b/src/dev/x86/i8259.cc
@@ -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);
diff --git a/src/dev/x86/pc.cc b/src/dev/x86/pc.cc
index c2e562517..2deed95d3 100644
--- a/src/dev/x86/pc.cc
+++ b/src/dev/x86/pc.cc
@@ -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