diff options
author | Madhukar Pappireddy <madhukar.pappireddy@arm.com> | 2019-11-09 23:28:08 -0600 |
---|---|---|
committer | Madhukar Pappireddy <madhukar.pappireddy@arm.com> | 2019-11-26 12:56:30 -0600 |
commit | e34cc0cedca6e229847c232fe58d37fad2610ce9 (patch) | |
tree | 07a1398e798a731a5ca4b4113f357532c9ec8144 /docs/design/firmware-design.rst | |
parent | d537ee795c1390601428d6b5b3499d05b62ad271 (diff) | |
download | platform_external_arm-trusted-firmware-e34cc0cedca6e229847c232fe58d37fad2610ce9.tar.gz platform_external_arm-trusted-firmware-e34cc0cedca6e229847c232fe58d37fad2610ce9.tar.bz2 platform_external_arm-trusted-firmware-e34cc0cedca6e229847c232fe58d37fad2610ce9.zip |
Changes to support updated register usage in SMCCC v1.2
From AArch64 state, arguments are passed in registers W0-W7(X0-X7)
and results are returned in W0-W7(X0-X7) for SMC32(SMC64) calls.
From AArch32 state, arguments are passed in registers R0-R7 and
results are returned in registers R0-R7 for SMC32 calls.
Most of the functions and macros already existed to support using
upto 8 registers for passing/returning parameters/results. Added
few helper macros for SMC calls from AArch32 state.
Link to the specification:
https://developer.arm.com/docs/den0028/c
Change-Id: I87976b42454dc3fc45c8343e9640aa78210e9741
Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com>
Diffstat (limited to 'docs/design/firmware-design.rst')
-rw-r--r-- | docs/design/firmware-design.rst | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/docs/design/firmware-design.rst b/docs/design/firmware-design.rst index 4958fc097..4e380bfe1 100644 --- a/docs/design/firmware-design.rst +++ b/docs/design/firmware-design.rst @@ -978,8 +978,8 @@ manipulation; and with ``flags`` indicating the security state of the caller. Th framework finally sets up the execution stack for the handler, and invokes the services ``handle()`` function. -On return from the handler the result registers are populated in X0-X3 before -restoring the stack and CPU state and returning from the original SMC. +On return from the handler the result registers are populated in X0-X7 as needed +before restoring the stack and CPU state and returning from the original SMC. Exception Handling Framework ---------------------------- |