arm64: add smc layer to secmon

Hardware / Coreboot - Aaron Durbin [chromium.org] - 28 March 2015 01:05 UTC

In order to process PSCI commands SMC instructions need to be serviced. Provide a simple way for users of SMC to register their handlers by function.

The SMC layer hooks into the exception processing, however it only processes AARCH64 SMC calls. All others are ignored.

BUG=chrome-os-partner:32112 BRANCH=None TEST=Added nop smc call to depthcharge. SMC handled and continue booting to kernel.

Change-Id: I378f13c29220ff9f37040f094bf9cfb69259af0c

b241f57 arm64: add smc layer to secmon
src/arch/arm64/armv8/secmon/Makefile.inc | 3 +-
src/arch/arm64/armv8/secmon/secmon_init.c | 17 +--
src/arch/arm64/armv8/secmon/smc.c | 159 +++++++++++++++++++++++++++++
src/arch/arm64/include/arch/smc.h | 122 ++++++++++++++++++++++
4 files changed, 285 insertions(+), 16 deletions(-)

Upstream: review.coreboot.org


  • Share