The XilMailbox library provides the top-level hooks for sending or receiving an inter-processor interrupt (IPI) message using the Zynq® UltraScale+™ MPSoC and Versal ACAP IPI hardware.This library supports Zynq Ultrascale+ MPSoC and Versal platforms. For more details on the IPI interrupts, see the Zynq UltraScale+ MPSoC Technical Reference Manual (UG1085).
The XilMailbox library supports the following features:
- Triggering an IPI to a remote agent.
- Sending an IPI message to a remote agent.
- Callbacks for error and recv IPI events.
- Reading an IPI message.
The following is a list of software initalization events for a given IPI channel:
- IPI Initialization using XMailbox_Initalize() function. This step initializes a library instance for the given IPI channel.
- XMailbox_Send() function triggers an IPI to a remote agent.
- XMailbox_SendData() function sends an IPI message to a remote agent. Message type should be either XILMBOX_MSG_TYPE_REQ (OR) XILMBOX_MSG_TYPE_RESP.
- XMailbox_Recv() function reads an IPI message from a specified source agent. Message type should be either XILMBOX_MSG_TYPE_REQ (OR) XILMBOX_MSG_TYPE_RESP.
- XMailbox_SetCallBack() using this function user can register call backs for recv and error events.
Type | Name | Arguments |
---|---|---|
u32 | XMailbox_Send |
|
u32 | XMailbox_SendData |
|
u32 | XMailbox_Recv |
|
s32 | XMailbox_SetCallBack |
|
u32 | XMailbox_Initialize |
|
u32 | XIpiPs_Init |
|
u32 | XIpiPs_Send |
|
u32 | XIpiPs_SendData |
|
u32 | XIpiPs_PollforDone |
|
u32 | XIpiPs_RecvData |
|
XStatus | XIpiPs_RegisterIrq |
|
void | XIpiPs_ErrorIntrHandler |
|
void | XIpiPs_IntrHandler |
|