summaryrefslogtreecommitdiffstats
path: root/ArmPkg/Include
diff options
context:
space:
mode:
authorAchin Gupta <achin.gupta@arm.com>2021-02-19 12:05:55 +0530
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>2021-02-23 15:40:37 +0000
commitaf0c597e983318e9cfa408eff6810a5c8fb9ca77 (patch)
treeb95edfd89957325fecbc3601490636d690910da7 /ArmPkg/Include
parent37ef4bb1a700a83a1c7acb26bd0418bf43775db2 (diff)
downloadedk2-af0c597e983318e9cfa408eff6810a5c8fb9ca77.tar.gz
edk2-af0c597e983318e9cfa408eff6810a5c8fb9ca77.tar.bz2
edk2-af0c597e983318e9cfa408eff6810a5c8fb9ca77.zip
ArmPkg/ArmSvcLib: Return x4-x7 in output parameters
The Arm SMC calling convention standard v1.2 allows 8 input and output parameter registers. The FF-A specification relies on this communication. This patch extends the number of output registers returned by ArmCallSvc() to match this convention. Signed-off-by: Achin Gupta <achin.gupta@arm.com> Reviewed-by: Sami Mujawar <sami.mujawar@arm.com> Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
Diffstat (limited to 'ArmPkg/Include')
-rw-r--r--ArmPkg/Include/Library/ArmSvcLib.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/ArmPkg/Include/Library/ArmSvcLib.h b/ArmPkg/Include/Library/ArmSvcLib.h
index a94ead1965..a4414270f3 100644
--- a/ArmPkg/Include/Library/ArmSvcLib.h
+++ b/ArmPkg/Include/Library/ArmSvcLib.h
@@ -27,10 +27,16 @@ typedef struct {
/**
Trigger an SVC call
- SVC calls can take up to 7 arguments and return up to 4 return values.
- Therefore, the 4 first fields in the ARM_SVC_ARGS structure are used
+ SVC calls can take up to 8 arguments and return up to 8 return values.
+ Therefore, the 8 first fields in the ARM_SVC_ARGS structure are used
for both input and output values.
+ @param[in, out] Args Arguments to be passed as part of the SVC call
+ The return values of the SVC call are also placed
+ in the same structure
+
+ @retval None
+
**/
VOID
ArmCallSvc (