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.
v2: address comments from reviewers (Sebastian, Kinsey) 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 | 41 +++++++-- bsps/shared/start/bspsmp-arm-psci.c | 19 ++++- cpukit/score/cpu/aarch64/aarch64-smc.c | 72 ++++++++++++++++ .../aarch64/include/rtems/score/aarch64-smc.h | 83 +++++++++++++++++++ spec/build/cpukit/cpuaarch64.yml | 2 + 5 files changed, 205 insertions(+), 12 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 _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel