In the Versal device, the platform management communication layer is implemented using inter-processor interrupts (IPIs), provided by the IPI block. For more details on IPIs, see the Interrupts chapter of the Versal Adaptive SoC Technical Reference Manual (AM011).
Each processing unit has a dedicated IPI channel with the PMC, consisting of an interrupt and a payload buffer. The buffer passes the API ID and up to five arguments. The IPI interrupt to the target triggers the following processing of the API:
- When calling an API function, a processing unit generates an IPI to the PMC, prompting the execution of necessary platform management action.
- The PMC performs each request atomically, meaning that the action cannot be interrupted.
- To support platform management callbacks, which are used for notifications from the PMC to a processing unit, each processing unit implements handling of these callback IPIs.