gem5  v22.1.0.0
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
gem5::IntSinkPinBase Class Referenceabstract

#include <intpin.hh>

Inheritance diagram for gem5::IntSinkPinBase:
gem5::Port gem5::IntSinkPin< gem5::Clint > gem5::IntSinkPin< gem5::X86ISA::Interrupts > gem5::IntSinkPin< Device > gem5::fastmodel::SignalSender

Public Member Functions

int number ()
bool state ()
void bind (Port &peer) override
 Attach to a peer port. More...
void unbind () override
 Dettach from a peer port. More...
- Public Member Functions inherited from gem5::Port
virtual ~Port ()
 Virtual destructor due to inheritance. More...
PortgetPeer ()
 Return a reference to this port's peer. More...
const std::string name () const
 Return port name (for DPRINTF). More...
PortID getId () const
 Get the port id. More...
bool isConnected () const
 Is this port currently connected to a peer? More...
void takeOverFrom (Port *old)
 A utility function to make it easier to swap out ports. More...

Protected Member Functions

 IntSinkPinBase (const std::string &_name, PortID _id, int num)
virtual void raiseOnDevice ()=0
virtual void lowerOnDevice ()=0
void raise ()
void lower ()
- Protected Member Functions inherited from gem5::Port
void reportUnbound () const
 Port (const std::string &_name, PortID _id)
 Abstract base class for ports. More...

Protected Attributes

friend IntSourcePinBase
IntSourcePinBasesource = nullptr
int _number = 0
bool _state = false
- Protected Attributes inherited from gem5::Port
const PortID id
 A numeric identifier to distinguish ports in a vector, and set to InvalidPortID in case this port is not part of a vector. More...
 A pointer to this port's peer. More...
bool _connected
 Whether this port is currently connected to a peer port. More...

Detailed Description

Definition at line 38 of file intpin.hh.

Constructor & Destructor Documentation

◆ IntSinkPinBase()

gem5::IntSinkPinBase::IntSinkPinBase ( const std::string &  _name,
PortID  _id,
int  num 

Definition at line 48 of file intpin.hh.

Member Function Documentation

◆ bind()

void gem5::IntSinkPinBase::bind ( Port peer)

Attach to a peer port.

Reimplemented from gem5::Port.

Definition at line 36 of file

References gem5::Port::bind(), fatal_if, gem5::Port::name(), and source.

◆ lower()

void gem5::IntSinkPinBase::lower ( )

Definition at line 63 of file intpin.hh.

References _state, and lowerOnDevice().

Referenced by gem5::IntSourcePinBase::lower().

◆ lowerOnDevice()

virtual void gem5::IntSinkPinBase::lowerOnDevice ( )
protectedpure virtual

◆ number()

int gem5::IntSinkPinBase::number ( )

◆ raise()

void gem5::IntSinkPinBase::raise ( )

Definition at line 56 of file intpin.hh.

References _state, and raiseOnDevice().

Referenced by gem5::IntSourcePinBase::raise().

◆ raiseOnDevice()

virtual void gem5::IntSinkPinBase::raiseOnDevice ( )
protectedpure virtual

◆ state()

bool gem5::IntSinkPinBase::state ( )

Definition at line 71 of file intpin.hh.

References _state.

◆ unbind()

void gem5::IntSinkPinBase::unbind ( )

Dettach from a peer port.

Reimplemented from gem5::Port.

Definition at line 45 of file

References source, and gem5::Port::unbind().

Member Data Documentation

◆ _number

int gem5::IntSinkPinBase::_number = 0

Definition at line 45 of file intpin.hh.

Referenced by number().

◆ _state

bool gem5::IntSinkPinBase::_state = false

Definition at line 46 of file intpin.hh.

Referenced by lower(), raise(), and state().

◆ IntSourcePinBase

friend gem5::IntSinkPinBase::IntSourcePinBase

Definition at line 41 of file intpin.hh.

◆ source

IntSourcePinBase* gem5::IntSinkPinBase::source = nullptr

Definition at line 43 of file intpin.hh.

Referenced by bind(), and unbind().

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

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