28#ifndef __SYSTEMC_TLM_PORT_WRAPPER_HH__
29#define __SYSTEMC_TLM_PORT_WRAPPER_HH__
38template <
unsigned int BUSWIDTH,
typename FW_IF,
typename BW_IF,
int N,
42template <
unsigned int BUSWIDTH,
typename FW_IF,
typename BW_IF,
int N,
46template <
unsigned int BUSWIDTH,
typename FW_IF,
typename BW_IF,
int N,
69 fatal_if(!target,
"Attempt to bind TLM initiator socket %s to "
70 "incompatible port %s.",
name(), peer.
name());
81 panic(
"TLM sockets can't be unbound.");
88template <
unsigned int BUSWIDTH,
typename FW_IF,
typename BW_IF,
int N,
114 using namespace gem5;
116 panic(
"TLM sockets can't be unbound.");
123template <
unsigned int BUSWIDTH=32,
130template <
unsigned int BUSWIDTH=32,
Ports are used to interface objects to each other.
Port(const std::string &_name, PortID _id)
Abstract base class for ports.
const std::string name() const
Return port name (for DPRINTF).
virtual void bind(Port &peer)
Attach to a peer port.
InitiatorSocket & _initiator
TlmTargetBaseWrapper< BUSWIDTH, svp_gicv3_comms::gicv3_comms_fw_if, svp_gicv3_comms::gicv3_comms_bw_if, N, POL > TargetWrapper
InitiatorSocket::base_target_socket_type TargetSocket
void unbind() override
Dettach from a peer port.
tlm::tlm_base_initiator_socket< BUSWIDTH, svp_gicv3_comms::gicv3_comms_fw_if, svp_gicv3_comms::gicv3_comms_bw_if, N, POL > InitiatorSocket
void bind(gem5::Port &peer) override
Attach to a peer port.
InitiatorSocket & initiator()
TlmInitiatorBaseWrapper(InitiatorSocket &i, const std::string &_name, gem5::PortID _id)
void bind(gem5::Port &peer) override
Attach to a peer port.
void unbind() override
Dettach from a peer port.
tlm::tlm_base_target_socket< BUSWIDTH, svp_gicv3_comms::gicv3_comms_fw_if, svp_gicv3_comms::gicv3_comms_bw_if, N, POL > TargetSocket
TlmTargetBaseWrapper(TargetSocket &t, const std::string &_name, gem5::PortID _id)
virtual void bind(base_target_socket_type &s)
The following warning is disabled because the bind methods are overloaded in the derived class and th...
tlm_base_target_socket_b< BUSWIDTH, fw_interface_type, bw_interface_type > base_target_socket_type
#define panic(...)
This implements a cprintf based panic() function.
#define fatal_if(cond,...)
Conditional fatal macro that checks the supplied condition and only causes a fatal error if the condi...
Copyright (c) 2024 Arm Limited All rights reserved.
int16_t PortID
Port index/ID type, and a symbolic name for an invalid port id.
TlmTargetBaseWrapper< BUSWIDTH, tlm::tlm_fw_transport_if< TYPES >, tlm::tlm_bw_transport_if< TYPES >, N, POL > TlmTargetWrapper
TlmInitiatorBaseWrapper< BUSWIDTH, tlm::tlm_fw_transport_if< TYPES >, tlm::tlm_bw_transport_if< TYPES >, N, POL > TlmInitiatorWrapper