[PATCH v4 0/3] mach-snapdragon: Add early EL2 hypervisor switch support

Aswin Murugan aswin.murugan at oss.qualcomm.com
Fri Jul 3 19:26:31 CEST 2026


This series adds support for exiting Gunyah hypervisor and switching to
EL2 during early boot on Qualcomm Dragonwing family platforms. This
enables U-Boot to run at EL2, which is required for supporting
hypervisors that need EL2 privilege level.

- Adds early boot0.h infrastructure to exit Gunyah via TrustZone SMC
- Creates a reusable config fragment for easy platform enablement
- Enables the feature on QCS9100 platform

This series is based on the boot0.h infrastructure from:
[1] https://lore.kernel.org/all/20260521-qcom_spl-v9-4-c108ebe8ff4e@seznam.cz/

Changes in v4:
- Updated Kconfig and gunyah_exit_boot0.h header comments for better clarity on platform support
- Split config changes into reusable fragment and qcs9100 platform enablement
Link to v3: https://lore.kernel.org/u-boot/20260515130934.388894-1-aswin.murugan@oss.qualcomm.com/

Change in v3:
- Corrected the logic to accurately detect the current Exception Level (EL)
  and fuction properly when U-Boot enters either EL2 or EL1.
Link to v2: https://lore.kernel.org/u-boot/20260515065632.90772-1-aswin.murugan@oss.qualcomm.com/

Change in v2:
- EL2 switch is made at early stage instead of doing at the very last stage in
  the previous version
- This change is based on the patch [1]
Link to v1: https://lore.kernel.org/u-boot/20260419173829.1074404-1-aswin.murugan@oss.qualcomm.com/

Aswin Murugan (3):
  mach-snapdragon: Add early EL2 hypervisor switch support
  configs: qualcomm: Add Gunyah exit config fragment
  configs: qcom_qcs9100: Enable Gunyah exit support

 arch/arm/mach-snapdragon/Kconfig              |  8 +++++
 arch/arm/mach-snapdragon/include/mach/boot0.h |  3 ++
 .../include/mach/gunyah_exit_boot0.h          | 36 +++++++++++++++++++
 board/qualcomm/exit-gunyah.config             |  4 +++
 configs/qcom_qcs9100_defconfig                |  1 +
 5 files changed, 52 insertions(+)
 create mode 100644 arch/arm/mach-snapdragon/include/mach/gunyah_exit_boot0.h
 create mode 100644 board/qualcomm/exit-gunyah.config

-- 
2.34.1



More information about the U-Boot mailing list