From df45c7b404edf00ec76da655dd5b7c77ea21fc62 Mon Sep 17 00:00:00 2001 From: Ali Saidi Date: Fri, 4 Jun 2004 14:26:17 -0400 Subject: [PATCH] fixed serialization in tsunami_io and tsunami_uart and console dev/console.cc: dev/tsunami_io.cc: dev/tsunami_uart.cc: fixed serialization --HG-- extra : convert_revision : 1608a116b00007922fa382ddb0c10442a8724f8d --- dev/console.cc | 4 ++++ dev/tsunami_io.cc | 10 ++++++++++ dev/tsunami_uart.cc | 13 +++++++++++++ 3 files changed, 27 insertions(+) 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 §ion) { + 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 §ion) { 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 §ion) 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 §ion) 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)