gem5  v22.1.0.0
Classes | Macros | Functions | Variables
The Serialize API.

These methods related to the "Serialize" interface. More...

Classes

struct  gem5::ParseParam< T, Enable >
 

Macros

#define SERIALIZE_EVENT(event)   event.serializeSection(cp, #event);
 
#define UNSERIALIZE_EVENT(event)
 
#define UNSERIALIZE_OPT_SCALAR(scalar)   optParamIn(cp, #scalar, scalar)
 
#define SERIALIZE_ENUM(scalar)   paramOut(cp, #scalar, (int)scalar)
 
#define UNSERIALIZE_ENUM(scalar)
 
#define SERIALIZE_ARRAY(member, size)    ::gem5::arrayParamOut(cp, #member, member, size)
 
#define UNSERIALIZE_ARRAY(member, size)    ::gem5::arrayParamIn(cp, #member, member, size)
 
#define SERIALIZE_CONTAINER(member)    ::gem5::arrayParamOut(cp, #member, member)
 
#define UNSERIALIZE_CONTAINER(member)    ::gem5::arrayParamIn(cp, #member, member)
 
#define SERIALIZE_OBJ(obj)   obj.serializeSection(cp, #obj)
 This macro serializes an object into its own section. More...
 
#define UNSERIALIZE_OBJ(obj)   obj.unserializeSection(cp, #obj)
 

Functions

static std::string gem5::CheckpointIn::setDir (const std::string &base_name)
 Set the current directory. More...
 
static std::string gem5::CheckpointIn::dir ()
 Get the current checkout directory name. More...
 
 gem5::Serializable::Serializable ()
 
virtual void gem5::Serializable::serialize (CheckpointOut &cp) const =0
 Serialize an object. More...
 
virtual void gem5::Serializable::unserialize (CheckpointIn &cp)=0
 Unserialize an object. More...
 
void gem5::Serializable::serializeSection (CheckpointOut &cp, const char *name) const
 Serialize an object into a new section. More...
 
void gem5::Serializable::serializeSection (CheckpointOut &cp, const std::string &name) const
 
void gem5::Serializable::unserializeSection (CheckpointIn &cp, const char *name)
 Unserialize an a child object. More...
 
void gem5::Serializable::unserializeSection (CheckpointIn &cp, const std::string &name)
 
static const std::string & gem5::Serializable::currentSection ()
 Gets the fully-qualified name of the active section. More...
 
static void gem5::Serializable::generateCheckpointOut (const std::string &cpt_dir, std::ofstream &outstream)
 Generate a checkpoint file so that the serialization can be routed to it. More...
 
template<class T >
void gem5::paramOut (CheckpointOut &os, const std::string &name, const T &param)
 This function is used for writing parameters to a checkpoint. More...
 
template<class T >
bool gem5::optParamIn (CheckpointIn &cp, const std::string &name, T &param, bool do_warn=true)
 This function is used for restoring optional parameters from the checkpoint. More...
 
template<class T >
void gem5::paramIn (CheckpointIn &cp, const std::string &name, T &param)
 This function is used for restoring parameters from a checkpoint. More...
 
template<class InputIterator >
void gem5::arrayParamOut (CheckpointOut &os, const std::string &name, InputIterator start, InputIterator end)
 
template<class T >
void gem5::arrayParamOut (CheckpointOut &os, const std::string &name, const T *param, unsigned size)
 
template<class T , class InsertIterator >
void gem5::arrayParamIn (CheckpointIn &cp, const std::string &name, InsertIterator inserter, ssize_t fixed_size=-1)
 Extract values stored in the checkpoint, and assign them to the provided array container. More...
 
template<class T >
decltype(std::declval< T >().insert(std::declval< typename T::value_type >()), void()) gem5::arrayParamIn (CheckpointIn &cp, const std::string &name, T &param)
 
template<class T >
void gem5::arrayParamIn (CheckpointIn &cp, const std::string &name, T *param, unsigned size)
 
virtual void gem5::SimObject::loadState (CheckpointIn &cp)
 loadState() is called on each SimObject when restoring from a checkpoint. More...
 
