diff options
author | Ali Saidi <saidi@eecs.umich.edu> | 2004-02-11 15:36:36 -0500 |
---|---|---|
committer | Ali Saidi <saidi@eecs.umich.edu> | 2004-02-11 15:36:36 -0500 |
commit | 29eae76153c325e1b16785e65381075eaeaa7d3b (patch) | |
tree | 61473081de8105d5f421249815de11c69e394604 /dev | |
parent | e72e8b28c8579f56b36b89f1b6cbfba169202f1e (diff) | |
parent | 0f34a00703bf4dd2cd0ff673e343b72ad5bdc5bd (diff) | |
download | gem5-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.cc | 14 | ||||
-rw-r--r-- | dev/tsunami_io.cc | 26 | ||||
-rw-r--r-- | dev/tsunami_pchip.cc | 28 | ||||
-rw-r--r-- | dev/tsunami_uart.cc | 3 |
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 §ion) { - //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 §ion) { - //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 §ion) { - //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 §ion) UNSERIALIZE_SCALAR(status_store); UNSERIALIZE_SCALAR(next_char); UNSERIALIZE_SCALAR(valid_char); + UNSERIALIZE_SCALAR(IER); } BEGIN_DECLARE_SIM_OBJECT_PARAMS(TsunamiUart) |