gem5  v21.1.0.1
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Public Member Functions | Public Attributes | List of all members
gem5::HSAQueueDescriptor Class Reference

#include <hsa_packet_processor.hh>

Public Member Functions

 HSAQueueDescriptor (uint64_t base_ptr, uint64_t db_ptr, uint64_t hri_ptr, uint32_t size)
 
uint64_t spaceRemaining ()
 
uint64_t spaceUsed ()
 
uint32_t objSize ()
 
uint32_t numObjs ()
 
bool isFull ()
 
bool isEmpty ()
 
uint64_t ptr (uint64_t ix)
 

Public Attributes

uint64_t basePointer
 
uint64_t doorbellPointer
 
uint64_t writeIndex
 
uint64_t readIndex
 
uint32_t numElts
 
uint64_t hostReadIndexPtr
 
bool stalledOnDmaBufAvailability
 
bool dmaInProgress
 

Detailed Description

Definition at line 76 of file hsa_packet_processor.hh.

Constructor & Destructor Documentation

◆ HSAQueueDescriptor()

gem5::HSAQueueDescriptor::HSAQueueDescriptor ( uint64_t  base_ptr,
uint64_t  db_ptr,
uint64_t  hri_ptr,
uint32_t  size 
)
inline

Definition at line 88 of file hsa_packet_processor.hh.

Member Function Documentation

◆ isEmpty()

bool gem5::HSAQueueDescriptor::isEmpty ( )
inline

◆ isFull()

bool gem5::HSAQueueDescriptor::isFull ( )
inline

Definition at line 100 of file hsa_packet_processor.hh.

References spaceRemaining().

◆ numObjs()

uint32_t gem5::HSAQueueDescriptor::numObjs ( )
inline

Definition at line 99 of file hsa_packet_processor.hh.

References numElts.

Referenced by gem5::HSAPacketProcessor::getCommandsFromHost().

◆ objSize()

uint32_t gem5::HSAQueueDescriptor::objSize ( )
inline

Definition at line 98 of file hsa_packet_processor.hh.

References AQL_PACKET_SIZE.

Referenced by gem5::HSAPacketProcessor::getCommandsFromHost(), and ptr().

◆ ptr()

uint64_t gem5::HSAQueueDescriptor::ptr ( uint64_t  ix)
inline

Sometimes queues report that their size is 512k, which would indicate numElts of 0x2000. However, they only have 256k mapped which means any index over 0x1000 will fail an address translation.

Definition at line 103 of file hsa_packet_processor.hh.

References basePointer, numElts, and objSize().

Referenced by gem5::HSAPacketProcessor::getCommandsFromHost().

◆ spaceRemaining()

uint64_t gem5::HSAQueueDescriptor::spaceRemaining ( )
inline

Definition at line 96 of file hsa_packet_processor.hh.

References numElts, readIndex, and writeIndex.

Referenced by isEmpty(), and isFull().

◆ spaceUsed()

uint64_t gem5::HSAQueueDescriptor::spaceUsed ( )
inline

Member Data Documentation

◆ basePointer

uint64_t gem5::HSAQueueDescriptor::basePointer

Definition at line 79 of file hsa_packet_processor.hh.

Referenced by ptr().

◆ dmaInProgress

bool gem5::HSAQueueDescriptor::dmaInProgress

◆ doorbellPointer

uint64_t gem5::HSAQueueDescriptor::doorbellPointer

◆ hostReadIndexPtr

uint64_t gem5::HSAQueueDescriptor::hostReadIndexPtr

◆ numElts

uint32_t gem5::HSAQueueDescriptor::numElts

◆ readIndex

uint64_t gem5::HSAQueueDescriptor::readIndex

◆ stalledOnDmaBufAvailability

bool gem5::HSAQueueDescriptor::stalledOnDmaBufAvailability

◆ writeIndex

uint64_t gem5::HSAQueueDescriptor::writeIndex

The documentation for this class was generated from the following file:

Generated on Tue Sep 7 2021 14:54:00 for gem5 by doxygen 1.8.17