Go to the documentation of this file.
75 uint8_t *loc_data = (uint8_t*)
data;
85 (this->*dmaFn)(phys, gen.size(),
event, loc_data, delay);
87 loc_data += gen.size();
104 auto process =
sys->
threads[0]->getProcessPtr();
106 if (!process->pTable->translate(
vaddr, paddr)) {
107 fatal(
"failed translation: vaddr 0x%x\n",
vaddr);
HSAPacketProcessor * hsaPP
#define fatal(...)
This implements a cprintf based fatal() function.
void dmaWriteVirt(Addr host_addr, unsigned size, DmaCallback *cb, void *data, Tick delay=0)
uint64_t Tick
Tick count type.
void dmaReadVirt(Addr host_addr, unsigned size, DmaCallback *cb, void *data, Tick delay=0)
void dmaRead(Addr addr, int size, Event *event, uint8_t *data, uint32_t sid, uint32_t ssid, Tick delay=0)
void schedule(Event &event, Tick when)
void dmaWrite(Addr addr, int size, Event *event, uint8_t *data, uint32_t sid, uint32_t ssid, Tick delay=0)
void translateOrDie(Addr vaddr, Addr &paddr)
HSADevices will perform DMA operations on VAs, and because page faults are not currently supported fo...
Event * getChunkEvent()
Request a chunk event.
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?
HSAPacketProcessor & hsaPacketProc()
void dmaVirt(DmaFnPtr, Addr host_addr, unsigned size, DmaCallback *cb, void *data, Tick delay=0)
This class takes an arbitrary memory region (address/length pair) and generates a series of appropria...
Tick curTick()
The current simulated tick.
Generated on Wed Sep 30 2020 14:02:11 for gem5 by doxygen 1.8.17