virtual void gem5::SimObject::initState ()
 initState() is called on each SimObject when not restoring from a checkpoint. More...
 
virtual SimObjectgem5::SimObjectResolver::resolveSimObject (const std::string &name)=0
 Find a SimObject given a full path name. More...
 
void gem5::objParamIn (CheckpointIn &cp, const std::string &name, SimObject *&param)
 To avoid circular dependencies the unserialization of SimObjects must be implemented here. More...
 

Variables

template<class T >
decltype(std::begin(std::declval< const T & >()), std::end(std::declval< const T & >()), void()) gem5::arrayParamOut (CheckpointOut &os, const std::string &name, const T &param)
 
const std::string gem5::CheckpointIn::getCptDir ()
 
bool gem5::CheckpointIn::find (const std::string &section, const std::string &entry, std::string &value)
 
bool gem5::CheckpointIn::entryExists (const std::string &section, const std::string &entry)
 
bool gem5::CheckpointIn::sectionExists (const std::string &section)
 
void gem5::CheckpointIn::visitSection (const std::string &section, IniFile::VisitSectionCallback cb)
 
template<class CP >
 gem5::Serializable::ScopedCheckpointSection::ScopedCheckpointSection (CP &cp, const char *name)
 This is the constructor for Scoped checkpoint section helper class. More...
 
template<class CP >
 gem5::Serializable::ScopedCheckpointSection::ScopedCheckpointSection (CP &cp, const std::string &name)
 

Detailed Description

These methods related to the "Serialize" interface.

Macro Definition Documentation

◆ SERIALIZE_ARRAY

