xilasu
Vitis Drivers API Documentation
xasu_sharedmem.h File Reference

Overview

This header file defines the structures that are used for shared memory communication between the client and the server.

The structures include definitions for message formats, shared memory control blocks, and any other relevant data structures needed for inter-process communication

MODIFICATION HISTORY:
Ver   Who  Date     Changes


1.0 vns 06/04/24 Initial release ma 07/08/24 Add task based approach at queue level ma 07/23/24 Update XASU_RESPONSE_STATUS_INDEX with 0 1.1 ma 12/12/24 Updated command states ma 02/19/25 Updated handling of same priority queue requests in round robin scheduling ma 02/26/25 Corrected XASU_CHANNEL_RESERVED_MEM define value

 

Data Structures

struct  XAsu_ReqBuf
 This structure is the request buffer. More...
 
struct  XAsu_RespBuf
 This structure is the response buffer. More...
 
struct  XAsu_ChannelQueueBuf
 This structure is the channel's queue buffer. More...
 
struct  XAsu_ChannelQueue
 This structure is the channel's queue which is of 8 buffers. More...
 
struct  XAsu_ChannelMemory
 This struture is the channel's memory. More...
 
struct  XAsu_CommChannel
 This structure contains information of each communication channel. More...
 
struct  XAsu_CommChannelInfo
 This structure contains information of all communication channels. More...
 

Macros

#define XASU_MAX_BUFFERS   (8U)
 Maximum request and response buffers. More...
 
#define XASU_CHANNEL_RESERVED_MEM   (1188U)
 Reserved memory in channel. More...
 
#define XASU_COMMAND_IS_PRESENT   (0x1U)
 Command is written by client. More...
 
#define XASU_COMMAND_IN_PROGRESS   (0x2U)
 Command is in progress by ASUFW. More...
 
#define XASU_COMMAND_WAITING_FOR_RESOURCE   (0x3U)
 Command is waiting for required resources. More...
 
#define XASU_COMMAND_DMA_WAIT_COMPLETE   (0x4U)
 Command DMA wait operation is complete. More...
 
#define XASU_COMMAND_EXECUTION_COMPLETE   (0x5U)
 Command execution is complete by ASUFW. More...
 
#define XASU_RESPONSE_IS_PRESENT   (0x1U)
 Response is written by ASUFW. More...
 
#define XASU_RESPONSE_STATUS_INDEX   (0U)
 Response status index in response buffer. More...
 
#define XASU_RESPONSE_BUFF_ADDR_INDEX   (1U)
 Response buffer address index in response buffer. More...
 
#define XASU_COMMAND_ID_MASK   (0x0000003FU)
 Mask for command ID in header. More...
 
#define XASU_UNIQUE_REQ_ID_MASK   (0x00000FC0U)
 Mask for command unique reqest ID. More...
 
#define XASU_UNIQUE_REQ_ID_SHIFT   (6U)
 Shift value for unique request ID. More...
 
#define XASU_UNIQUE_ID_MAX   (XASU_MAX_BUFFERS << 1U)
 Maximum unique IDs generated by ASU. More...
 
#define XASU_MODULE_ID_MASK   (0x0003F000U)
 Mask for module ID. More...
 
#define XASU_MODULE_ID_SHIFT   (12U)
 Shift value for module ID. More...
 
#define XASU_COMMAND_LENGTH_MASK   (0x00FC0000U)
 Mask for command length in header. More...
 
#define XASU_COMMAND_LENGTH_SHIFT   (18U)
 Shift for command length. More...
 
#define XASU_COMMAND_REQ_ARGS   (22U)
 Command arguments count. More...
 
#define XASU_COMMAND_RESP_ARGS   (17U)
 Response arguments count. More...
 
#define XASU_RTCA_BASEADDR   (0xEBE40000U)
 ASUFW run time configuration area base address. More...
 
#define XASU_RTCA_COMM_CHANNEL_INFO_ADDR   (XASU_RTCA_BASEADDR + 0x10U)
 Communication channel info register address. More...
 
#define XASU_MAX_IPI_CHANNELS   (8U)
 Maximum IPI channels supported by ASUFW. More...
 
#define XASU_CHANNEL_MEMORY_OFFSET   (0x1000U)
 Channel memory offset. More...