gem5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
BaseSlavePort Class Reference

A BaseSlavePort is a protocol-agnostic slave port, responsible only for the structural connection to a master port. More...

#include <port.hh>

Inheritance diagram for BaseSlavePort:
Port SlavePort AddrMapper::MapperSlavePort Bridge::BridgeSlavePort CommMonitor::MonitorSlavePort DRAMSim2::MemoryPort ExternalSlave::Port LdsState::CuSidePort MemCheckerMonitor::MonitorSlavePort QueuedSlavePort SerialLink::SerialLinkSlavePort SimpleMemory::MemoryPort TLBCoalescer::CpuSidePort X86ISA::GpuTLB::CpuSidePort

Public Member Functions

BaseMasterPortgetMasterPort () const
 
bool isConnected () const
 
- Public Member Functions inherited from Port
const std::string name () const
 Return port name (for DPRINTF). More...
 
PortID getId () const
 Get the port id. More...
 

Protected Member Functions

 BaseSlavePort (const std::string &name, MemObject *owner, PortID id=InvalidPortID)
 
virtual ~BaseSlavePort ()
 
- Protected Member Functions inherited from Port
 Port (const std::string &_name, MemObject &_owner, PortID _id)
 Abstract base class for ports. More...
 
virtual ~Port ()
 Virtual destructor due to inheritance. More...
 

Protected Attributes

BaseMasterPort_baseMasterPort
 
- Protected Attributes inherited from 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...
 
MemObjectowner
 A reference to the MemObject that owns this port. More...
 

Detailed Description

A BaseSlavePort is a protocol-agnostic slave port, responsible only for the structural connection to a master port.

Definition at line 139 of file port.hh.

Constructor & Destructor Documentation

BaseSlavePort::BaseSlavePort ( const std::string &  name,
MemObject owner,
PortID  id = InvalidPortID 
)
protected

Definition at line 89 of file port.cc.

BaseSlavePort::~BaseSlavePort ( )
protectedvirtual

Definition at line 95 of file port.cc.

Member Function Documentation

BaseMasterPort & BaseSlavePort::getMasterPort ( ) const

Definition at line 100 of file port.cc.

References _baseMasterPort, Port::name(), and panic.

Referenced by MessageSlavePort::recvAtomic().

bool BaseSlavePort::isConnected ( ) const

Member Data Documentation

BaseMasterPort* BaseSlavePort::_baseMasterPort
protected

Definition at line 144 of file port.hh.

Referenced by SlavePort::bind(), getMasterPort(), isConnected(), and SlavePort::unbind().


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

Generated on Fri Jun 9 2017 13:04:03 for gem5 by doxygen 1.8.6