CIRCT
20.0.0git
|
A "slice" of some parent MMIO space. More...
#include <Services.h>
Public Member Functions | |
virtual RegionDescriptor | getDescriptor () const |
Get the offset (and size) of the region in the parent (usually global) MMIO address space. More... | |
virtual uint64_t | read (uint32_t addr) const |
Read a 64-bit value from this region, not the global address space. More... | |
virtual void | write (uint32_t addr, uint64_t data) |
Write a 64-bit value to this region, not the global address space. More... | |
virtual std::optional< std::string > | toString () const override |
Public Member Functions inherited from esi::services::ServicePort | |
virtual | ~ServicePort ()=default |
BundlePort (AppID id, std::map< std::string, ChannelPort & > channels) | |
Construct a port. More... | |
Public Member Functions inherited from esi::BundlePort | |
BundlePort (AppID id, std::map< std::string, ChannelPort & > channels) | |
Construct a port. More... | |
virtual | ~BundlePort ()=default |
AppID | getID () const |
Get the ID of the port. More... | |
WriteChannelPort & | getRawWrite (const std::string &name) const |
Get access to the raw byte streams of a channel. More... | |
ReadChannelPort & | getRawRead (const std::string &name) const |
const std::map< std::string, ChannelPort & > & | getChannels () const |
template<typename T > | |
T * | getAs () const |
Cast this Bundle port to a subclass which is actually useful. More... | |
bool | poll () |
Calls poll on all channels in the bundle and returns true if any of them returned true. More... | |
Private Member Functions | |
MMIORegion (AppID id, MMIO *parent, RegionDescriptor desc) | |
Private Attributes | |
MMIO * | parent |
RegionDescriptor | desc |
Friends | |
class | MMIO |
Additional Inherited Members | |
Static Public Member Functions inherited from esi::BundlePort | |
static bool | isWrite (BundleType::Direction bundleDir) |
Compute the direction of a channel given the bundle direction and the bundle port's direction. More... | |
A "slice" of some parent MMIO space.
Definition at line 155 of file Services.h.
|
private |
Definition at line 124 of file Services.cpp.
|
inlinevirtual |
Get the offset (and size) of the region in the parent (usually global) MMIO address space.
Definition at line 162 of file Services.h.
References desc.
Referenced by PYBIND11_MODULE().
|
virtual |
Read a 64-bit value from this region, not the global address space.
Definition at line 126 of file Services.cpp.
References esi::toHex().
Referenced by PYBIND11_MODULE().
|
inlineoverridevirtual |
Reimplemented from esi::services::ServicePort.
Definition at line 168 of file Services.h.
References esi::services::MMIO::RegionDescriptor::base, desc, esi::services::MMIO::RegionDescriptor::size, and esi::toHex().
|
virtual |
Write a 64-bit value to this region, not the global address space.
Definition at line 131 of file Services.cpp.
References esi::toHex().
Referenced by PYBIND11_MODULE().
|
friend |
Definition at line 156 of file Services.h.
|
private |
Definition at line 175 of file Services.h.
Referenced by getDescriptor(), and toString().
|
private |
Definition at line 174 of file Services.h.