From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.web09.10393.1603279998939303600 for ; Wed, 21 Oct 2020 04:33:19 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=softfail (domain: linaro.org, ip: 217.140.110.172, mailfrom: sughosh.ganu@linaro.org) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 889EBD6E; Wed, 21 Oct 2020 04:33:18 -0700 (PDT) Received: from a076522.blr.arm.com (a076522.blr.arm.com [10.162.16.44]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id CEF273F66E; Wed, 21 Oct 2020 04:33:16 -0700 (PDT) From: "Sughosh Ganu" To: devel@edk2.groups.io Cc: Ard Biesheuvel , Sami Mujawar , Jiewen Yao , Achin Gupta Subject: [PATCH v1 02/12] ArmPkg/ArmSvcLib: Return x4-x7 in output parameters Date: Wed, 21 Oct 2020 17:02:23 +0530 Message-Id: <20201021113233.25548-3-sughosh.ganu@linaro.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20201021113233.25548-1-sughosh.ganu@linaro.org> References: <20201021113233.25548-1-sughosh.ganu@linaro.org> From: Achin Gupta 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 --- ArmPkg/Library/ArmSvcLib/AArch64/ArmSvc.S | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ArmPkg/Library/ArmSvcLib/AArch64/ArmSvc.S b/ArmPkg/Library/ArmSvcLib/AArch64/ArmSvc.S index ee265f94b9..8cb5c45582 100644 --- a/ArmPkg/Library/ArmSvcLib/AArch64/ArmSvc.S +++ b/ArmPkg/Library/ArmSvcLib/AArch64/ArmSvc.S @@ -36,6 +36,8 @@ ASM_PFX(ArmCallSvc): // A SVC call can return up to 4 values - we do not need to store back x4-x7. stp x0, x1, [x9, #0] stp x2, x3, [x9, #16] + stp x4, x5, [x9, #32] + stp x6, x7, [x9, #48] mov x0, x9 -- 2.17.1