gem5 v24.0.0.0
|
User mode queue. More...
#include <hsa.h>
Public Attributes | |
hsa_queue_type32_t | type |
Queue type. | |
uint32_t | features |
Queue features mask. | |
uint32_t | reserved0 |
void * | base_address |
hsa_signal_t | doorbell_signal |
Signal object used by the application to indicate the ID of a packet that is ready to be processed. | |
uint32_t | size |
Maximum number of packets the queue can hold. | |
uint32_t | reserved1 |
Reserved. | |
uint64_t | id |
Queue identifier, which is unique over the lifetime of the application. | |
User mode queue.
The queue structure is read-only and allocated by the HSA runtime, but agents can directly modify the contents of the buffer pointed by base_address, or use HSA runtime APIs to access the doorbell signal.
hsa_signal_t hsa_queue_s::doorbell_signal |
Signal object used by the application to indicate the ID of a packet that is ready to be processed.
The HSA runtime manages the doorbell signal. If the application tries to replace or destroy this signal, the behavior is undefined.
If type is HSA_QUEUE_TYPE_SINGLE, the doorbell signal value must be updated in a monotonically increasing fashion. If type is HSA_QUEUE_TYPE_MULTI, the doorbell signal value can be updated with any value.
uint32_t hsa_queue_s::features |
Queue features mask.
This is a bit-field of hsa_queue_feature_t values. Applications should ignore any unknown set bits.
uint64_t hsa_queue_s::id |
uint32_t hsa_queue_s::size |
hsa_queue_type32_t hsa_queue_s::type |