49 #include "arch/isa_traits.hh"
51 #include "config/the_isa.hh"
56 using namespace TheISA;
61 process(p), allocating(alloc)
79 prevSize += gen.size();
89 fatal(
"readBlob(0x%x, ...) failed", addr);
109 panic(
"Page table fault when accessing virtual address %#x "
110 "during functional write\n", gen.addr());
118 prevSize += gen.size();
129 fatal(
"writeBlob(0x%x, ...) failed", addr);
158 fatal(
"memsetBlob(0x%x, ...) failed", addr);
186 fatal(
"writeString(0x%x, ...) failed", addr);
216 fatal(
"readString(0x%x, ...) failed", addr);
A MasterPort is a specialisation of a BaseMasterPort, which implements the default protocol for the t...
void readString(std::string &str, Addr addr) const
virtual ~SETranslatingPortProxy()
void allocateMem(Addr vaddr, int64_t size, bool clobber=false)
SETranslatingPortProxy(MasterPort &port, Process *p, AllocType alloc)
virtual void readBlob(Addr addr, uint8_t *p, int size) const
Read size bytes memory at address and store in p.
bool tryReadString(std::string &str, Addr addr) const
bool translate(Addr vaddr, Addr &paddr)
Translate function.
This class takes an arbitrary memory region (address/length pair) and generates a series of appropria...
T roundDown(const T &val, const U &align)
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
virtual void memsetBlob(Addr addr, uint8_t val, int size) const
Fill size bytes starting at addr with byte value val.
virtual void readBlob(Addr addr, uint8_t *p, int size) const
Read size bytes memory at address and store in p.
void writeString(Addr addr, const char *str) const
This object is a proxy for a structural port, to be used for debug accesses.
bool fixupStackFault(Addr vaddr)
Attempt to fix up a fault at vaddr by allocating a page on the stack.
Declarations of a non-full system Page Table.
bool done() const
Are we done? That is, did the last call to next() advance past the end of the region?
bool tryReadBlob(Addr addr, uint8_t *p, int size) const
bool tryMemsetBlob(Addr addr, uint8_t val, int size) const
virtual void writeBlob(Addr addr, const uint8_t *p, int size) const
Write size bytes from p to address.
TranslatingPortProxy Object Declaration for SE.
virtual void memsetBlob(Addr addr, uint8_t v, int size) const
Fill size bytes starting at addr with byte value val.
Declaration and inline definition of ChunkGenerator object.
bool tryWriteBlob(Addr addr, const uint8_t *p, int size) const
virtual void writeBlob(Addr addr, const uint8_t *p, int size) const
Write size bytes from p to address.
bool tryWriteString(Addr addr, const char *str) const