gem5: save/restore moved to Gem5Controller
Change-Id: I0ce72f04a8de88f4f8b6c1f0bba7a9097c82e107
This commit is contained in:
@ -1,28 +0,0 @@
|
||||
#if 0
|
||||
#include "Gem5Connector.hpp"
|
||||
|
||||
#include "base/trace.hh"
|
||||
#include "debug/FailState.hh"
|
||||
#include "sim/root.hh"
|
||||
|
||||
Gem5Connector connector;
|
||||
|
||||
void Gem5Connector::save(const std::string &path)
|
||||
{
|
||||
DPRINTF(FailState, "Saving state to %s.\n", path);
|
||||
|
||||
Root* root = Root::root();
|
||||
root->Serializable::serializeAll(path);
|
||||
}
|
||||
|
||||
void Gem5Connector::restore(const std::string &path)
|
||||
{
|
||||
DPRINTF(FailState, "Restoring state from %s.\n", path);
|
||||
|
||||
Root* root = Root::root();
|
||||
Checkpoint cp(path);
|
||||
|
||||
root->loadState(&cp);
|
||||
}
|
||||
|
||||
#endif
|
||||
@ -1,23 +0,0 @@
|
||||
#if 0
|
||||
// TODO: Incorporate this code into Gem5Controller.{hpp,cc}
|
||||
|
||||
#ifndef __GEM5_CONNECTOR_HPP__
|
||||
#define __GEM5_CONNECTOR_HPP__
|
||||
|
||||
#include <string>
|
||||
|
||||
/**
|
||||
* \class Gem5Connector
|
||||
* This class will be compiled inside the gem5 context and provides the
|
||||
* Gem5Controller a way to call gem5 functions.
|
||||
*/
|
||||
class Gem5Connector {
|
||||
public:
|
||||
void save(const std::string &path);
|
||||
void restore(const std::string &path);
|
||||
};
|
||||
|
||||
extern Gem5Connector connector;
|
||||
|
||||
#endif // __GEM5_CONNECTOR_HPP__
|
||||
#endif
|
||||
@ -1,10 +1,13 @@
|
||||
#include "Gem5Controller.hpp"
|
||||
//#include "Gem5Connector.hpp"
|
||||
|
||||
#include "../Listener.hpp"
|
||||
|
||||
#include "Gem5Wrapper.hpp"
|
||||
|
||||
#include "base/trace.hh"
|
||||
#include "debug/FailState.hh"
|
||||
#include "sim/root.hh"
|
||||
|
||||
namespace fail {
|
||||
|
||||
void Gem5Controller::startup()
|
||||
@ -34,16 +37,23 @@ Gem5Controller::~Gem5Controller()
|
||||
delete m_Mem;
|
||||
}
|
||||
|
||||
bool Gem5Controller::save(const std::string &path)
|
||||
void Gem5Controller::save(const std::string &path)
|
||||
{
|
||||
// connector.save(path); // FIXME: not working?!
|
||||
DPRINTF(FailState, "Saving state to %s.\n", path);
|
||||
|
||||
Root* root = Root::root();
|
||||
root->Serializable::serializeAll(path);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void Gem5Controller::restore(const std::string &path)
|
||||
{
|
||||
// connector.restore(path); // FIXME: not working?!
|
||||
// FIXME: not working currently
|
||||
Root* root = Root::root();
|
||||
Checkpoint cp(path);
|
||||
|
||||
root->loadState(&cp);
|
||||
}
|
||||
|
||||
// TODO: Implement reboot
|
||||
|
||||
@ -30,7 +30,7 @@ public:
|
||||
void startup();
|
||||
~Gem5Controller();
|
||||
|
||||
bool save(const std::string &path);
|
||||
void save(const std::string &path);
|
||||
void restore(const std::string &path);
|
||||
void reboot();
|
||||
#if defined(CONFIG_EVENT_BREAKPOINTS) ||\
|
||||
|
||||
Reference in New Issue
Block a user