Software stack for bare-metal applications and Linux applications on the PS in Versal adaptive SoC are similar to Zynq UltraScale+ MPSoCs. Versal adaptive SoC uses the PLM for booting. Zynq UltraScale+ MPSoC designs that target the APU can be migrated to work with the Versal adaptive SoC APU. The Versal adaptive SoC RPU uses the same Arm® Cortex®-R5F processor with the same GIC as Zynq UltraScale+ MPSoCs. The functionality and programming models are very similar. UltraScale+ device designs that target the RPU can be migrated to work with the Versal adaptive SoC RPU. When migrating to Versal adaptive SoC, you must take into consideration the device driver changes, multiplexed I/O (MIO) configuration, and pinouts. For more information, see the Versal Adaptive SoC Technical Reference Manual (AM011) and Versal Adaptive SoC System Software Developers Guide (UG1304).