gem5 v24.0.0.0
|
#include <pcstate.hh>
Public Member Functions | |
Addr | pc () const |
void | pc (Addr val) |
Addr | npc () const |
void | npc (Addr val) |
MicroPC | upc () const |
void | upc (MicroPC val) |
MicroPC | nupc () const |
void | nupc (MicroPC val) |
void | uReset () override |
void | setNPC (Addr val) |
void | output (std::ostream &os) const override |
void | update (const PCStateBase &other) override |
bool | equals (const PCStateBase &other) const override |
void | set (Addr val) override |
void | serialize (CheckpointOut &cp) const override |
Serialize an object. | |
void | unserialize (CheckpointIn &cp) override |
Unserialize an object. | |
Public Member Functions inherited from gem5::PCStateBase | |
virtual | ~PCStateBase ()=default |
template<class Target > | |
Target & | as () |
template<class Target > | |
const Target & | as () const |
virtual PCStateBase * | clone () const =0 |
void | update (const PCStateBase *ptr) |
Addr | instAddr () const |
Returns the memory address of the instruction this PC points to. | |
MicroPC | microPC () const |
Returns the current micropc. | |
virtual void | advance ()=0 |
virtual bool | branching () const =0 |
Public Member Functions inherited from gem5::Serializable | |
Serializable () | |
virtual | ~Serializable () |
void | serializeSection (CheckpointOut &cp, const char *name) const |
Serialize an object into a new section. | |
void | serializeSection (CheckpointOut &cp, const std::string &name) const |
void | unserializeSection (CheckpointIn &cp, const char *name) |
Unserialize an a child object. | |
void | unserializeSection (CheckpointIn &cp, const std::string &name) |
Protected Member Functions | |
PCStateWithNext (const PCStateWithNext &other) | |
PCStateWithNext & | operator= (const PCStateWithNext &other)=default |
PCStateWithNext () | |
Protected Member Functions inherited from gem5::PCStateBase | |
PCStateBase (const PCStateBase &other) | |
PCStateBase & | operator= (const PCStateBase &other)=default |
PCStateBase () | |
Protected Attributes | |
Addr | _npc = 0 |
MicroPC | _nupc = 1 |
Protected Attributes inherited from gem5::PCStateBase | |
Addr | _pc = 0 |
MicroPC | _upc = 0 |
Additional Inherited Members | |
Static Public Member Functions inherited from gem5::Serializable | |
static const std::string & | currentSection () |
Gets the fully-qualified name of the active section. | |
static void | generateCheckpointOut (const std::string &cpt_dir, std::ofstream &outstream) |
Generate a checkpoint file so that the serialization can be routed to it. | |
Definition at line 257 of file pcstate.hh.
|
inlineprotected |
Definition at line 264 of file pcstate.hh.
|
inlineprotected |
Definition at line 268 of file pcstate.hh.
|
inlineoverridevirtual |
Reimplemented from gem5::PCStateBase.
Definition at line 313 of file pcstate.hh.
References _npc, _nupc, gem5::PCStateBase::as(), gem5::PCStateBase::equals(), and gem5::ArmISA::ps.
|
inline |
Definition at line 274 of file pcstate.hh.
References _npc.
Referenced by gem5::GenericISA::DelaySlotPCState< InstWidth >::branching(), gem5::GenericISA::SimplePCState< InstWidth >::branching(), gem5::GenericISA::UPCState< InstWidth >::branching(), gem5::RiscvISA::PCState::branching(), gem5::X86ISA::PCState::branching(), gem5::X86ISA::X86MicroopBase::branchTarget(), gem5::SparcISA::SparcStaticInst::buildRetPC(), gem5::RiscvISA::Decoder::decode(), gem5::GenericISA::DelaySlotPCState< InstWidth >::output(), output(), gem5::GenericISA::SimplePCState< InstWidth >::set(), setNPC(), and gem5::X86ISA::Decoder::updateNPC().
|
inline |
Definition at line 275 of file pcstate.hh.
References _npc, and gem5::X86ISA::val.
|
inline |
Definition at line 280 of file pcstate.hh.
References _nupc.
Referenced by gem5::GenericISA::DelaySlotUPCState< InstWidth >::branching(), gem5::GenericISA::UPCState< InstWidth >::branching(), gem5::RiscvISA::PCState::branching(), gem5::X86ISA::PCState::branching(), gem5::GenericISA::DelaySlotUPCState< InstWidth >::output(), gem5::GenericISA::UPCState< InstWidth >::output(), gem5::GenericISA::DelaySlotUPCState< InstWidth >::set(), gem5::GenericISA::UPCState< InstWidth >::set(), gem5::GenericISA::UPCState< InstWidth >::uAdvance(), and gem5::GenericISA::UPCState< InstWidth >::uEnd().
|
inline |
Definition at line 281 of file pcstate.hh.
References _nupc, and gem5::X86ISA::val.
|
protecteddefault |
|
inlineoverridevirtual |
Implements gem5::PCStateBase.
Reimplemented in gem5::GenericISA::UPCState< InstWidth >, gem5::GenericISA::UPCState< 4 >, and gem5::GenericISA::UPCState< 8 >.
Definition at line 298 of file pcstate.hh.
References gem5::ccprintf(), npc(), gem5::X86ISA::os, and pc().
|
inline |
Definition at line 271 of file pcstate.hh.
References gem5::PCStateBase::_pc.
Referenced by gem5::GenericISA::DelaySlotPCState< InstWidth >::branching(), gem5::GenericISA::SimplePCState< InstWidth >::branching(), gem5::GenericISA::UPCState< InstWidth >::branching(), gem5::SparcISA::PowerOnReset::invoke(), gem5::SparcISA::SparcFaultBase::invoke(), gem5::GenericISA::DelaySlotPCState< InstWidth >::output(), output(), gem5::X86ISA::EmuLinux::syscall(), gem5::ArmISA::SelfDebug::testBreakPoints(), gem5::RiscvISA::BreakpointFault::trap_value(), and gem5::X86ISA::Decoder::updateNPC().
|
inline |
Definition at line 272 of file pcstate.hh.
References gem5::PCStateBase::_pc, and gem5::X86ISA::val.
|
inlineoverridevirtual |
Serialize an object.
Output an object's state into the current checkpoint section.
cp | Checkpoint state |
Reimplemented from gem5::PCStateBase.
Definition at line 329 of file pcstate.hh.
References _npc, _nupc, gem5::PCStateBase::serialize(), and SERIALIZE_SCALAR.
|
inlineoverridevirtual |
Reimplemented from gem5::PCStateBase.
Reimplemented in gem5::GenericISA::SimplePCState< InstWidth >, gem5::GenericISA::SimplePCState< 4 >, gem5::GenericISA::UPCState< InstWidth >, gem5::GenericISA::UPCState< 4 >, and gem5::GenericISA::UPCState< 8 >.
Definition at line 321 of file pcstate.hh.
References _npc, _nupc, gem5::PCStateBase::set(), and gem5::X86ISA::val.
Referenced by gem5::GenericISA::SimplePCState< InstWidth >::set().
|
inline |
Definition at line 292 of file pcstate.hh.
References npc(), and gem5::X86ISA::val.
Referenced by gem5::X86ISA::PCState::setNPC().
|
inlineoverridevirtual |
Unserialize an object.
Read an object's state from the current checkpoint section.
cp | Checkpoint state |
Reimplemented from gem5::PCStateBase.
Definition at line 337 of file pcstate.hh.
References _npc, _nupc, gem5::PCStateBase::unserialize(), and UNSERIALIZE_SCALAR.
|
inline |
Definition at line 277 of file pcstate.hh.
References gem5::PCStateBase::_upc.
Referenced by gem5::GenericISA::DelaySlotUPCState< InstWidth >::branching(), gem5::GenericISA::UPCState< InstWidth >::branching(), gem5::RiscvISA::PCState::branching(), gem5::X86ISA::PCState::branching(), gem5::X86ISA::BareMetalWorkload::initState(), gem5::GenericISA::DelaySlotUPCState< InstWidth >::output(), gem5::GenericISA::UPCState< InstWidth >::output(), gem5::GenericISA::DelaySlotUPCState< InstWidth >::set(), gem5::GenericISA::UPCState< InstWidth >::set(), gem5::GenericISA::UPCState< InstWidth >::uAdvance(), and gem5::GenericISA::UPCState< InstWidth >::uEnd().
|
inline |
Definition at line 278 of file pcstate.hh.
References gem5::PCStateBase::_upc, and gem5::X86ISA::val.
|
inlineoverridevirtual |
Reimplemented from gem5::PCStateBase.
Definition at line 304 of file pcstate.hh.
References _npc, _nupc, gem5::PCStateBase::as(), and gem5::PCStateBase::update().
|
inlineoverridevirtual |
Reimplemented from gem5::PCStateBase.
Definition at line 285 of file pcstate.hh.
References _nupc, and gem5::PCStateBase::uReset().
|
protected |
Definition at line 260 of file pcstate.hh.
Referenced by gem5::GenericISA::DelaySlotPCState< InstWidth >::advance(), gem5::GenericISA::SimplePCState< InstWidth >::advance(), equals(), npc(), npc(), serialize(), set(), unserialize(), and update().
|
protected |
Definition at line 262 of file pcstate.hh.
Referenced by equals(), nupc(), nupc(), serialize(), set(), gem5::GenericISA::DelaySlotUPCState< InstWidth >::uAdvance(), gem5::GenericISA::DelaySlotUPCState< InstWidth >::uEnd(), unserialize(), update(), and uReset().