arm64: Add support for transition library

Hardware / Coreboot - Furquan Shaikh [google.com] - 28 March 2015 01:04 UTC

Transition library provides the following functionalities: 1) Setup the environment for switching to any particular EL and jump to the loaded program at that EL. In short "Execute program X at exception level Y using the state Z" 2) Provides routines for exception entry and exception exit that can be used by any program to implement exception handling. The only routine required by the program would be exc_dispatch which handles the exception in its own required way and returns by making a call to exc_exit. On exc_exit, the transition library unwinds the whole stack by popping out the saved state of xregs

BUG=chrome-os-partner:30785 BRANCH=None TEST=Compiles successfully and exceptions are tested for ramstage on ryu

Change-Id: I8116556109665e61a53e4b3987d649e3cfed64a1

668316b arm64: Add support for transition library
src/arch/arm64/Makefile.inc | 5 +
src/arch/arm64/include/arch/transition.h | 188 ++++++++++++++++++++++++++++++
src/arch/arm64/transition.c | 134 +++++++++++++++++++++
src/arch/arm64/transition_asm.S | 169 +++++++++++++++++++++++++++
4 files changed, 496 insertions(+)

Upstream: review.coreboot.org


  • Share