gem5
v20.0.0.3
|
#include <algorithm>
#include <iostream>
#include <list>
#include <map>
#include <stack>
#include <set>
#include <vector>
#include "base/bitunion.hh"
#include "base/logging.hh"
#include "base/str.hh"
Go to the source code of this file.
Classes | |
class | CheckpointIn |
class | Serializable |
Basic support for object serialization. More... | |
class | Serializable::ScopedCheckpointSection |
Scoped checkpoint section helper class. More... | |
Macros | |
#define | SERIALIZE_SCALAR(scalar) paramOut(cp, #scalar, scalar) |
#define | UNSERIALIZE_SCALAR(scalar) paramIn(cp, #scalar, scalar) |
#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) arrayParamOut(cp, #member, member, size) |
#define | UNSERIALIZE_ARRAY(member, size) arrayParamIn(cp, #member, member, size) |
#define | SERIALIZE_CONTAINER(member) arrayParamOut(cp, #member, member) |
#define | UNSERIALIZE_CONTAINER(member) arrayParamIn(cp, #member, member) |
#define | SERIALIZE_EVENT(event) event.serializeSection(cp, #event); |
#define | UNSERIALIZE_EVENT(event) |
#define | SERIALIZE_OBJ(obj) obj.serializeSection(cp, #obj) |
#define | UNSERIALIZE_OBJ(obj) obj.unserializeSection(cp, #obj) |
#define | SERIALIZE_OBJPTR(objptr) paramOut(cp, #objptr, (objptr)->name()) |
#define | UNSERIALIZE_OBJPTR(objptr) |
Typedefs | |
typedef std::ostream | CheckpointOut |
Functions | |
template<class T > | |
bool | parseParam (const std::string &s, T &value) |
template<class T > | |
void | showParam (CheckpointOut &os, const T &value) |
template<class T > | |
bool | parseParam (const std::string &s, BitUnionType< T > &value) |
template<class T > | |
void | showParam (CheckpointOut &os, const BitUnionType< T > &value) |
template<> | |
void | showParam (CheckpointOut &os, const char &value) |
template<> | |
void | showParam (CheckpointOut &os, const signed char &value) |
template<> | |
void | showParam (CheckpointOut &os, const unsigned char &value) |
template<> | |
bool | parseParam (const std::string &s, float &value) |
template<> | |
bool | parseParam (const std::string &s, double &value) |
template<> | |
bool | parseParam (const std::string &s, bool &value) |
template<> | |
void | showParam (CheckpointOut &os, const bool &value) |
template<> | |
bool | parseParam (const std::string &s, std::string &value) |
template<class T > | |
void | paramOut (CheckpointOut &os, const std::string &name, const T ¶m) |
template<class T > | |
void | paramIn (CheckpointIn &cp, const std::string &name, T ¶m) |
template<class T > | |
bool | optParamIn (CheckpointIn &cp, const std::string &name, T ¶m, bool warn=true) |
template<class T > | |
void | arrayParamOut (CheckpointOut &os, const std::string &name, const std::vector< T > ¶m) |
template<class T > | |
void | arrayParamOut (CheckpointOut &os, const std::string &name, const std::list< T > ¶m) |
template<class T > | |
void | arrayParamOut (CheckpointOut &os, const std::string &name, const std::set< T > ¶m) |
template<class T > | |
void | arrayParamOut (CheckpointOut &os, const std::string &name, const T *param, unsigned size) |
template<class T > | |
void | arrayParamIn (CheckpointIn &cp, const std::string &name, T *param, unsigned size) |
Extract values stored in the checkpoint, and assign them to the provided array container. More... | |
template<class T > | |
void | arrayParamIn (CheckpointIn &cp, const std::string &name, std::vector< T > ¶m) |
template<class T > | |
void | arrayParamIn (CheckpointIn &cp, const std::string &name, std::list< T > ¶m) |
template<class T > | |
void | arrayParamIn (CheckpointIn &cp, const std::string &name, std::set< T > ¶m) |
void | debug_serialize (const std::string &cpt_dir) |
void | objParamIn (CheckpointIn &cp, const std::string &name, SimObject *¶m) |
#define SERIALIZE_SCALAR | ( | scalar | ) | paramOut(cp, #scalar, scalar) |
Definition at line 763 of file serialize.hh.
Referenced by ArmISA::EndBitUnion(), AnnotateDumpCallback::process(), Sp805::serialize(), Pl011::serialize(), X86ISA::I8237::serialize(), PollEvent::serialize(), ThreadState::serialize(), PS2Keyboard::serialize(), FDEntry::serialize(), PS2TouchKit::serialize(), DisplayTimings::serialize(), DumbTOD::serialize(), ThermalResistor::serialize(), FlashDevice::serialize(), PS2Mouse::serialize(), EtherTapBase::serialize(), Sinic::Base::serialize(), MipsISA::PTE::serialize(), X86ISA::Speaker::serialize(), PowerState::serialize(), FrameBuffer::serialize(), PowerISA::TlbEntry::serialize(), RubySystem::serialize(), EtherSwitch::Interface::serialize(), LocalSimLoopExitEvent::serialize(), ThermalCapacitor::serialize(), DistEtherLink::Link::serialize(), ThermalDomain::serialize(), RiscvISA::TLB::serialize(), HDLcd::serialize(), X86ISA::Cmos::serialize(), MipsISA::TlbEntry::serialize(), CopyEngineReg::Reg< uint64_t >::serialize(), GpuDispatcher::serialize(), MipsISA::TLB::serialize(), Uart8250::serialize(), ArmISA::PMU::serialize(), RiscvISA::TlbEntry::serialize(), Root::serialize(), CopyEngine::CopyEngineChannel::serialize(), EtherSwitch::Interface::PortFifoEntry::serialize(), X86ISA::I82094AA::serialize(), GenericISA::PCStateBase::serialize(), X86ISA::TlbEntry::serialize(), Sp804::Timer::serialize(), X86ISA::I8259::serialize(), VoltageDomain::serialize(), CopyEngineReg::Regs::serialize(), PL031::serialize(), ThermalReference::serialize(), MaltaIO::serialize(), TrafficGen::serialize(), EnergyCtrl::serialize(), RiscvISA::Interrupts::serialize(), CowDiskImage::serialize(), Pl050::serialize(), A9GlobalTimer::Timer::serialize(), FileFDEntry::serialize(), Iob::serialize(), SystemCounter::serialize(), PowerISA::PTE::serialize(), X86ISA::I8042::serialize(), CpuLocalTimer::Timer::serialize(), I2CBus::serialize(), EtherTapStub::serialize(), Gicv3Its::serialize(), BasePixelPump::serialize(), IdeController::serialize(), X86ISA::TLB::serialize(), EtherSwitch::Interface::PortFifo::serialize(), ThermalModel::serialize(), MC146818::serialize(), SparcISA::ISA::serialize(), PowerISA::TLB::serialize(), DVFSHandler::serialize(), UFSHostDevice::serialize(), PipeFDEntry::serialize(), RealViewCtrl::serialize(), SparcISA::TLB::serialize(), CopyEngineReg::ChanRegs::serialize(), GicV2::BankedRegs::serialize(), VGic::serialize(), RealViewOsc::serialize(), DeviceFDEntry::serialize(), VirtIO9PProxy::serialize(), Gicv3Redistributor::serialize(), PciDevice::serialize(), ArmSemihosting::serialize(), Gicv3Distributor::serialize(), DistIface::SyncNode::serialize(), SrcClockDomain::serialize(), PhysicalMemory::serialize(), ArchTimer::serialize(), BaseTrafficGen::serialize(), SparcISA::Interrupts::serialize(), GenericISA::UPCState< MachInst >::serialize(), BasePixelPump::PixelEvent::serialize(), ArmISA::Interrupts::serialize(), ArmSemihosting::FileBase::serialize(), SparcISA::TlbEntry::serialize(), DistIface::SyncSwitch::serialize(), X86ISA::Interrupts::serialize(), Sinic::Device::serialize(), ArmISA::TlbEntry::serialize(), VirtQueue::serialize(), iGbReg::Regs::Reg< uint64_t >::serialize(), Gicv3CPUInterface::serialize(), IGbE::DescCache< iGbReg::RxDesc >::serialize(), DmaReadFifo::serialize(), X86ISA::PCState::serialize(), GenericISA::DelaySlotPCState< MachInst >::serialize(), DistIface::RecvScheduler::Desc::serialize(), NSGigE::serialize(), GenericTimer::CoreTimers::serialize(), ArmSemihosting::FileFeatures::serialize(), IdeDisk::serialize(), ArmSemihosting::File::serialize(), Pl111::serialize(), HDLcd::DmaEngine::serialize(), IGbE::RxDescCache::serialize(), GenericTimerFrame::serialize(), BaseCPU::serialize(), ArmISA::PMU::CounterState::serialize(), DistIface::RecvScheduler::serialize(), GenericISA::DelaySlotUPCState< MachInst >::serialize(), GicV2::serialize(), System::serialize(), IGbE::TxDescCache::serialize(), Event::serialize(), IGbE::serialize(), VirtIODeviceBase::serialize(), DistIface::serialize(), iGbReg::Regs::serialize(), BaseCache::serialize(), and PhysicalMemory::serializeStore().
#define UNSERIALIZE_SCALAR | ( | scalar | ) | paramIn(cp, #scalar, scalar) |
Definition at line 770 of file serialize.hh.
Referenced by ArmISA::EndBitUnion(), AnnotateDumpCallback::process(), Sp805::unserialize(), X86ISA::I8237::unserialize(), Pl011::unserialize(), PollEvent::unserialize(), PS2Keyboard::unserialize(), ThreadState::unserialize(), FDEntry::unserialize(), PS2TouchKit::unserialize(), DisplayTimings::unserialize(), DumbTOD::unserialize(), ThermalResistor::unserialize(), FlashDevice::unserialize(), PS2Mouse::unserialize(), EtherTapBase::unserialize(), Sinic::Base::unserialize(), MipsISA::PTE::unserialize(), X86ISA::Speaker::unserialize(), PowerState::unserialize(), FrameBuffer::unserialize(), RubySystem::unserialize(), PowerISA::TlbEntry::unserialize(), EtherSwitch::Interface::unserialize(), LocalSimLoopExitEvent::unserialize(), ThermalCapacitor::unserialize(), DistEtherLink::Link::unserialize(), ThermalDomain::unserialize(), RiscvISA::TLB::unserialize(), HDLcd::unserialize(), X86ISA::Cmos::unserialize(), GpuDispatcher::unserialize(), MipsISA::TlbEntry::unserialize(), CopyEngineReg::Reg< uint64_t >::unserialize(), MipsISA::TLB::unserialize(), Uart8250::unserialize(), ArmISA::PMU::unserialize(), RiscvISA::TlbEntry::unserialize(), CopyEngine::CopyEngineChannel::unserialize(), EtherSwitch::Interface::PortFifoEntry::unserialize(), X86ISA::I82094AA::unserialize(), X86ISA::TlbEntry::unserialize(), GenericISA::PCStateBase::unserialize(), Sp804::Timer::unserialize(), X86ISA::I8259::unserialize(), VoltageDomain::unserialize(), PL031::unserialize(), MaltaIO::unserialize(), ThermalReference::unserialize(), TrafficGen::unserialize(), EnergyCtrl::unserialize(), CopyEngineReg::Regs::unserialize(), CowDiskImage::unserialize(), Pl050::unserialize(), A9GlobalTimer::Timer::unserialize(), FileFDEntry::unserialize(), RiscvISA::Interrupts::unserialize(), Iob::unserialize(), SystemCounter::unserialize(), PowerISA::PTE::unserialize(), X86ISA::I8042::unserialize(), CpuLocalTimer::Timer::unserialize(), I2CBus::unserialize(), EtherTapStub::unserialize(), Gicv3Its::unserialize(), BasePixelPump::unserialize(), IdeController::unserialize(), X86ISA::TLB::unserialize(), EmulationPageTable::unserialize(), ThermalModel::unserialize(), EtherSwitch::Interface::PortFifo::unserialize(), SparcISA::ISA::unserialize(), PowerISA::TLB::unserialize(), DVFSHandler::unserialize(), UFSHostDevice::unserialize(), MC146818::unserialize(), PipeFDEntry::unserialize(), RealViewCtrl::unserialize(), SparcISA::TLB::unserialize(), GicV2::BankedRegs::unserialize(), VGic::unserialize(), CopyEngineReg::ChanRegs::unserialize(), RealViewOsc::unserialize(), DeviceFDEntry::unserialize(), VirtIO9PProxy::unserialize(), Gicv3Redistributor::unserialize(), ArmSemihosting::unserialize(), PciDevice::unserialize(), Gicv3Distributor::unserialize(), DistIface::SyncNode::unserialize(), SrcClockDomain::unserialize(), BaseTrafficGen::unserialize(), PhysicalMemory::unserialize(), SparcISA::Interrupts::unserialize(), BasePixelPump::PixelEvent::unserialize(), GenericISA::UPCState< MachInst >::unserialize(), ArmISA::Interrupts::unserialize(), SparcISA::TlbEntry::unserialize(), DistIface::SyncSwitch::unserialize(), X86ISA::Interrupts::unserialize(), Sinic::Device::unserialize(), VirtQueue::unserialize(), iGbReg::Regs::Reg< uint64_t >::unserialize(), ArmISA::TlbEntry::unserialize(), Gicv3CPUInterface::unserialize(), IGbE::DescCache< iGbReg::RxDesc >::unserialize(), DmaReadFifo::unserialize(), X86ISA::PCState::unserialize(), DistIface::RecvScheduler::Desc::unserialize(), NSGigE::unserialize(), GenericISA::DelaySlotPCState< MachInst >::unserialize(), GenericTimer::CoreTimers::unserialize(), ArmSemihosting::FileFeatures::unserialize(), IdeDisk::unserialize(), ArmSemihosting::File::unserialize(), Pl111::unserialize(), HDLcd::DmaEngine::unserialize(), IGbE::RxDescCache::unserialize(), GenericTimerFrame::unserialize(), BaseCPU::unserialize(), ArmISA::PMU::CounterState::unserialize(), DistIface::RecvScheduler::unserialize(), GenericISA::DelaySlotUPCState< MachInst >::unserialize(), GicV2::unserialize(), System::unserialize(), IGbE::TxDescCache::unserialize(), Event::unserialize(), IGbE::unserialize(), VirtIODeviceBase::unserialize(), DistIface::unserialize(), iGbReg::Regs::unserialize(), BaseCache::unserialize(), and PhysicalMemory::unserializeStore().
typedef std::ostream CheckpointOut |
Definition at line 63 of file serialize.hh.
void debug_serialize | ( | const std::string & | cpt_dir | ) |
Referenced by arrayParamIn().