diff --git a/src/mem/ruby/system/System.cc b/src/mem/ruby/system/System.cc index 801b2a3e98..a6d0d87d6e 100644 --- a/src/mem/ruby/system/System.cc +++ b/src/mem/ruby/system/System.cc @@ -147,6 +147,23 @@ RubySystem::printStats(ostream& out) m_network_ptr->printStats(out); } +void +RubySystem::serialize(std::ostream &os) +{ + +} + +void +RubySystem::unserialize(Checkpoint *cp, const string §ion) +{ + // + // The main purpose for clearing stats in the unserialize process is so + // that the profiler can correctly set its start time to the unserialized + // value of curTick + // + clearStats(); +} + void RubySystem::clearStats() const { diff --git a/src/mem/ruby/system/System.hh b/src/mem/ruby/system/System.hh index 77b056faff..608aca1d8e 100644 --- a/src/mem/ruby/system/System.hh +++ b/src/mem/ruby/system/System.hh @@ -125,6 +125,9 @@ class RubySystem : public SimObject void print(std::ostream& out) const; + virtual void serialize(std::ostream &os); + virtual void unserialize(Checkpoint *cp, const std::string §ion); + private: // Private copy constructor and assignment operator RubySystem(const RubySystem& obj);