Add support for handling runtime service requests
This patch uses the reworked exception handling support to handle
runtime service requests through SMCs following the SMC calling
convention. This is a giant commit since all the changes are
inter-related. It does the following:

1. Replace the old exception handling mechanism with the new one
2. Enforce that SP_EL0 is used C runtime stacks.
3. Ensures that the cold and warm boot paths use the 'cpu_context'
   structure to program an ERET into the next lower EL.
4. Ensures that SP_EL3 always points to the next 'cpu_context'
   structure prior to an ERET into the next lower EL
5. Introduces a PSCI SMC handler which completes the use of PSCI as a
   runtime service

Change-Id: I661797f834c0803d2c674d20f504df1b04c2b852
Co-authored-by: Achin Gupta <achin.gupta@arm.com>
1 parent 07f4e07 commit caa84939a4d8b1189dea8619ccc57bdb3026b125
@Jeenu Viswambharan Jeenu Viswambharan authored on 6 Feb 2014
Dan Handley committed on 17 Feb 2014
Showing 19 changed files
View
bl31/aarch64/bl31_entrypoint.S
View
bl31/aarch64/exception_handlers.c 100644 → 0
View
bl31/aarch64/runtime_exceptions.S
View
bl31/aarch64/runtime_exceptions_next.S 100644 → 0
View
bl31/bl31.mk
View
bl31/bl31_main.c
View
bl31/context_mgmt.c
View
common/psci/psci_common.c
View
common/psci/psci_entry.S
View
common/psci/psci_main.c
View
common/psci/psci_private.h
View
common/psci/psci_setup.c
View
common/runtime_svc.c
View
include/aarch64/arch.h
View
include/asm_macros.S
View
include/context.h
View
include/context_mgmt.h
View
include/runtime_svc.h
View
lib/arch/aarch64/misc_helpers.S