summaryrefslogtreecommitdiff
path: root/dev/tsunami.cc
diff options
context:
space:
mode:
authorAli Saidi <saidi@eecs.umich.edu>2004-05-14 17:34:15 -0400
committerAli Saidi <saidi@eecs.umich.edu>2004-05-14 17:34:15 -0400
commitfd21387149c272b8aaee62466fe96863f3ef458f (patch)
treee7029f7536b5374fc0fb5a9688d8d1a2b5a816b3 /dev/tsunami.cc
parentcd8db7669aefe1075c9ded5e6cc3203593698880 (diff)
downloadgem5-fd21387149c272b8aaee62466fe96863f3ef458f.tar.xz
Linux boots... various fixes to make console work correctly
dev/console.cc: commented out code that checks if an interrupt is happening before issuing one because they can get lost when linux boots dev/console.hh: added a setPlatform function to set the platform to interrupt dev/platform.hh: dev/tsunami.cc: dev/tsunami.hh: Added virtual functions to post console interrupts dev/tsunami_io.cc: allowed a 64bit read of the PIC since we can't do a physical byte read dev/tsunami_uart.cc: moved TsunamiUart to PioDevice various little fixes to make linux work dev/tsunami_uart.hh: Made Tsunami_Uart a PIO device dev/tsunamireg.h: added some UART defines and used the ULL macros kern/linux/linux_system.cc: commented out waiting for gdb --HG-- extra : convert_revision : 8cfd0700f3812ab349a6d7f132f85f4f421c5c5e
Diffstat (limited to 'dev/tsunami.cc')
-rw-r--r--dev/tsunami.cc19
1 files changed, 16 insertions, 3 deletions
diff --git a/dev/tsunami.cc b/dev/tsunami.cc
index 252f9f1cc..8956ee557 100644
--- a/dev/tsunami.cc
+++ b/dev/tsunami.cc
@@ -37,6 +37,7 @@
#include "dev/tlaser_clock.hh"
#include "dev/tsunami_cchip.hh"
#include "dev/tsunami_pchip.hh"
+#include "dev/tsunami_io.hh"
#include "dev/tsunami.hh"
#include "dev/pciconfigall.hh"
#include "sim/builder.hh"
@@ -44,9 +45,9 @@
using namespace std;
-Tsunami::Tsunami(const string &name, System *s, SimConsole *con,
+Tsunami::Tsunami(const string &name, System *s,
IntrControl *ic, PciConfigAll *pci, int intr_freq)
- : Platform(name, con, ic, pci, intr_freq), system(s)
+ : Platform(name, ic, pci, intr_freq), system(s)
{
// set the back pointer from the system to myself
system->platform = this;
@@ -56,6 +57,18 @@ Tsunami::Tsunami(const string &name, System *s, SimConsole *con,
}
void
+Tsunami::postConsoleInt()
+{
+ io->postPIC(0x10);
+}
+
+void
+Tsunami::clearConsoleInt()
+{
+ io->clearPIC(0x10);
+}
+
+void
Tsunami::serialize(std::ostream &os)
{
SERIALIZE_ARRAY(intr_sum_type, Tsunami::Max_CPUs);
@@ -89,7 +102,7 @@ END_INIT_SIM_OBJECT_PARAMS(Tsunami)
CREATE_SIM_OBJECT(Tsunami)
{
- return new Tsunami(getInstanceName(), system, cons, intrctrl, pciconfig,
+ return new Tsunami(getInstanceName(), system, intrctrl, pciconfig,
interrupt_frequency);
}