Go to the documentation of this file.
46 #ifndef __SIM_OBJECT_HH__
47 #define __SIM_OBJECT_HH__
53 #include "params/SimObject.hh"
133 virtual const std::string
name()
const {
return params()->name; }
275 static void debugObjectBreak(
const std::string &objs);
308 void debugObjectBreak(
const char *objs);
311 #endif // __SIM_OBJECT_HH__
virtual void regProbeListeners()
Register probe listeners for this object.
Base class to wrap object resolving functionality.
virtual ~SimObjectResolver()
virtual void memInvalidate()
Invalidate the contents of memory buffers.
virtual void initState()
initState() is called on each SimObject when not restoring from a checkpoint.
const PortID InvalidPortID
static void serializeAll(CheckpointOut &cp)
Serialize all SimObjects in the system.
static SimObjectList simObjectList
List of all instantiated simulation objects.
Basic support for object serialization.
virtual SimObject * resolveSimObject(const std::string &name)=0
Find a SimObject given a full path name.
virtual void memWriteback()
Write back dirty buffers to memory using functional writes.
int16_t PortID
Port index/ID type, and a symbolic name for an invalid port id.
void unserialize(CheckpointIn &cp) override
Unserialize an object.
@ Drained
Buffers drained, ready for serialization/handover.
virtual void startup()
startup() is the final initialization call before simulation.
DrainState
Object drain/handover states.
Interface for objects that might require draining before checkpointing.
virtual Port & getPort(const std::string &if_name, PortID idx=InvalidPortID)
Get a port with a given name and index.
Ports are used to interface objects to each other.
void serialize(CheckpointOut &cp) const override
Serialize an object.
std::vector< SimObject * > SimObjectList
const Params * params() const
const std::string & name()
ProbeManager * getProbeManager()
Get the probe manager for this object.
virtual const std::string name() const
DrainState drain() override
Provide a default implementation of the drain interface for objects that don't need draining.
virtual void regProbePoints()
Register probe points for this object.
virtual void loadState(CheckpointIn &cp)
loadState() is called on each SimObject when restoring from a checkpoint.
ProbeManager is a conduit class that lives on each SimObject, and is used to match up probe listeners...
const SimObjectParams * _params
Cached copy of the object parameters.
SimObject(const Params *_params)
virtual void init()
init() is called after all C++ SimObjects have been created and all ports are connected.
std::ostream CheckpointOut
ProbeManager * probeManager
Manager coordinates hooking up probe points with listeners.
static SimObject * find(const char *name)
Find the SimObject with the given name and return a pointer to it.
Abstract superclass for simulation objects.
Generated on Wed Sep 30 2020 14:02:14 for gem5 by doxygen 1.8.17