gem5  v21.1.0.0
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Public Member Functions | Protected Types | Protected Attributes | List of all members
gem5::X86ISA::PCState Class Reference

#include <pcstate.hh>

Inheritance diagram for gem5::X86ISA::PCState:
gem5::GenericISA::UPCState< 8 > gem5::GenericISA::SimplePCState< InstWidth > gem5::GenericISA::PCStateBase gem5::Serializable

Public Member Functions

void set (Addr val)
 
 PCState ()
 
 PCState (Addr val)
 
void setNPC (Addr val)
 
uint8_t size () const
 
void size (uint8_t newSize)
 
bool branching () const
 
void advance ()
 
void uEnd ()
 
void serialize (CheckpointOut &cp) const
 Serialize an object. More...
 
void unserialize (CheckpointIn &cp)
 Unserialize an object. More...
 
- Public Member Functions inherited from gem5::GenericISA::UPCState< 8 >
MicroPC upc () const
 
void upc (MicroPC val)
 
MicroPC nupc () const
 
void nupc (MicroPC val)
 
MicroPC microPC () const
 
void set (Addr val)
 
 UPCState ()
 
 UPCState (Addr val)
 
bool branching () const
 
void uAdvance ()
 
void uEnd ()
 
void uReset ()
 
bool operator== (const UPCState< InstWidth > &opc) const
 
bool operator!= (const UPCState< InstWidth > &opc) const
 
void serialize (CheckpointOut &cp) const override
 Serialize an object. More...
 
void unserialize (CheckpointIn &cp) override
 Unserialize an object. More...
 
- Public Member Functions inherited from gem5::GenericISA::SimplePCState< InstWidth >
Addr pc () const
 
void pc (Addr val)
 
Addr npc () const
 
void npc (Addr val)
 
void set (Addr val)
 
void setNPC (Addr val)
 
 SimplePCState ()
 
 SimplePCState (Addr val)
 
bool branching () const
 
void advance ()
 
- Public Member Functions inherited from gem5::GenericISA::PCStateBase
Addr instAddr () const
 Returns the memory address the bytes of this instruction came from. More...
 
Addr nextInstAddr () const
 Returns the memory address the bytes of the next instruction came from. More...
 
MicroPC microPC () const
 Returns the current micropc. More...
 
void set (Addr val)
 Force this PC to reflect a particular value, resetting all its other fields around it. More...
 
bool operator== (const PCStateBase &opc) const
 
bool operator!= (const PCStateBase &opc) const
 
- 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. More...
 
void serializeSection (CheckpointOut &cp, const std::string &name) const
 
void unserializeSection (CheckpointIn &cp, const char *name)
 Unserialize an a child object. More...
 
void unserializeSection (CheckpointIn &cp, const std::string &name)
 

Protected Types

typedef GenericISA::UPCState< 8 > Base
 
- Protected Types inherited from gem5::GenericISA::UPCState< 8 >
typedef SimplePCState< InstWidth > Base
 
- Protected Types inherited from gem5::GenericISA::SimplePCState< InstWidth >
typedef PCStateBase Base
 

Protected Attributes

uint8_t _size
 
- Protected Attributes inherited from gem5::GenericISA::UPCState< 8 >
MicroPC _upc
 
MicroPC _nupc
 
- Protected Attributes inherited from gem5::GenericISA::PCStateBase
Addr _pc
 
Addr _npc
 

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. More...
 
static void generateCheckpointOut (const std::string &cpt_dir, std::ofstream &outstream)
 Generate a checkpoint file so that the serialization can be routed to it. More...
 
- Protected Member Functions inherited from gem5::GenericISA::PCStateBase
 PCStateBase ()
 
 PCStateBase (Addr val)
 

Detailed Description

Definition at line 50 of file pcstate.hh.

Member Typedef Documentation

◆ Base

Definition at line 53 of file pcstate.hh.

Constructor & Destructor Documentation

◆ PCState() [1/2]

gem5::X86ISA::PCState::PCState ( )
inline

Definition at line 65 of file pcstate.hh.

◆ PCState() [2/2]

gem5::X86ISA::PCState::PCState ( Addr  val)
inline

Definition at line 66 of file pcstate.hh.

References set(), and gem5::X86ISA::val.

Member Function Documentation

◆ advance()

void gem5::X86ISA::PCState::advance ( )
inline

◆ branching()

bool gem5::X86ISA::PCState::branching ( ) const
inline

◆ serialize()

void gem5::X86ISA::PCState::serialize ( CheckpointOut cp) const
inlinevirtual

Serialize an object.

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

Parameters
cpCheckpoint state

Reimplemented from gem5::GenericISA::PCStateBase.

Definition at line 100 of file pcstate.hh.

References _size, gem5::GenericISA::PCStateBase::serialize(), and SERIALIZE_SCALAR.

◆ set()

void gem5::X86ISA::PCState::set ( Addr  val)
inline

Definition at line 59 of file pcstate.hh.

References _size, gem5::GenericISA::SimplePCState< InstWidth >::set(), and gem5::X86ISA::val.

Referenced by PCState().

◆ setNPC()

void gem5::X86ISA::PCState::setNPC ( Addr  val)
inline

◆ size() [1/2]

uint8_t gem5::X86ISA::PCState::size ( ) const
inline

Definition at line 75 of file pcstate.hh.

References _size.

Referenced by branching(), and gem5::X86ISA::Decoder::updateNPC().

◆ size() [2/2]

void gem5::X86ISA::PCState::size ( uint8_t  newSize)
inline

Definition at line 76 of file pcstate.hh.

References _size.

◆ uEnd()

void gem5::X86ISA::PCState::uEnd ( )
inline

◆ unserialize()

void gem5::X86ISA::PCState::unserialize ( CheckpointIn cp)
inlinevirtual

Unserialize an object.

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

Parameters
cpCheckpoint state

Reimplemented from gem5::GenericISA::PCStateBase.

Definition at line 107 of file pcstate.hh.

References _size, gem5::GenericISA::PCStateBase::unserialize(), and UNSERIALIZE_SCALAR.

Member Data Documentation

◆ _size

uint8_t gem5::X86ISA::PCState::_size
protected

Definition at line 55 of file pcstate.hh.

Referenced by serialize(), set(), setNPC(), size(), uEnd(), and unserialize().


The documentation for this class was generated from the following file:

Generated on Wed Jul 28 2021 12:11:55 for gem5 by doxygen 1.8.17