summaryrefslogtreecommitdiff
path: root/sim/serialize.cc
diff options
context:
space:
mode:
authorSteve Reinhardt <stever@eecs.umich.edu>2003-10-29 13:35:07 -0800
committerSteve Reinhardt <stever@eecs.umich.edu>2003-10-29 13:35:07 -0800
commitaf5277a6784ed6a8e4671dfa79b1346bed687ae1 (patch)
tree81d91d5bc7287b146a0b0ee796ae3b8acb7fbbcf /sim/serialize.cc
parent8da9fcdd751bcb74c17e72d7d0a6c7ccf259552c (diff)
downloadgem5-af5277a6784ed6a8e4671dfa79b1346bed687ae1.tar.xz
Serialization support for Alpha TLBs, PhysicalMemory, and SimpleCPU.
arch/alpha/alpha_memory.cc: arch/alpha/alpha_memory.hh: Serialize TLB contents. cpu/simple_cpu/simple_cpu.cc: cpu/simple_cpu/simple_cpu.hh: Complete serialization of SimpleCPU (including owned events). sim/eventq.cc: sim/eventq.hh: Basic serialization for events. Still need to handle dynamic events (not owned by a SimObject). sim/serialize.cc: sim/serialize.hh: Export serialization filename so PhysicalMemory can derive its filename from that. --HG-- extra : convert_revision : 4db851c5880f73f576ca092d5e5ad4256048eb51
Diffstat (limited to 'sim/serialize.cc')
-rw-r--r--sim/serialize.cc11
1 files changed, 8 insertions, 3 deletions
diff --git a/sim/serialize.cc b/sim/serialize.cc
index 00321b932..f838acc8d 100644
--- a/sim/serialize.cc
+++ b/sim/serialize.cc
@@ -355,6 +355,10 @@ Param<string> serialize_file(&serialParams,
"file",
"file to write to", "");
+// Copy filename into regular string so we can export it without
+// having to include param.hh all over the place.
+string serializeFilename;
+
SerializeParamContext::SerializeParamContext(const string &section)
: ParamContext(section), event(NULL)
{ }
@@ -366,9 +370,10 @@ SerializeParamContext::~SerializeParamContext()
void
SerializeParamContext::checkParams()
{
- if (!((string)serialize_file).empty() && serialize_cycle > 0)
- event = new SerializeEvent(&mainEventQueue, serialize_cycle,
- serialize_file);
+ serializeFilename = serialize_file;
+ if (!serializeFilename.empty() && serialize_cycle > 0)
+ event = new SerializeEvent(&mainEventQueue, serialize_cycle,
+ serializeFilename);
}
void