40#include "debug/AddrRanges.hh"
42#include "params/PciBus.hh"
51 std::string portName =
name() +
".config_error_port";
62 if (if_name ==
"config_error_port") {
77 DPRINTF(AddrRanges,
"Got new config range: %s\n",
The AddrRange class encapsulates an address range, and supports a number of tests to check if two ran...
PortID defaultPortID
Port that handles requests that don't match any of the interfaces.
std::vector< RequestPort * > memSidePorts
virtual PortID findPort(AddrRange addr_range, PacketPtr pkt=nullptr)
Find which port connected to this crossbar (if any) should be given a packet with this address range.
Port & getPort(const std::string &if_name, PortID idx=InvalidPortID) override
A function used to return the port associated with this object.
virtual void recvRangeChange(PortID mem_side_port_id)
Function called by the port when the crossbar is recieving a range change.
ClockedObjectParams Params
Parameters of ClockedObject.
Declaration of the crossbar memory-side port type, one will be instantiated for each of the CPU-side ...
NoncoherentXBar(const NoncoherentXBarParams &p)
std::vector< ReqLayer * > reqLayers
Declare the layers of this crossbar, one vector for requests and one for responses.
PortID findPort(AddrRange addr_range, PacketPtr pkt=nullptr) override
Find which port connected to this crossbar (if any) should be given a packet with this address range.
Port & getPort(const std::string &if_name, PortID idx=InvalidPortID) override
A function used to return the port associated with this object.
void recvRangeChange(PortID mem_side_port_id) override
Function called by the port when the crossbar is recieving a range change.
Ports are used to interface objects to each other.
A RequestPort is a specialisation of a Port, which implements the default protocol for the three diff...
bool isSubset(const AddrRange &r) const
Determine if this range is a subset of another range, i.e.
Copyright (c) 2024 Arm Limited All rights reserved.
int16_t PortID
Port index/ID type, and a symbolic name for an invalid port id.
std::string csprintf(const char *format, const Args &...args)
Declaration of a non-coherent crossbar.
const std::string & name()