The following API layers are included in the platform management implementation for the Versal devices:
- XilPM (client)
- Library layer used by standalone applications in the different processing units, such as the APU and RPU.
- XilPM (server)
- Library layer part of the PLM firmware that handles the requests that are passed from the XilPM client layer through IPIs.
- ATF
- The Arm trusted firmware (ATF) contains its own implementation of the client-side PM framework. ATF is currently used by the Linux OS.
- PLM
- The PLM receives IPI packets and passes platform management requests to the
XilPM server.
- XilPM (server)
- Library layer part of the PLM firmware and handles the requests that are passed from XilPM client layer through IPIs.
- PSM Firmware
- Invoked by the XilPM server to control power islands and power domains.
For more details on PMC, PSM, and power domain hardware topics, see the Versal ACAP Technical Reference Manual (AM011).
The following figure shows the interaction between the APU, the RPU, and the platform management APIs.
If the APU runs a complete software stack with an operating system, it does not use the XilPM library. Instead, the ATF running at EL3 implements the client-side XilPM API and provides a secure monitor call (SMC)-based interface to the software running at EL2, SEL1, or EL1 depending on the Versal ACAP device system architecture.
For more details on the Armv8 architecture and its different execution modes, see https://developer.arm.com/docs/ddi0487/latest/arm-architecture-reference-manual-armv8-for-armv8-a-architecture-profile.
The following figure illustrates the platform management layers that are involved when running a full software stack on the APU.