59 #ifndef __MEM_PORT_PROXY_HH__
60 #define __MEM_PORT_PROXY_HH__
62 #include "config/the_isa.hh"
63 #if THE_ISA != NULL_ISA
64 #include "arch/isa_traits.hh"
117 template <
typename T>
123 template <
typename T>
126 #if THE_ISA != NULL_ISA
131 template <
typename T>
132 T readGtoH(
Addr address)
const;
138 template <
typename T>
139 void writeHtoG(
Addr address, T
data)
const;
144 template <
typename T>
149 readBlob(address, (uint8_t*)&data,
sizeof(T));
153 template <
typename T>
157 writeBlob(address, (uint8_t*)&data,
sizeof(T));
160 #if THE_ISA != NULL_ISA
161 template <
typename T>
163 PortProxy::readGtoH(
Addr address)
const
166 readBlob(address, (uint8_t*)&data,
sizeof(T));
170 template <
typename T>
172 PortProxy::writeHtoG(
Addr address, T data)
const
175 writeBlob(address, (uint8_t*)&data,
sizeof(T));
179 #endif // __MEM_PORT_PROXY_HH__
MasterPort & _port
The actual physical port used by this proxy.
A MasterPort is a specialisation of a BaseMasterPort, which implements the default protocol for the t...
const unsigned int _cacheLineSize
Granularity of any transactions issued through this proxy.
void write(Addr address, T data) const
Write object T to address.
PortProxy(MasterPort &port, unsigned int cacheLineSize)
T read(Addr address) const
Read sizeof(T) bytes from address and return as object T.
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
virtual void readBlob(Addr addr, uint8_t *p, int size) const
Read size bytes memory at address and store in p.
This object is a proxy for a structural port, to be used for debug accesses.
virtual void writeBlob(Addr addr, const uint8_t *p, int size) const
Write size bytes from p to address.
virtual void memsetBlob(Addr addr, uint8_t v, int size) const
Fill size bytes starting at addr with byte value val.