49 #include "arch/isa_traits.hh" 51 #include "config/the_isa.hh" 61 process(p), allocating(alloc)
73 auto *bytes =
static_cast<uint8_t *
>(
p);
82 prevSize += gen.size();
93 auto *bytes =
static_cast<const uint8_t *
>(
p);
105 panic(
"Page table fault when accessing virtual address %#x " 106 "during functional write\n", gen.addr());
114 prevSize += gen.size();
A MasterPort is a specialisation of a BaseMasterPort, which implements the default protocol for the t...
#define panic(...)
This implements a cprintf based panic() function.
SETranslatingPortProxy(SendFunctionalFunc func, Process *p, AllocType alloc)
void writeBlobPhys(Addr addr, Request::Flags flags, const void *p, int size) const
Write size bytes from p to physical address.
EmulationPageTable * pTable
void readBlobPhys(Addr addr, Request::Flags flags, void *p, int size) const
Fixed functionality for use in base classes.
void allocateMem(Addr vaddr, int64_t size, bool clobber=false)
bool tryMemsetBlob(Addr addr, uint8_t val, int size) const override
Fill size bytes starting at addr with byte value val.
void memsetBlobPhys(Addr addr, Request::Flags flags, uint8_t v, int size) const
Fill size bytes starting at physical addr with byte value val.
bool translate(Addr vaddr, Addr &paddr)
Translate function.
This class takes an arbitrary memory region (address/length pair) and generates a series of appropria...
bool tryWriteBlob(Addr addr, const void *p, int size) const override
Write size bytes from p to address.
T roundDown(const T &val, const U &align)
This function is used to align addresses in memory.
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
bool done() const
Are we done? That is, did the last call to next() advance past the end of the region?
This object is a proxy for a port or other object which implements the functional response protocol...
bool fixupStackFault(Addr vaddr)
Attempt to fix up a fault at vaddr by allocating a page on the stack.
std::function< void(PacketPtr pkt)> SendFunctionalFunc
Declarations of a non-full system Page Table.
TranslatingPortProxy Object Declaration for SE.
bool tryReadBlob(Addr addr, void *p, int size) const override
Methods to override in base classes.
Declaration and inline definition of ChunkGenerator object.