summaryrefslogtreecommitdiff
path: root/src/mem/ruby/system/System.hh
diff options
context:
space:
mode:
authorAndreas Sandberg <andreas.sandberg@arm.com>2015-08-28 10:58:44 +0100
committerAndreas Sandberg <andreas.sandberg@arm.com>2015-08-28 10:58:44 +0100
commite9d6bf5e35b732df925f65a7b7adaa746f6a7f3b (patch)
tree0815f893cdece423342a11df7c03f648933f88e7 /src/mem/ruby/system/System.hh
parentfc3d34a4889f96395d7d3185a0c5a2dbb5c77343 (diff)
downloadgem5-e9d6bf5e35b732df925f65a7b7adaa746f6a7f3b.tar.xz
ruby: Use the const serialize interface in RubySystem
The new serialization code (kudos to Tim Jones) moves all of the state mangling in RubySystem to memWriteback. This makes it possible to use the new const serialization interface. This changeset moves the cache recorder cleanup from the checkpoint() method to drainResume() to make checkpointing truly constant and updates the checkpointing code to use the new interface.
Diffstat (limited to 'src/mem/ruby/system/System.hh')
-rw-r--r--src/mem/ruby/system/System.hh13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/mem/ruby/system/System.hh b/src/mem/ruby/system/System.hh
index 787e4f4ae..a7afac45c 100644
--- a/src/mem/ruby/system/System.hh
+++ b/src/mem/ruby/system/System.hh
@@ -95,8 +95,9 @@ class RubySystem : public ClockedObject
void resetStats();
void memWriteback();
- void serializeOld(CheckpointOut &cp) M5_ATTR_OVERRIDE;
+ void serialize(CheckpointOut &cp) const M5_ATTR_OVERRIDE;
void unserialize(CheckpointIn &cp) M5_ATTR_OVERRIDE;
+ void drainResume() M5_ATTR_OVERRIDE;
void process();
void startup();
bool functionalRead(Packet *ptr);
@@ -121,11 +122,11 @@ class RubySystem : public ClockedObject
uint64 cache_trace_size,
uint64 block_size_bytes);
- void readCompressedTrace(std::string filename,
- uint8_t *&raw_data,
- uint64& uncompressed_trace_size);
- void writeCompressedTrace(uint8_t *raw_data, std::string file,
- uint64 uncompressed_trace_size);
+ static void readCompressedTrace(std::string filename,
+ uint8_t *&raw_data,
+ uint64& uncompressed_trace_size);
+ static void writeCompressedTrace(uint8_t *raw_data, std::string file,
+ uint64 uncompressed_trace_size);
private:
// configuration parameters