Related information
Here are some resources related to material in this guide:
Arm Community (ask development questions, and find articles and blogs on specific topics from Arm experts)
Arm Cortex-A Series Programmer’s Guide for Armv8-A (a chapter on security in general, and a section that covers using interrupts to switch between Secure and Non-secure worlds)
Armv8-A Fundamentals guide (changing Exception levels and Security state)
Armv8-A Learn the Architecture series of guides
GICv3 and GICv4 Software Overview
Here is some information about the various registers that are referred to in this guide:
SCR_EL3, Secure Configuration Register
https://developer.arm.com/docs/ddi0595/b/aarch64-system-registers/scr_el3
SCTLR_EL1, System Control Register (EL1)
https://developer.arm.com/docs/ddi0595/b/aarch64-system-registers/sctlr_el1
ELR_EL3, Exception Link Register (EL3)
https://developer.arm.com/docs/ddi0595/b/aarch64-system-registers/elr_el3
SPSR_EL3, Saved Program Status Register (EL3)
https://developer.arm.com/docs/ddi0595/b/aarch64-system-registers/spsr_el3