diff options
author | Jeenu Viswambharan <jeenu.viswambharan@arm.com> | 2018-02-16 11:54:24 +0000 |
---|---|---|
committer | Jeenu Viswambharan <jeenu.viswambharan@arm.com> | 2018-06-21 16:15:23 +0100 |
commit | e7b9473e1591d4ab375a95ebbb9256adfe9d4670 (patch) | |
tree | 97e17803652b72586ae0e099e6e367f534dea2e5 /bl31/bl31.mk | |
parent | 2ccfcb2ea555eb86122e7780010cc50fcee08f54 (diff) | |
download | trusted-firmware-a-e7b9473e1591d4ab375a95ebbb9256adfe9d4670.tar.gz |
BL31: Introduce jump primitives
This patch introduces setjmp() and ongjmp() primitives to enable
standard setjmp/longjmp style execution. Both APIs parameters take a
pointer to struct jmpbuf type, which hosts CPU registers saved/restored
during jump.
As per the standard usage:
- setjmp() return 0 when a jump is setup; and a non-zero value when
returning from jump.
- The caller of setjmp() must not return, or otherwise update stack
pointer since.
Change-Id: I4af1d32e490cfa547979631b762b4cba188d0551
Signed-off-by: Jeenu Viswambharan <jeenu.viswambharan@arm.com>
Diffstat (limited to 'bl31/bl31.mk')
-rw-r--r-- | bl31/bl31.mk | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/bl31/bl31.mk b/bl31/bl31.mk index a6c0a9a07a..51a8312453 100644 --- a/bl31/bl31.mk +++ b/bl31/bl31.mk @@ -18,15 +18,16 @@ include lib/psci/psci_lib.mk BL31_SOURCES += bl31/bl31_main.c \ bl31/interrupt_mgmt.c \ bl31/aarch64/bl31_entrypoint.S \ - bl31/aarch64/runtime_exceptions.S \ bl31/aarch64/crash_reporting.S \ + bl31/aarch64/runtime_exceptions.S \ bl31/bl31_context_mgmt.c \ common/runtime_svc.c \ + lib/aarch64/setjmp.S \ plat/common/aarch64/platform_mp_stack.S \ services/arm_arch_svc/arm_arch_svc_setup.c \ services/std_svc/std_svc_setup.c \ ${PSCI_LIB_SOURCES} \ - ${SPM_SOURCES} \ + ${SPM_SOURCES} ifeq (${ENABLE_PMF}, 1) |