summaryrefslogtreecommitdiff
path: root/cpu/simple_cpu
diff options
context:
space:
mode:
authorSteve Reinhardt <stever@eecs.umich.edu>2003-10-28 12:55:12 -0800
committerSteve Reinhardt <stever@eecs.umich.edu>2003-10-28 12:55:12 -0800
commitb90f810575679442d78c0e9cd0c98a057ba4871b (patch)
tree8882e14d0f8cbee6f7c630ecb2408b62974a32d2 /cpu/simple_cpu
parentcec7f73abf841a65bdce38d6eb67a643e4879335 (diff)
downloadgem5-b90f810575679442d78c0e9cd0c98a057ba4871b.tar.xz
Revamp serialization to make it easier.
--HG-- extra : convert_revision : c57a538d7cf606dbdf5fa244f92da46bd830e335
Diffstat (limited to 'cpu/simple_cpu')
-rw-r--r--cpu/simple_cpu/simple_cpu.cc27
-rw-r--r--cpu/simple_cpu/simple_cpu.hh5
2 files changed, 5 insertions, 27 deletions
diff --git a/cpu/simple_cpu/simple_cpu.cc b/cpu/simple_cpu/simple_cpu.cc
index 3d0818672..83e9e1fa2 100644
--- a/cpu/simple_cpu/simple_cpu.cc
+++ b/cpu/simple_cpu/simple_cpu.cc
@@ -240,34 +240,13 @@ SimpleCPU::regStats()
}
void
-SimpleCPU::serialize()
+SimpleCPU::serialize(ostream &os)
{
- nameOut();
-
-#ifdef FULL_SYSTEM
-#if 0
- // do we need this anymore?? egh
- childOut("itb", xc->itb);
- childOut("dtb", xc->dtb);
- childOut("physmem", physmem);
-#endif
-#endif
-
- for (int i = 0; i < NumIntRegs; i++) {
- stringstream buf;
- ccprintf(buf, "R%02d", i);
- paramOut(buf.str(), xc->regs.intRegFile[i]);
- }
- for (int i = 0; i < NumFloatRegs; i++) {
- stringstream buf;
- ccprintf(buf, "F%02d", i);
- paramOut(buf.str(), xc->regs.floatRegFile.q[i]);
- }
- // CPUTraitsType::serializeSpecialRegs(getProxy(), xc->regs);
+ xc->serialize(os);
}
void
-SimpleCPU::unserialize(IniFile &db, const string &category, ConfigNode *node)
+SimpleCPU::unserialize(IniFile &db, const string &category)
{
string data;
diff --git a/cpu/simple_cpu/simple_cpu.hh b/cpu/simple_cpu/simple_cpu.hh
index 9e2c7fd06..fa7386106 100644
--- a/cpu/simple_cpu/simple_cpu.hh
+++ b/cpu/simple_cpu/simple_cpu.hh
@@ -259,9 +259,8 @@ class SimpleCPU : public BaseCPU
void processCacheCompletion();
- virtual void serialize();
- virtual void unserialize(IniFile &db, const std::string &category,
- ConfigNode *node);
+ virtual void serialize(std::ostream &os);
+ virtual void unserialize(IniFile &db, const std::string &section);
template <class T>
Fault read(Addr addr, T& data, unsigned flags);