49 #ifndef __SIM_OBJECT_HH__
50 #define __SIM_OBJECT_HH__
55 #include "params/SimObject.hh"
117 virtual const std::string
name()
const {
return params()->name; }
220 static void debugObjectBreak(
const std::string &objs);
247 void debugObjectBreak(
const char *objs);
250 #endif // __SIM_OBJECT_HH__
virtual void memWriteback()
Write back dirty buffers to memory using functional writes.
virtual void resetStats()
Reset statistics associated with this object.
const std::string & name()
DrainState
Object drain/handover states.
static void serializeAll(CheckpointOut &cp)
Serialize all SimObjects in the system.
const Params * params() const
ProbeManager is a conduit class that lives on each SimObject, and is used to match up probe listeners...
virtual void regStats()
Register statistics for this object.
virtual ~SimObjectResolver()
Base class to wrap object resolving functionality.
Interface for objects that might require draining before checkpointing.
virtual SimObject * resolveSimObject(const std::string &name)=0
virtual void init()
init() is called after all C++ SimObjects have been created and all ports are connected.
void serialize(CheckpointOut &cp) const override
Serialize an object.
static SimObjectList simObjectList
List of all instantiated simulation objects.
virtual void memInvalidate()
Invalidate the contents of memory buffers.
ProbeManager * probeManager
Manager coordinates hooking up probe points with listeners.
SimObject(const Params *_params)
virtual void regProbePoints()
Register probe points for this object.
virtual void regProbeListeners()
Register probe listeners for this object.
Draining buffers pending serialization/handover.
std::vector< SimObject * > SimObjectList
Basic support for object serialization.
static SimObject * find(const char *name)
Find the SimObject with the given name and return a pointer to it.
virtual const std::string name() const
std::ostream CheckpointOut
ProbeManager * getProbeManager()
Get the probe manager for this object.
const SimObjectParams * _params
Cached copy of the object parameters.
DrainState drain() override
Provide a default implementation of the drain interface for objects that don't need draining...
void unserialize(CheckpointIn &cp) override
Unserialize an object.
virtual void initState()
initState() is called on each SimObject when not restoring from a checkpoint.
Abstract superclass for simulation objects.
virtual void loadState(CheckpointIn &cp)
loadState() is called on each SimObject when restoring from a checkpoint.
virtual void startup()
startup() is the final initialization call before simulation.