summaryrefslogtreecommitdiffstats
path: root/ArmPkg/Include
diff options
context:
space:
mode:
authorMinh Nguyen <minhn@amperecomputing.com>2022-09-19 09:19:46 +0700
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>2022-09-23 14:39:10 +0000
commit11b5093ce408bc2ecd7b87711d471296d6d77984 (patch)
tree5ef048185b7c84213e606a73d4364da116247275 /ArmPkg/Include
parent8467a263f9d6ab978f76b7da57dbaa2cb9d6cdeb (diff)
downloadedk2-11b5093ce408bc2ecd7b87711d471296d6d77984.tar.gz
edk2-11b5093ce408bc2ecd7b87711d471296d6d77984.tar.bz2
edk2-11b5093ce408bc2ecd7b87711d471296d6d77984.zip
ArmPkg: Correct return value of "SMCCC_ARCH_SOC_ID" Function ID call
According to "SMC Calling Convention" specification, section 7.4, return value of Arm Architecture Calls is stored at first argument of SMC aguments (ARM_SMC_ARGS). This value can be negative values indicating error or positive values (including zero) indicating success. Positive value would contain information of respective Function ID (Section 7.3.4 and 7.4.4). For that reason, "SMCCC_VERSION" and "SMCCC_ARCH_FEATURES" Function ID calls read return value from "SmcCallStatus" variable (Args.Arg0 - first argument of SMC call). But "SMCCC_ARCH_SOC_ID" Function ID call is reading return value from "SmcParam" variable (Args.Arg1 - second argument of SMC call) so it leads to unexpected results of "Jep106Code" and "SocRevision". This patch is to correct it. Signed-off-by: Nhi Pham <nhi@os.amperecomputing.com> Reviewed-by: Rebecca Cran <rebecca@quicinc.com> Reviewed-by: Sami Mujawar <sami.mujawar@arm.com> Acked-by: Ard Biesheuvel <ardb@kernel.org> Acked-by: Leif Lindholm <quic_llindhol@quicinc.com>
Diffstat (limited to 'ArmPkg/Include')
0 files changed, 0 insertions, 0 deletions