summaryrefslogtreecommitdiff
path: root/dev
diff options
context:
space:
mode:
Diffstat (limited to 'dev')
-rw-r--r--dev/console.cc4
-rw-r--r--dev/tsunami_io.cc10
-rw-r--r--dev/tsunami_uart.cc13
3 files changed, 27 insertions, 0 deletions
diff --git a/dev/console.cc b/dev/console.cc
index ef3f64d8d..a4b82e137 100644
--- a/dev/console.cc
+++ b/dev/console.cc
@@ -377,11 +377,15 @@ SimConsole::setPlatform(Platform *p)
void
SimConsole::serialize(ostream &os)
{
+ SERIALIZE_SCALAR(_status);
+ SERIALIZE_SCALAR(_enable);
}
void
SimConsole::unserialize(Checkpoint *cp, const std::string &section)
{
+ UNSERIALIZE_SCALAR(_status);
+ UNSERIALIZE_SCALAR(_enable);
}
diff --git a/dev/tsunami_io.cc b/dev/tsunami_io.cc
index b902306a4..2da313f56 100644
--- a/dev/tsunami_io.cc
+++ b/dev/tsunami_io.cc
@@ -380,6 +380,10 @@ TsunamiIO::serialize(std::ostream &os)
{
SERIALIZE_SCALAR(timerData);
SERIALIZE_SCALAR(uip);
+ SERIALIZE_SCALAR(mask1);
+ SERIALIZE_SCALAR(mask2);
+ SERIALIZE_SCALAR(mode1);
+ SERIALIZE_SCALAR(mode2);
SERIALIZE_SCALAR(picr);
SERIALIZE_SCALAR(picInterrupting);
Tick time0when = timer0.when();
@@ -388,6 +392,7 @@ TsunamiIO::serialize(std::ostream &os)
SERIALIZE_SCALAR(time0when);
SERIALIZE_SCALAR(time2when);
SERIALIZE_SCALAR(rtcwhen);
+ SERIALIZE_SCALAR(RTCAddress);
}
@@ -396,6 +401,10 @@ TsunamiIO::unserialize(Checkpoint *cp, const std::string &section)
{
UNSERIALIZE_SCALAR(timerData);
UNSERIALIZE_SCALAR(uip);
+ UNSERIALIZE_SCALAR(mask1);
+ UNSERIALIZE_SCALAR(mask2);
+ UNSERIALIZE_SCALAR(mode1);
+ UNSERIALIZE_SCALAR(mode2);
UNSERIALIZE_SCALAR(picr);
UNSERIALIZE_SCALAR(picInterrupting);
Tick time0when;
@@ -407,6 +416,7 @@ TsunamiIO::unserialize(Checkpoint *cp, const std::string &section)
timer0.reschedule(time0when);
timer2.reschedule(time2when);
rtc.reschedule(rtcwhen);
+ UNSERIALIZE_SCALAR(RTCAddress);
}
BEGIN_DECLARE_SIM_OBJECT_PARAMS(TsunamiIO)
diff --git a/dev/tsunami_uart.cc b/dev/tsunami_uart.cc
index 1eef24926..28c97c4cd 100644
--- a/dev/tsunami_uart.cc
+++ b/dev/tsunami_uart.cc
@@ -255,6 +255,14 @@ TsunamiUart::serialize(ostream &os)
SERIALIZE_SCALAR(next_char);
SERIALIZE_SCALAR(valid_char);
SERIALIZE_SCALAR(IER);
+ Tick intrwhen;
+ if (intrEvent.scheduled())
+ intrwhen = intrEvent.when();
+ else
+ intrwhen = 0;
+ SERIALIZE_SCALAR(intrwhen);
+
+
}
void
@@ -264,6 +272,11 @@ TsunamiUart::unserialize(Checkpoint *cp, const std::string &section)
UNSERIALIZE_SCALAR(next_char);
UNSERIALIZE_SCALAR(valid_char);
UNSERIALIZE_SCALAR(IER);
+ Tick intrwhen;
+ UNSERIALIZE_SCALAR(intrwhen);
+ if (intrwhen != 0)
+ intrEvent.schedule(intrwhen);
+
}
BEGIN_DECLARE_SIM_OBJECT_PARAMS(TsunamiUart)