Go to the documentation of this file.
47 #ifndef __DEV_HSA_GPU_COMMAND_PROCESSOR_HH__
48 #define __DEV_HSA_GPU_COMMAND_PROCESSOR_HH__
53 struct GPUCommandProcessorParams;
60 typedef GPUCommandProcessorParams
Params;
69 Addr host_pkt_addr)
override;
71 Addr host_pkt_addr)
override;
165 #endif // __DEV_HSA_GPU_COMMAND_PROCESSOR_HH__
HSAPacketProcessor * hsaPP
void process() override
Callback function invoked on completion of all chunks.
void dispatchPkt(HSAQueueEntry *task)
Once the CP has finished extracting all relevant information about a task and has initialized the ABI...
GPUDispatcher & dispatcher
HSAQueueDescriptor * getQueueDesc(uint32_t queId)
AddrRangeList getAddrRanges() const override
Every PIO device is obliged to provide an implementation that returns the address ranges the device r...
Perform a DMA read of the read_dispatch_id_field_base_byte_offset field, which follows directly after...
uint32_t readDispIdOffset
GPUCommandProcessor()=delete
void submitDispatchPkt(void *raw_pkt, uint32_t queue_id, Addr host_pkt_addr) override
submitDispatchPkt() is the entry point into the CP from the HSAPP and is only meant to be used with A...
uint64_t Tick
Tick count type.
Perform a DMA read of the MQD that corresponds to a hardware queue descriptor (HQD).
void process() override
Callback function invoked on completion of all chunks.
void dmaReadVirt(Addr host_addr, unsigned size, DmaCallback *cb, void *data, Tick delay=0)
_amd_queue_t amdQueue
Keep a copy of the AMD HSA queue because we need info from some of its fields to initialize register ...
uint64_t hostReadIndexPtr
Addr hostAMDQueueAddr
Host-side addr of the amd_queue_t on which this task was queued.
GPUCommandProcessorParams Params
MQDDmaEvent(GPUCommandProcessor &gpu_cmd_proc, HSAQueueEntry *task)
void setShader(Shader *shader)
Tick read(PacketPtr pkt) override
Pure virtual function that the device must implement.
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
GPUCommandProcessor & gpuCmdProc
void submitVendorPkt(void *raw_pkt, uint32_t queue_id, Addr host_pkt_addr) override
submitVendorPkt() is for accepting vendor-specific packets from the HSAPP.
A Packet is used to encapsulate a transfer between two objects in the memory system (e....
GPUCommandProcessor & gpuCmdProc
void initABI(HSAQueueEntry *task)
The CP is responsible for traversing all HSA-ABI-related data structures from memory and initializing...
ReadDispIdOffsetDmaEvent(GPUCommandProcessor &gpu_cmd_proc, HSAQueueEntry *task)
Tick write(PacketPtr pkt) override
Pure virtual function that the device must implement.
Generated on Wed Sep 30 2020 14:02:12 for gem5 by doxygen 1.8.17