#define SERIALIZE_ARRAY (   member,
  size 
)     ::gem5::arrayParamOut(cp, #member, member, size)

Definition at line 610 of file serialize.hh.

◆ SERIALIZE_CONTAINER

#define SERIALIZE_CONTAINER (   member)     ::gem5::arrayParamOut(cp, #member, member)

Definition at line 626 of file serialize.hh.

◆ SERIALIZE_ENUM

#define SERIALIZE_ENUM (   scalar)    paramOut(cp, #scalar, (int)scalar)

Definition at line 591 of file serialize.hh.

◆ SERIALIZE_EVENT

#define SERIALIZE_EVENT (   event)    event.serializeSection(cp, #event);

Definition at line 1163 of file eventq.hh.

◆ SERIALIZE_OBJ

#define SERIALIZE_OBJ (   obj)    obj.serializeSection(cp, #obj)

This macro serializes an object into its own section.

The object must inherit from Serializable, but NOT from SimObject (i.e, it is an object in the strict sense of "object oriented programing"). Objects that derive from SimObject are automatically serialized elsewhere (

See also
Serializable, SimObject::serializeAll()).

Definition at line 648 of file serialize.hh.

◆ UNSERIALIZE_ARRAY

#define UNSERIALIZE_ARRAY (   member,
  size 
)     ::gem5::arrayParamIn(cp, #member, member, size)

Definition at line 618 of file serialize.hh.

◆ UNSERIALIZE_CONTAINER

#define UNSERIALIZE_CONTAINER (   member)     ::gem5::arrayParamIn(cp, #member, member)

Definition at line 634 of file serialize.hh.

◆ UNSERIALIZE_ENUM

#define UNSERIALIZE_ENUM (   scalar)
Value:
do { \
int tmp; \
::gem5::paramIn(cp, #scalar, tmp); \
scalar = static_cast<decltype(scalar)>(tmp); \
} while (0)
void paramIn(CheckpointIn &cp, const std::string &name, T &param)
This function is used for restoring parameters from a checkpoint.
Definition: serialize.hh:377

Definition at line 598 of file serialize.hh.

◆ UNSERIALIZE_EVENT

#define UNSERIALIZE_EVENT (   event)
Value:
do { \
event.unserializeSection(cp, #event); \
eventQueue()->checkpointReschedule(&event); \
} while (0)
Bitfield< 10, 5 > event

Definition at line 1170 of file eventq.hh.

◆ UNSERIALIZE_OBJ

#define UNSERIALIZE_OBJ (   obj)    obj.unserializeSection(cp, #obj)

Definition at line 655 of file serialize.hh.

◆ UNSERIALIZE_OPT_SCALAR

#define UNSERIALIZE_OPT_SCALAR (   scalar)    optParamIn(cp, #scalar, scalar)

Definition at line 582 of file serialize.hh.

Function Documentation

◆ arrayParamIn() [1/3]

template<class T , class InsertIterator >
void gem5::arrayParamIn ( CheckpointIn cp,
const std::string &  name,
InsertIterator  inserter,
ssize_t  fixed_size = -1 
)

Extract values stored in the checkpoint, and assign them to the provided array container.

Parameters
cpThe checkpoint to be parsed.
nameName of the container.
paramThe array container.
sizeThe expected number of entries to be extracted.

Definition at line 441 of file serialize.hh.

References gem5::Serializable::currentSection(), fatal_if, gem5::CheckpointIn::find(), name(), gem5::scmi::token, and gem5::tokenize().

◆ arrayParamIn() [2/3]

template<class T >
decltype(std::declval<T>().insert(std::declval<typename T::value_type>()), void()) gem5::arrayParamIn ( CheckpointIn cp,
const std::string &  name,
T &  param 
)

Definition at line 470 of file serialize.hh.

References name().

◆ arrayParamIn() [3/3]

template<class T >
void gem5::arrayParamIn ( CheckpointIn cp,
const std::string &  name,
T *  param,
unsigned  size 
)

Definition at line 494 of file serialize.hh.

References data, name(), and gem5::operator*().

◆ arrayParamOut() [1/2]

template<class T >
void gem5::arrayParamOut ( CheckpointOut os,
const std::string &  name,
const T *  param,
unsigned  size 
)

Definition at line 421 of file serialize.hh.

References gem5::arrayParamOut, name(), and gem5::X86ISA::os.

◆ arrayParamOut() [2/2]

template<class InputIterator >
void gem5::arrayParamOut ( CheckpointOut os,
const std::string &  name,
InputIterator  start,
InputIterator  end 
)

Definition at line 388 of file serialize.hh.

References name(), gem5::X86ISA::os, and gem5::ShowParam< T, Enabled >::show().

◆ currentSection()

const std::string & gem5::Serializable::currentSection ( )
static

◆ dir()

std::string gem5::CheckpointIn::dir ( )
static

Get the current checkout directory name.

This function exports the current checkout point directory name so other objects can derive filenames from it (e.g., memory). The return value is guaranteed to end in '/' so filenames can be directly appended. This function is only valid while a checkpoint is being created.

Definition at line 154 of file serialize.cc.

Referenced by gem5::CowDiskImage::serialize(), gem5::memory::PhysicalMemory::serializeStore(), TEST(), TEST_F(), and gem5::ruby::RubySystem::writeCompressedTrace().

◆ entryExists()

bool gem5::CheckpointIn::entryExists ( const std::string &  section,
const std::string &  entry 
)
Parameters
sectionHere we mention the section we are looking for (example: currentsection).
entryMention the entry we are looking for (example: interrupt time) in the section.
Returns
Returns true if the entry exists in the named section we are looking in.

Definition at line 178 of file serialize.cc.

References gem5::CheckpointIn::db, and gem5::IniFile::entryExists().

Referenced by gem5::GicV2::unserialize().

◆ find()

bool gem5::CheckpointIn::find ( const std::string &  section,
const std::string &  entry,
std::string &  value 
)
Parameters
sectionHere we mention the section we are looking for (example: currentsection).
entryMention the entry we are looking for (example: Cache line size etc) in the section.
valueGive the value at the said entry.
Returns
Returns true if the searched parameter exists with the value, given the section .

Definition at line 193 of file serialize.cc.

References gem5::CheckpointIn::db, and gem5::IniFile::find().

Referenced by gem5::arrayParamIn(), gem5::objParamIn(), gem5::paramInImpl(), and gem5::Globals::unserialize().

◆ generateCheckpointOut()

void gem5::Serializable::generateCheckpointOut ( const std::string &  cpt_dir,
std::ofstream &  outstream 
)
static

Generate a checkpoint file so that the serialization can be routed to it.

Parameters
cpt_dirThe dir at which the cpt file will be created.
outstreamThe cpt file.

Definition at line 88 of file serialize.cc.

References gem5::CheckpointIn::baseFilename, fatal, gem5::CheckpointIn::setDir(), and gem5::VegaISA::t.

Referenced by gem5::SimObject::serializeAll(), TEST(), and TEST_F().

◆ getCptDir()

const std::string gem5::CheckpointIn::getCptDir ( )
inline
Returns
Returns the current directory being used for creating checkpoints or restoring checkpoints.

Definition at line 85 of file serialize.hh.

References gem5::CheckpointIn::_cptDir.

Referenced by gem5::CheckpointIn::CheckpointIn(), gem5::CowDiskImage::unserialize(), gem5::ruby::RubySystem::unserialize(), and gem5::memory::PhysicalMemory::unserializeStore().

◆ initState()

void gem5::SimObject::initState ( )
virtual

◆ loadState()

void gem5::SimObject::loadState ( CheckpointIn cp)
virtual

loadState() is called on each SimObject when restoring from a checkpoint.

The default implementation simply calls unserialize() if there is a corresponding section in the checkpoint. However, objects can override loadState() to get other behaviors, e.g., doing other programmed initializations after unserialize(), or complaining if no checkpoint section is found.

Parameters
cpCheckpoint to restore the state from.

Definition at line 81 of file sim_object.cc.

References DPRINTF, gem5::Named::name(), gem5::CheckpointIn::sectionExists(), and gem5::Serializable::unserializeSection().

◆ objParamIn()

void gem5::objParamIn ( CheckpointIn cp,
const std::string &  name,
SimObject *&  param 
)

To avoid circular dependencies the unserialization of SimObjects must be implemented here.

Definition at line 205 of file sim_object.cc.

References gem5::Serializable::currentSection(), fatal, gem5::CheckpointIn::find(), gem5::SimObject::getSimObjectResolver(), name(), and gem5::SimObjectResolver::resolveSimObject().

◆ optParamIn()

template<class T >
bool gem5::optParamIn ( CheckpointIn cp,
const std::string &  name,
T &  param,
bool  do_warn = true 
)

This function is used for restoring optional parameters from the checkpoint.

Parameters
cpThe checkpoint to be read from.
nameName of the parameter to be read.
paramValue of the parameter to be read.
do_warnIf the warn is set to true then the function prints the warning message.
Returns
Returns if the parameter existed in the checkpoint.

Definition at line 357 of file serialize.hh.

References gem5::Serializable::currentSection(), name(), gem5::paramInImpl(), and warn_if.

Referenced by gem5::mappingParamIn(), TEST_F(), gem5::Random::unserialize(), gem5::System::unserialize(), gem5::Ticked::unserialize(), gem5::EtherLink::Link::unserialize(), gem5::EthPacketData::unserialize(), and gem5::loader::SymbolTable::unserialize().

◆ paramIn()

template<class T >
void gem5::paramIn ( CheckpointIn cp,
const std::string &  name,
T &  param 
)

This function is used for restoring parameters from a checkpoint.

Parameters
osThe checkpoint to be restored from.
nameName of the parameter to be set.
paramValue of the parameter to be restored.

Definition at line 377 of file serialize.hh.

References gem5::Serializable::currentSection(), fatal_if, name(), and gem5::paramInImpl().

◆ paramOut()

template<class T >
void gem5::paramOut ( CheckpointOut os,
const std::string &  name,
const T &  param 
)

This function is used for writing parameters to a checkpoint.

Parameters
osThe checkpoint to be written to.
nameName of the parameter to be set.
paramValue of the parameter to be written.

Definition at line 327 of file serialize.hh.

References name(), gem5::X86ISA::os, and gem5::ShowParam< T, Enabled >::show().

◆ resolveSimObject()

virtual SimObject* gem5::SimObjectResolver::resolveSimObject ( const std::string &  name)
pure virtual

Find a SimObject given a full path name.

Implemented in gem5::CxxConfigManager::SimObjectResolver, and gem5::PybindSimObjectResolver.

Referenced by gem5::objParamIn().

◆ ScopedCheckpointSection() [1/2]

template<class CP >
gem5::Serializable::ScopedCheckpointSection::ScopedCheckpointSection ( CP &  cp,
const char *  name 
)
inline

This is the constructor for Scoped checkpoint section helper class.

Scoped checkpoint helper class creates a section within a checkpoint without the need for a separate serializeable object. It is mainly used within the Serializable class when serializing or unserializing section (see serializeSection() and unserializeSection()). It can also be used to maintain backwards compatibility in existing code that serializes structs that are not inheriting from Serializable into subsections.

When the class is instantiated, it appends a name to the active path in a checkpoint. The old path is later restored when the instance is destroyed. For example, serializeSection() could be implemented by instantiating a ScopedCheckpointSection and then calling serialize() on an object.

Definition at line 198 of file serialize.hh.

References name(), gem5::Serializable::ScopedCheckpointSection::nameOut(), and gem5::Serializable::ScopedCheckpointSection::pushName().

◆ ScopedCheckpointSection() [2/2]

template<class CP >
gem5::Serializable::ScopedCheckpointSection::ScopedCheckpointSection ( CP &  cp,
const std::string &  name 
)
inline

◆ sectionExists()

bool gem5::CheckpointIn::sectionExists ( const std::string &  section)

◆ Serializable()

gem5::Serializable::Serializable ( )

Definition at line 65 of file serialize.cc.

◆ serialize()

virtual void gem5::Serializable::serialize ( CheckpointOut cp) const
pure virtual

Serialize an object.

Output an object's state into the current checkpoint section.

Parameters
cpCheckpoint state

Implemented in gem5::DistIface::Sync, gem5::VoltageDomain, gem5::TickedObject, gem5::Ticked, gem5::System, gem5::SimObject, gem5::LocalSimLoopExitEvent, SerializableType, gem5::SEWorkload, gem5::Root, gem5::Process, gem5::PowerState, gem5::MemState, gem5::MemPools, gem5::MemPool, gem5::KernelWorkload, gem5::Globals, gem5::DeviceFDEntry, gem5::PipeFDEntry, gem5::FileFDEntry, gem5::FDArray, gem5::Event, gem5::DVFSHandler, gem5::ClockedObject, gem5::SrcClockDomain, gem5::ruby::RubySystem, gem5::memory::PhysicalMemory, gem5::EmulationPageTable, gem5::MultiLevelPageTable< EntryTypes >, gem5::memory::CfiMemory, gem5::memory::CfiMemory::ProgramBuffer, gem5::memory::CfiMemory::BlockData, gem5::BaseCache, gem5::GPUDispatcher, gem5::X86ISA::Speaker, gem5::X86ISA::I8259, gem5::X86ISA::I8254, gem5::X86ISA::I8237, gem5::X86ISA::I82094AA, gem5::X86ISA::I8042, gem5::X86ISA::Cmos, gem5::VirtIO9PProxy, gem5::VirtIODeviceBase, gem5::VirtQueue, gem5::IdeDisk, gem5::IdeController, gem5::CowDiskImage, gem5::MmDisk, gem5::Iob, gem5::DumbTOD, gem5::Uart8250, gem5::RiscvRTC, gem5::Plic, gem5::LupV, gem5::HiFive, gem5::Clint, gem5::ps2::TouchKit, gem5::ps2::PS2Mouse, gem5::ps2::PS2Keyboard, gem5::ps2::Device, gem5::BasePixelPump::PixelEvent, gem5::BasePixelPump, gem5::DisplayTimings, gem5::PciDevice, gem5::copy_engine_reg::ChanRegs, gem5::copy_engine_reg::Regs, gem5::CopyEngine, gem5::CopyEngine::CopyEngineChannel, gem5::sinic::Device, gem5::sinic::Base, gem5::NSGigE, gem5::igbreg::Regs, gem5::IGbE, gem5::IGbE::TxDescCache, gem5::IGbE::RxDescCache, gem5::IGbE::DescCache< T >, gem5::IGbE::DescCache< igbreg::TxDesc >, gem5::IGbE::DescCache< igbreg::RxDesc >, gem5::EtherTapStub, gem5::EtherTapBase, gem5::EtherSwitch, gem5::EtherLink, gem5::DistIface, gem5::DistIface::RecvScheduler, gem5::DistIface::RecvScheduler::Desc, gem5::DistIface::SyncSwitch, gem5::DistIface::SyncNode, gem5::DistEtherLink, gem5::DistEtherLink::Link, gem5::MaltaIO, gem5::MaltaCChip, gem5::Malta, gem5::I2CBus, gem5::DmaReadFifo, gem5::Sp805, gem5::GenericWatchdog, gem5::VGic, gem5::UFSHostDevice, gem5::Sp804, gem5::Sp804::Timer, gem5::CpuLocalTimer, gem5::CpuLocalTimer::Timer, gem5::SMMUv3, gem5::RealViewOsc, gem5::RealViewCtrl, gem5::PL031, gem5::Pl111, gem5::Pl011, gem5::Pl050, gem5::HDLcd::DmaEngine, gem5::HDLcd, gem5::NoMaliGpu, gem5::Gicv3Redistributor, gem5::Gicv3Its, gem5::Gicv3Distributor, gem5::Gicv3CPUInterface, gem5::Gicv3, gem5::GicV2, gem5::GicV2::BankedRegs, gem5::GenericTimerFrame, gem5::GenericTimer::CoreTimers, gem5::GenericTimer, gem5::ArchTimer, gem5::SystemCounter, gem5::FlashDevice, gem5::EnergyCtrl, gem5::ArmInterruptPin, gem5::SDMAEngine, gem5::PM4PacketProcessor, gem5::AMDGPUInterruptHandler, gem5::AMDGPUVM, gem5::AMDGPUDevice, gem5::ThreadState, gem5::TrafficGen, gem5::BaseTrafficGen, gem5::SimpleThread, gem5::o3::ThreadState, gem5::MinorCPU, gem5::CheckerCPU, gem5::BaseCPU, gem5::Random, gem5::PollEvent, gem5::FrameBuffer, gem5::X86ISA::TLB, gem5::X86ISA::PCState, gem5::X86ISA::TlbEntry, gem5::X86ISA::ISA, gem5::X86ISA::Interrupts, gem5::SparcISA::TLB, gem5::SparcISA::ISA, gem5::SparcISA::Interrupts, gem5::RiscvISA::TLB, gem5::RiscvISA::TlbEntry, gem5::RiscvISA::ISA, gem5::PowerISA::TLB, gem5::MipsISA::TLB, gem5::MipsISA::Interrupts, gem5::GenericISA::DelaySlotPCState< InstWidth >, gem5::GenericISA::DelaySlotPCState< 4 >, gem5::GenericISA::PCStateWithNext, gem5::PCStateBase, gem5::ArmSemihosting::File, gem5::ArmSemihosting::FileFeatures, gem5::ArmSemihosting::FileBase, gem5::ArmSemihosting, gem5::ArmISA::PMU::CounterState, gem5::ArmISA::PMU, gem5::ArmISA::TlbEntry, gem5::ArmISA::ISA, gem5::ArmISA::Interrupts, gem5::Iris::ISA, gem5::Iris::Interrupts, gem5::VegaISA::GpuTLB, gem5::X86ISA::GpuTLB, gem5::FDEntry, gem5::EtherSwitch::Interface::PortFifo, gem5::EtherSwitch::Interface::PortFifoEntry, gem5::EtherSwitch::Interface, and gem5::RiscvISA::Interrupts.

Referenced by gem5::Serializable::serializeSection().

◆ serializeSection() [1/2]

void gem5::Serializable::serializeSection ( CheckpointOut cp,
const char *  name 
) const

◆ serializeSection() [2/2]

void gem5::Serializable::serializeSection ( CheckpointOut cp,
const std::string &  name 
) const
inline

Definition at line 271 of file serialize.hh.

References name(), and gem5::Serializable::serializeSection().

◆ setDir()

std::string gem5::CheckpointIn::setDir ( const std::string &  base_name)
static

Set the current directory.

This function takes care of inserting curTick() if there's a 'd' in the argument, and appends a '/' if necessary. The final name is returned.

Definition at line 142 of file serialize.cc.

References gem5::csprintf(), gem5::curTick(), and name().

Referenced by gem5::Serializable::generateCheckpointOut(), TEST(), and TEST_F().

◆ unserialize()

virtual void gem5::Serializable::unserialize ( CheckpointIn cp)
pure virtual

Unserialize an object.

Read an object's state from the current checkpoint section.

Parameters
cpCheckpoint state

Implemented in gem5::DistIface::Sync, gem5::VoltageDomain, gem5::TickedObject, gem5::Ticked, gem5::System, gem5::SimObject, gem5::LocalSimLoopExitEvent, SerializableType, gem5::SEWorkload, gem5::Root, gem5::Process, gem5::PowerState, gem5::MemState, gem5::MemPools, gem5::MemPool, gem5::KernelWorkload, gem5::Globals, gem5::DeviceFDEntry, gem5::PipeFDEntry, gem5::FileFDEntry, gem5::FDArray, gem5::Event, gem5::DVFSHandler, gem5::ClockedObject, gem5::SrcClockDomain, gem5::ruby::RubySystem, gem5::memory::PhysicalMemory, gem5::EmulationPageTable, gem5::MultiLevelPageTable< EntryTypes >, gem5::memory::CfiMemory, gem5::memory::CfiMemory::ProgramBuffer, gem5::memory::CfiMemory::BlockData, gem5::BaseCache, gem5::GPUDispatcher, gem5::X86ISA::Speaker, gem5::X86ISA::I8259, gem5::X86ISA::I8254, gem5::X86ISA::I8237, gem5::X86ISA::I82094AA, gem5::X86ISA::I8042, gem5::X86ISA::Cmos, gem5::VirtIO9PProxy, gem5::VirtIODeviceBase, gem5::VirtQueue, gem5::IdeDisk, gem5::IdeController, gem5::CowDiskImage, gem5::Iob, gem5::DumbTOD, gem5::Uart8250, gem5::RiscvRTC, gem5::Plic, gem5::LupV, gem5::HiFive, gem5::Clint, gem5::ps2::TouchKit, gem5::ps2::PS2Mouse, gem5::ps2::PS2Keyboard, gem5::ps2::Device, gem5::BasePixelPump::PixelEvent, gem5::BasePixelPump, gem5::DisplayTimings, gem5::PciDevice, gem5::copy_engine_reg::ChanRegs, gem5::copy_engine_reg::Regs, gem5::CopyEngine, gem5::CopyEngine::CopyEngineChannel, gem5::sinic::Device, gem5::sinic::Base, gem5::NSGigE, gem5::igbreg::Regs, gem5::IGbE, gem5::IGbE::TxDescCache, gem5::IGbE::RxDescCache, gem5::IGbE::DescCache< T >, gem5::IGbE::DescCache< igbreg::TxDesc >, gem5::IGbE::DescCache< igbreg::RxDesc >, gem5::EtherTapStub, gem5::EtherTapBase, gem5::EtherSwitch, gem5::EtherLink, gem5::DistIface, gem5::DistIface::RecvScheduler, gem5::DistIface::RecvScheduler::Desc, gem5::DistIface::SyncSwitch, gem5::DistIface::SyncNode, gem5::DistEtherLink, gem5::DistEtherLink::Link, gem5::MaltaIO, gem5::MaltaCChip, gem5::Malta, gem5::I2CBus, gem5::DmaReadFifo, gem5::Sp805, gem5::GenericWatchdog, gem5::VGic, gem5::UFSHostDevice, gem5::Sp804, gem5::Sp804::Timer, gem5::CpuLocalTimer, gem5::CpuLocalTimer::Timer, gem5::SMMUv3, gem5::RealViewOsc, gem5::RealViewCtrl, gem5::PL031, gem5::Pl111, gem5::Pl011, gem5::Pl050, gem5::HDLcd::DmaEngine, gem5::HDLcd, gem5::NoMaliGpu, gem5::Gicv3Redistributor, gem5::Gicv3Its, gem5::Gicv3Distributor, gem5::Gicv3CPUInterface, gem5::Gicv3, gem5::GicV2, gem5::GicV2::BankedRegs, gem5::GenericTimerFrame, gem5::GenericTimer::CoreTimers, gem5::GenericTimer, gem5::ArchTimer, gem5::SystemCounter, gem5::FlashDevice, gem5::EnergyCtrl, gem5::ArmInterruptPin, gem5::SDMAEngine, gem5::PM4PacketProcessor, gem5::AMDGPUInterruptHandler, gem5::AMDGPUVM, gem5::AMDGPUDevice, gem5::ThreadState, gem5::TrafficGen, gem5::BaseTrafficGen, gem5::SimpleThread, gem5::o3::ThreadState, gem5::MinorCPU, gem5::CheckerCPU, gem5::BaseCPU, gem5::Random, gem5::PollEvent, gem5::FrameBuffer, gem5::X86ISA::TLB, gem5::X86ISA::PCState, gem5::X86ISA::TlbEntry, gem5::X86ISA::ISA, gem5::X86ISA::Interrupts, gem5::SparcISA::TLB, gem5::SparcISA::ISA, gem5::SparcISA::Interrupts, gem5::RiscvISA::TLB, gem5::RiscvISA::TlbEntry, gem5::RiscvISA::ISA, gem5::PowerISA::TLB, gem5::MipsISA::TLB, gem5::MipsISA::Interrupts, gem5::GenericISA::DelaySlotPCState< InstWidth >, gem5::GenericISA::DelaySlotPCState< 4 >, gem5::GenericISA::PCStateWithNext, gem5::PCStateBase, gem5::ArmSemihosting::File, gem5::ArmSemihosting::FileFeatures, gem5::ArmSemihosting::FileBase, gem5::ArmSemihosting, gem5::ArmISA::PMU::CounterState, gem5::ArmISA::PMU, gem5::ArmISA::TlbEntry, gem5::ArmISA::ISA, gem5::ArmISA::Interrupts, gem5::Iris::Interrupts, gem5::VegaISA::GpuTLB, gem5::X86ISA::GpuTLB, gem5::FDEntry, gem5::EtherSwitch::Interface::PortFifo, gem5::EtherSwitch::Interface::PortFifoEntry, gem5::EtherSwitch::Interface, and gem5::RiscvISA::Interrupts.

Referenced by gem5::Serializable::unserializeSection().

◆ unserializeSection() [1/2]

void gem5::Serializable::unserializeSection ( CheckpointIn cp,
const char *  name 
)

◆ unserializeSection() [2/2]

void gem5::Serializable::unserializeSection ( CheckpointIn cp,
const std::string &  name 
)
inline

Definition at line 292 of file serialize.hh.

References name(), and gem5::Serializable::unserializeSection().

◆ visitSection()

void gem5::CheckpointIn::visitSection ( const std::string &  section,
IniFile::VisitSectionCallback  cb 
)

Definition at line 206 of file serialize.cc.

References gem5::CheckpointIn::db, and gem5::IniFile::visitSection().

Referenced by gem5::mappingParamIn().

Variable Documentation

◆ arrayParamOut

template<class T >
decltype(std::begin(std::declval<const T&>()), std::end(std::declval<const T&>()), void()) gem5::arrayParamOut(CheckpointOut &os, const std::string &name, const T &param) ( CheckpointOut os,
const std::string &  name,
const T &  param 
)

Generated on Wed Dec 21 2022 10:23:05 for gem5 by doxygen 1.9.1