summaryrefslogtreecommitdiff
path: root/dev
diff options
context:
space:
mode:
authorAli Saidi <saidi@eecs.umich.edu>2004-02-11 15:36:36 -0500
committerAli Saidi <saidi@eecs.umich.edu>2004-02-11 15:36:36 -0500
commit29eae76153c325e1b16785e65381075eaeaa7d3b (patch)
tree61473081de8105d5f421249815de11c69e394604 /dev
parente72e8b28c8579f56b36b89f1b6cbfba169202f1e (diff)
parent0f34a00703bf4dd2cd0ff673e343b72ad5bdc5bd (diff)
downloadgem5-29eae76153c325e1b16785e65381075eaeaa7d3b.tar.xz
Merge
dev/tsunami_cchip.cc: dev/tsunami_io.cc: dev/tsunami_pchip.cc: dev/tsunami_uart.cc: SCCS merged --HG-- extra : convert_revision : da3d1998d6dd39e0d3f8754074c513cdd8a4193c
Diffstat (limited to 'dev')
-rw-r--r--dev/tsunami_cchip.cc14
-rw-r--r--dev/tsunami_io.cc26
-rw-r--r--dev/tsunami_pchip.cc28
-rw-r--r--dev/tsunami_uart.cc3
4 files changed, 64 insertions, 7 deletions
diff --git a/dev/tsunami_cchip.cc b/dev/tsunami_cchip.cc
index b825a91bc..2d8113491 100644
--- a/dev/tsunami_cchip.cc
+++ b/dev/tsunami_cchip.cc
@@ -279,13 +279,23 @@ TsunamiCChip::clearDRIR(uint64_t bitvector)
void
TsunamiCChip::serialize(std::ostream &os)
{
- // code should be written
+ SERIALIZE_ARRAY(dim, Tsunami::Max_CPUs);
+ SERIALIZE_ARRAY(dir, Tsunami::Max_CPUs);
+ SERIALIZE_ARRAY(dirInterrupting, Tsunami::Max_CPUs);
+ SERIALIZE_SCALAR(drir);
+ SERIALIZE_SCALAR(misc);
+ SERIALIZE_SCALAR(RTCInterrupting);
}
void
TsunamiCChip::unserialize(Checkpoint *cp, const std::string &section)
{
- //code should be written
+ UNSERIALIZE_ARRAY(dim, Tsunami::Max_CPUs);
+ UNSERIALIZE_ARRAY(dir, Tsunami::Max_CPUs);
+ UNSERIALIZE_ARRAY(dirInterrupting, Tsunami::Max_CPUs);
+ UNSERIALIZE_SCALAR(drir);
+ UNSERIALIZE_SCALAR(misc);
+ UNSERIALIZE_SCALAR(RTCInterrupting);
}
BEGIN_DECLARE_SIM_OBJECT_PARAMS(TsunamiCChip)
diff --git a/dev/tsunami_io.cc b/dev/tsunami_io.cc
index 15727631b..ccf0bc2da 100644
--- a/dev/tsunami_io.cc
+++ b/dev/tsunami_io.cc
@@ -346,13 +346,35 @@ TsunamiIO::clearPIC(uint8_t bitvector)
void
TsunamiIO::serialize(std::ostream &os)
{
- // code should be written
+ SERIALIZE_SCALAR(timerData);
+ SERIALIZE_SCALAR(uip);
+ SERIALIZE_SCALAR(picr);
+ SERIALIZE_SCALAR(picInterrupting);
+ Tick time0when = timer0.when();
+ Tick time2when = timer2.when();
+ Tick rtcwhen = rtc.when();
+ SERIALIZE_SCALAR(time0when);
+ SERIALIZE_SCALAR(time2when);
+ SERIALIZE_SCALAR(rtcwhen);
+
}
void
TsunamiIO::unserialize(Checkpoint *cp, const std::string &section)
{
- //code should be written
+ UNSERIALIZE_SCALAR(timerData);
+ UNSERIALIZE_SCALAR(uip);
+ UNSERIALIZE_SCALAR(picr);
+ UNSERIALIZE_SCALAR(picInterrupting);
+ Tick time0when;
+ Tick time2when;
+ Tick rtcwhen;
+ UNSERIALIZE_SCALAR(time0when);
+ UNSERIALIZE_SCALAR(time2when);
+ UNSERIALIZE_SCALAR(rtcwhen);
+ timer0.reschedule(time0when);
+ timer2.reschedule(time2when);
+ rtc.reschedule(rtcwhen);
}
BEGIN_DECLARE_SIM_OBJECT_PARAMS(TsunamiIO)
diff --git a/dev/tsunami_pchip.cc b/dev/tsunami_pchip.cc
index 59e085361..b0a4c4d95 100644
--- a/dev/tsunami_pchip.cc
+++ b/dev/tsunami_pchip.cc
@@ -227,13 +227,37 @@ TsunamiPChip::write(MemReqPtr &req, const uint8_t *data)
void
TsunamiPChip::serialize(std::ostream &os)
{
- // code should be written
+ SERIALIZE_SCALAR(wsba0);
+ SERIALIZE_SCALAR(wsba1);
+ SERIALIZE_SCALAR(wsba2);
+ SERIALIZE_SCALAR(wsba3);
+ SERIALIZE_SCALAR(wsm0);
+ SERIALIZE_SCALAR(wsm1);
+ SERIALIZE_SCALAR(wsm2);
+ SERIALIZE_SCALAR(wsm3);
+ SERIALIZE_SCALAR(tba0);
+ SERIALIZE_SCALAR(tba1);
+ SERIALIZE_SCALAR(tba2);
+ SERIALIZE_SCALAR(tba3);
+
}
void
TsunamiPChip::unserialize(Checkpoint *cp, const std::string &section)
{
- //code should be written
+ UNSERIALIZE_SCALAR(wsba0);
+ UNSERIALIZE_SCALAR(wsba1);
+ UNSERIALIZE_SCALAR(wsba2);
+ UNSERIALIZE_SCALAR(wsba3);
+ UNSERIALIZE_SCALAR(wsm0);
+ UNSERIALIZE_SCALAR(wsm1);
+ UNSERIALIZE_SCALAR(wsm2);
+ UNSERIALIZE_SCALAR(wsm3);
+ UNSERIALIZE_SCALAR(tba0);
+ UNSERIALIZE_SCALAR(tba1);
+ UNSERIALIZE_SCALAR(tba2);
+ UNSERIALIZE_SCALAR(tba3);
+
}
BEGIN_DECLARE_SIM_OBJECT_PARAMS(TsunamiPChip)
diff --git a/dev/tsunami_uart.cc b/dev/tsunami_uart.cc
index 9e7207d9c..6f15c5ee0 100644
--- a/dev/tsunami_uart.cc
+++ b/dev/tsunami_uart.cc
@@ -119,7 +119,6 @@ TsunamiUart::read(MemReqPtr &req, uint8_t *data)
*data = 0;
return No_Fault;
case 0x2:
- //*data = 2<<6; // This means a 8250 serial port, do we want a 16550?
*data = 0; // This means a 8250 serial port, do we want a 16550?
return No_Fault;
}
@@ -185,6 +184,7 @@ TsunamiUart::serialize(ostream &os)
SERIALIZE_SCALAR(status_store);
SERIALIZE_SCALAR(next_char);
SERIALIZE_SCALAR(valid_char);
+ SERIALIZE_SCALAR(IER);
}
void
@@ -193,6 +193,7 @@ TsunamiUart::unserialize(Checkpoint *cp, const std::string &section)
UNSERIALIZE_SCALAR(status_store);
UNSERIALIZE_SCALAR(next_char);
UNSERIALIZE_SCALAR(valid_char);
+ UNSERIALIZE_SCALAR(IER);
}
BEGIN_DECLARE_SIM_OBJECT_PARAMS(TsunamiUart)