[PATCH 0/3] Add Secure Monitor Call API

Gedare Bloom gedare at rtems.org
Sat Oct 16 20:12:22 UTC 2021


These patches add and use an internal API to make
secure monitor call (SMC) invocations. SMC is used
currently in aarch64 for secondary processor boot
and bsp_reset. Although SMC is available on arm, it
does not appear to be currently used by any of arm
BSPs. So the current approach is only implemented
in the aarch64. Replicating the implementation for
arm (with SMC32) should be simple if needed, but
the placement of the API may need some more thought.
Currently, the only place that aarch64 and arm can
easily share code is underneath bsps/shared.
Also, it should be straightforward to add a similar
API for hypervisor call (HVC) invocations.

Gedare Bloom (3):
  aarch64: add internal API for secure monitor call (smc)
  bsps/aarch64: use SMC API in bspsmp-arm-psci
  bsps/aarch64: use SMC API in bspreset-arm-psci

 bsps/shared/start/bspreset-arm-psci.c         | 20 +++++
 bsps/shared/start/bspsmp-arm-psci.c           | 20 ++++-
 cpukit/score/cpu/aarch64/aarch64-smc.c        | 72 ++++++++++++++++
 .../aarch64/include/rtems/score/aarch64-smc.h | 84 +++++++++++++++++++
 spec/build/cpukit/cpuaarch64.yml              |  2 +
 5 files changed, 194 insertions(+), 4 deletions(-)
 create mode 100644 cpukit/score/cpu/aarch64/aarch64-smc.c
 create mode 100644 cpukit/score/cpu/aarch64/include/rtems/score/aarch64-smc.h

-- 
2.25.1



More information about the devel mailing list