From nobody Sun Apr 28 22:56:36 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+83063+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+83063+1787277+3901457@groups.io ARC-Seal: i=1; a=rsa-sha256; t=1635804742; cv=none; d=zohomail.com; s=zohoarc; b=X9V2myuIIOIvoYpBQtL0oPJfQZgLuV636YevnYEPUq3oAM3S+XgkTmCMa7KZLBiQZrKQxSM3eZeTFqqXvyxDPSwmcfoproVXsWhqTkpYJeibL+/02H4R7YAsJW8sbhSCQG3+hkSqhvFRLcntr6C/A3S+3ohxdApueyFlW8cBwaA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1635804742; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=h+Q64Ea5h/dRYDb/3+yBdZh/EgN0ym8BzrrodY8v/us=; b=efd+Y77obOjSNlxQ1NTpBy8hWmQjhENF96yye1cjGbK/v3O2o7wcnypgYcHebsijvWqb5uPeYJJ38se4L9clNONFrCedhoUZnAqze/trb5EwTMnc0CdVD7Dk0AybQxMo5TE6VyKZ+FKxIA3XRafoUVQA3ky2sfdxVK0mx3LgCsI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+83063+1787277+3901457@groups.io Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1635804742532820.5333239986558; Mon, 1 Nov 2021 15:12:22 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id zbdVYY1788612xBrMW3LLg74; Mon, 01 Nov 2021 15:12:22 -0700 X-Received: from mail-pg1-f173.google.com (mail-pg1-f173.google.com [209.85.215.173]) by mx.groups.io with SMTP id smtpd.web11.1420.1635804741480970708 for ; Mon, 01 Nov 2021 15:12:21 -0700 X-Received: by mail-pg1-f173.google.com with SMTP id 75so18425495pga.3 for ; Mon, 01 Nov 2021 15:12:21 -0700 (PDT) X-Gm-Message-State: Dh2tjrXbGobOJJMeKBA6d8JRx1787277AA= X-Google-Smtp-Source: ABdhPJwY0w85iQSt0ODVMYfTpWgvhIxgYll6qsdgq8qTNB2h6VZD3xJcS0nxr94zUXZLHXN9JTGftQ== X-Received: by 2002:a05:6a00:1593:b0:481:1ffa:8c4a with SMTP id u19-20020a056a00159300b004811ffa8c4amr2516461pfk.80.1635804739623; Mon, 01 Nov 2021 15:12:19 -0700 (PDT) X-Received: from linbox.ba.nuviainc.com (c-174-52-16-57.hsd1.ut.comcast.net. [174.52.16.57]) by smtp.gmail.com with ESMTPSA id z10sm17028455pfh.106.2021.11.01.15.12.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 01 Nov 2021 15:12:19 -0700 (PDT) From: "Rebecca Cran" To: devel@edk2.groups.io, Sami Mujawar , Ard Biesheuvel , Gerd Hoffmann , Samer El-Haj-Mahmoud , Leif Lindholm Cc: Rebecca Cran Subject: [edk2-devel] [PATCH v2 1/2] ArmPkg: Add SMC helper functions Date: Mon, 1 Nov 2021 16:11:52 -0600 Message-Id: <20211101221153.18620-2-rebecca@nuviainc.com> In-Reply-To: <20211101221153.18620-1-rebecca@nuviainc.com> References: <20211101221153.18620-1-rebecca@nuviainc.com> MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,rebecca@nuviainc.com Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1635804742; bh=4e1Xv0B3cPDrnPRR3T1p/0g4itJp5QLCrrcJ0E7fm7o=; h=Cc:Date:From:Reply-To:Subject:To; b=B0SjgAfwlCbk9gAzvfrm5WDujXpQTjtTuY3OhH1KxI2rtxwT3avuZJWVMr5nFPhxYPZ Cy+mCTSZZTtnr8o/e6Yp9HhmDXy4hc/5WtQkXe6JT8uL77x+oppIZX1wyh0DwWRcFlmzj 7nEZZG8WdQPVRGLGPc3cwExIIfNfUrDQBM4= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1635804743189100001 Content-Type: text/plain; charset="utf-8" Add functions ArmCallSmc0/1/2/3 to do SMC calls with 0, 1, 2 or 3 arguments. The functions return up to 3 values. Signed-off-by: Rebecca Cran Acked-by: Ard Biesheuvel Reviewed-by: Sami Mujawar --- ArmPkg/Include/Library/ArmSmcLib.h | 73 ++++++++++++ ArmPkg/Library/ArmSmcLib/ArmSmc.c | 122 ++++++++++++++++++++ ArmPkg/Library/ArmSmcLib/ArmSmcLib.inf | 3 + ArmPkg/Library/ArmSmcLibNull/ArmSmcLibNull.c | 85 ++++++++++++++ 4 files changed, 283 insertions(+) diff --git a/ArmPkg/Include/Library/ArmSmcLib.h b/ArmPkg/Include/Library/Ar= mSmcLib.h index ced60b3c1147..343ae7f40ad2 100644 --- a/ArmPkg/Include/Library/ArmSmcLib.h +++ b/ArmPkg/Include/Library/ArmSmcLib.h @@ -1,5 +1,6 @@ /** @file * +* Copyright (c) 2021, NUVIA Inc. All rights reserved.
* Copyright (c) 2012-2014, ARM Limited. All rights reserved. * * SPDX-License-Identifier: BSD-2-Clause-Patent @@ -37,4 +38,76 @@ ArmCallSmc ( IN OUT ARM_SMC_ARGS *Args ); =20 +/** Trigger an SMC call with 3 arguments. + + @param Function The SMC function. + @param Arg1 Argument/result. + @param Arg2 Argument/result. + @param Arg3 Argument/result. + + @return The SMC error code. + +**/ +UINTN +ArmCallSmc3 ( + IN UINTN Function, + IN OUT UINTN *Arg1, + IN OUT UINTN *Arg2, + IN OUT UINTN *Arg3 + ); + +/** Trigger an SMC call with 2 arguments. + + @param Function The SMC function. + @param Arg1 Argument/result. + @param Arg2 Argument/result. + @param Arg3 Result. + + @return The SMC error code. + +**/ +UINTN +ArmCallSmc2 ( + IN UINTN Function, + IN OUT UINTN *Arg1, + IN OUT UINTN *Arg2, + OUT UINTN *Arg3 + ); + +/** Trigger an SMC call with 1 argument. + + @param Function The SMC function. + @param Arg1 Argument/result. + @param Arg2 Result. + @param Arg3 Result. + + @return The SMC error code. + +**/ +UINTN +ArmCallSmc1 ( + IN UINTN Function, + IN OUT UINTN *Arg1, + OUT UINTN *Arg2, + OUT UINTN *Arg3 + ); + +/** Trigger an SMC call with 0 arguments. + + @param Function The SMC function. + @param Arg1 Result. + @param Arg2 Result. + @param Arg3 Result. + + @return The SMC error code. + +**/ +UINTN +ArmCallSmc0 ( + IN UINTN Function, + OUT UINTN *Arg1, + OUT UINTN *Arg2, + OUT UINTN *Arg3 + ); + #endif // ARM_SMC_LIB_H_ diff --git a/ArmPkg/Library/ArmSmcLib/ArmSmc.c b/ArmPkg/Library/ArmSmcLib/A= rmSmc.c new file mode 100644 index 000000000000..d596003a857e --- /dev/null +++ b/ArmPkg/Library/ArmSmcLib/ArmSmc.c @@ -0,0 +1,122 @@ +/** @file + SMC helper functions. + + Copyright (c) 2021, NUVIA Inc. All rights reserved.
+ + SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#include + +/** Triggers an SMC call with 3 arguments. + + @param Function The SMC function. + @param Arg1 Argument/result. + @param Arg2 Argument/result. + @param Arg3 Argument/result. + + @return The SMC error code. +**/ +UINTN +ArmCallSmc3 ( + IN UINTN Function, + IN OUT UINTN *Arg1, + IN OUT UINTN *Arg2, + IN OUT UINTN *Arg3 + ) +{ + ARM_SMC_ARGS Args; + UINTN ErrorCode; + + Args.Arg0 =3D Function; + + if (Arg1 !=3D NULL) { + Args.Arg1 =3D *Arg1; + } + if (Arg2 !=3D NULL) { + Args.Arg2 =3D *Arg2; + } + if (Arg3 !=3D NULL) { + Args.Arg3 =3D *Arg3; + } + + ArmCallSmc (&Args); + + ErrorCode =3D Args.Arg0; + + if (Arg1 !=3D NULL) { + *Arg1 =3D Args.Arg1; + } + if (Arg2 !=3D NULL) { + *Arg2 =3D Args.Arg2; + } + if (Arg3 !=3D NULL) { + *Arg3 =3D Args.Arg3; + } + + return ErrorCode; +} + +/** Trigger an SMC call with 2 arguments. + + @param Function The SMC function. + @param Arg1 Argument/result. + @param Arg2 Argument/result. + @param Arg3 Result. + + @return The SMC error code. + +**/ +UINTN +ArmCallSmc2 ( + IN UINTN Function, + IN OUT UINTN *Arg1, + IN OUT UINTN *Arg2, + OUT UINTN *Arg3 + ) +{ + return ArmCallSmc3 (Function, Arg1, Arg2, Arg3); +} + +/** Trigger an SMC call with 1 argument. + + @param Function The SMC function. + @param Arg1 Argument/result. + @param Arg2 Result. + @param Arg3 Result. + + @return The SMC error code. + +**/ +UINTN +ArmCallSmc1 ( + IN UINTN Function, + IN OUT UINTN *Arg1, + OUT UINTN *Arg2, + OUT UINTN *Arg3 + ) +{ + return ArmCallSmc3 (Function, Arg1, Arg2, Arg3); +} + +/** Trigger an SMC call with 0 arguments. + + @param Function The SMC function. + @param Arg1 Result. + @param Arg2 Result. + @param Arg3 Result. + + @return The SMC error code. + +**/ +UINTN +ArmCallSmc0 ( + IN UINTN Function, + OUT UINTN *Arg1, + OUT UINTN *Arg2, + OUT UINTN *Arg3 + ) +{ + return ArmCallSmc3 (Function, Arg1, Arg2, Arg3); +} diff --git a/ArmPkg/Library/ArmSmcLib/ArmSmcLib.inf b/ArmPkg/Library/ArmSmc= Lib/ArmSmcLib.inf index 4f4b09f4528a..a89f9203fb7e 100644 --- a/ArmPkg/Library/ArmSmcLib/ArmSmcLib.inf +++ b/ArmPkg/Library/ArmSmcLib/ArmSmcLib.inf @@ -20,6 +20,9 @@ [Sources.AARCH64] AArch64/ArmSmc.S =20 +[Sources] + ArmSmc.c + [Packages] MdePkg/MdePkg.dec ArmPkg/ArmPkg.dec diff --git a/ArmPkg/Library/ArmSmcLibNull/ArmSmcLibNull.c b/ArmPkg/Library/= ArmSmcLibNull/ArmSmcLibNull.c index 2d79aadaf1fa..ca1b8830a119 100644 --- a/ArmPkg/Library/ArmSmcLibNull/ArmSmcLibNull.c +++ b/ArmPkg/Library/ArmSmcLibNull/ArmSmcLibNull.c @@ -1,4 +1,5 @@ // +// Copyright (c) 2021, NUVIA Inc. All rights reserved. // Copyright (c) 2016, Linaro Limited. All rights reserved. // // SPDX-License-Identifier: BSD-2-Clause-Patent @@ -7,6 +8,7 @@ =20 #include #include +#include =20 VOID ArmCallSmc ( @@ -14,3 +16,86 @@ ArmCallSmc ( ) { } + +/** Triggers an SMC call with 3 arguments. + + @param Function The SMC function. + @param Arg1 Argument/result. + @param Arg2 Argument/result. + @param Arg3 Argument/result. + + @return The SMC error code. +**/ +UINTN +ArmCallSmc3 ( + IN UINTN Function, + IN OUT UINTN *Arg1, + IN OUT UINTN *Arg2, + IN OUT UINTN *Arg3 + ) +{ + return SMC_ARCH_CALL_NOT_SUPPORTED; +} + +/** Trigger an SMC call with 2 arguments. + + @param Function The SMC function. + @param Arg1 Argument/result. + @param Arg2 Argument/result. + @param Arg3 Result. + + @return The SMC error code. + +**/ +UINTN +ArmCallSmc2 ( + IN UINTN Function, + IN OUT UINTN *Arg1, + IN OUT UINTN *Arg2, + OUT UINTN *Arg3 + ) +{ + return SMC_ARCH_CALL_NOT_SUPPORTED; +} + +/** Trigger an SMC call with 1 argument. + + @param Function The SMC function. + @param Arg1 Argument/result. + @param Arg2 Result. + @param Arg3 Result. + + @return The SMC error code. + +**/ +UINTN +ArmCallSmc1 ( + IN UINTN Function, + IN OUT UINTN *Arg1, + OUT UINTN *Arg2, + OUT UINTN *Arg3 + ) +{ + return SMC_ARCH_CALL_NOT_SUPPORTED; +} + +/** Trigger an SMC call with 0 arguments. + + @param Function The SMC function. + @param Arg1 Result. + @param Arg2 Result. + @param Arg3 Result. + + @return The SMC error code. + +**/ +UINTN +ArmCallSmc0 ( + IN UINTN Function, + OUT UINTN *Arg1, + OUT UINTN *Arg2, + OUT UINTN *Arg3 + ) +{ + return SMC_ARCH_CALL_NOT_SUPPORTED; +} --=20 2.31.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#83063): https://edk2.groups.io/g/devel/message/83063 Mute This Topic: https://groups.io/mt/86753694/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Sun Apr 28 22:56:36 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+83064+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+83064+1787277+3901457@groups.io ARC-Seal: i=1; a=rsa-sha256; t=1635804744; cv=none; d=zohomail.com; s=zohoarc; b=j6MnzlSfpo/W0Q1aT+u2zkrFpvfdm20dNt8bYrt8zd9BWSgjV+udyXkfyVwrs69Dft19jabkrNamRbaVdwJH4yVl9pv3JaJyyHKokqwHyf7L88PjQTMaqyiL1N4A3W98u0MtlswaSug3MSAgTewwxM2MvXXuYA+tUX2OuLqJx7E= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1635804744; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=7JPeRZvKhozvodE2NxtpbZW8g9NQ1Mx3orwNeFPIXu8=; b=FE1LA1yMLntLAjYHCXv7OJfvbcjqloPnN/3F58uVIFkNDHOoMDax16syQcGL4MHXt5Udn2AQ/mRZlLZfuFkI38XxOU6fL0ag8EmLqPfECBlWnTBM1n9q9ZhYmjqMcifpRbpIsT2jjd0sUMhQSNwImGuECDQL3dgNOerfK9/RgkA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+83064+1787277+3901457@groups.io Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1635804744072576.8620174218415; Mon, 1 Nov 2021 15:12:24 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id nPQpYY1788612x8sX7V0nbi1; Mon, 01 Nov 2021 15:12:23 -0700 X-Received: from mail-pl1-f174.google.com (mail-pl1-f174.google.com [209.85.214.174]) by mx.groups.io with SMTP id smtpd.web12.1442.1635804743058817842 for ; Mon, 01 Nov 2021 15:12:23 -0700 X-Received: by mail-pl1-f174.google.com with SMTP id o14so2767528plg.5 for ; Mon, 01 Nov 2021 15:12:23 -0700 (PDT) X-Gm-Message-State: 3ZyOMDfEPSzK0aGPU7LFWiblx1787277AA= X-Google-Smtp-Source: ABdhPJy28GXwOX2JUgi+Q3WmYYXZboPxpoDMH1ajUwP4587R838xpYxaTPyiiv0kJJrdYMLSQocOQg== X-Received: by 2002:a17:90b:1c07:: with SMTP id oc7mr1843634pjb.127.1635804742173; Mon, 01 Nov 2021 15:12:22 -0700 (PDT) X-Received: from linbox.ba.nuviainc.com (c-174-52-16-57.hsd1.ut.comcast.net. [174.52.16.57]) by smtp.gmail.com with ESMTPSA id z10sm17028455pfh.106.2021.11.01.15.12.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 01 Nov 2021 15:12:21 -0700 (PDT) From: "Rebecca Cran" To: devel@edk2.groups.io, Sami Mujawar , Ard Biesheuvel , Gerd Hoffmann , Samer El-Haj-Mahmoud , Leif Lindholm Cc: Rebecca Cran Subject: [edk2-devel] [PATCH v2 2/2] ArmPkg: Update SMC calls to use the new ArmCallSmc1/2/3/4 functions Date: Mon, 1 Nov 2021 16:11:53 -0600 Message-Id: <20211101221153.18620-3-rebecca@nuviainc.com> In-Reply-To: <20211101221153.18620-1-rebecca@nuviainc.com> References: <20211101221153.18620-1-rebecca@nuviainc.com> MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,rebecca@nuviainc.com Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1635804743; bh=bIx/WuBErn3WNSVNQ2bkEKdDqcbCqShZgX8OEbzMgLs=; h=Cc:Date:From:Reply-To:Subject:To; b=FbEXXuHicJ6WOugkKz5374Pckis+4QsnKouqWbbavgrLjxrwwbiVcgTUOlNZ/7HCSPQ yyeWaSQeyrjaMFAmIxFLAPXvsTRme10LA0vVA0tkdZFfqw8kuWx+nlkYtIkaYCH5EywM0 Z11XoPlksWGn4k9LDpMgw/0LZSHPDK/YO60= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1635804745271100005 Content-Type: text/plain; charset="utf-8" New SMC helper functions have been added to reduce the amount of template code. Update ArmSmcPsciResetSystemLib and Smbios/ProcessorSubClassDxe to use them. Signed-off-by: Rebecca Cran Reviewed-by: Sami Mujawar --- ArmPkg/Library/ArmSmcPsciResetSystemLib/ArmSmcPsciResetSystemLib.c | = 10 ++----- ArmPkg/Universal/Smbios/ProcessorSubClassDxe/SmbiosProcessorArmCommon.c | = 31 ++++++++------------ 2 files changed, 14 insertions(+), 27 deletions(-) diff --git a/ArmPkg/Library/ArmSmcPsciResetSystemLib/ArmSmcPsciResetSystemL= ib.c b/ArmPkg/Library/ArmSmcPsciResetSystemLib/ArmSmcPsciResetSystemLib.c index 8b5ff5c27e44..319f05c9f1e2 100644 --- a/ArmPkg/Library/ArmSmcPsciResetSystemLib/ArmSmcPsciResetSystemLib.c +++ b/ArmPkg/Library/ArmSmcPsciResetSystemLib/ArmSmcPsciResetSystemLib.c @@ -31,11 +31,8 @@ ResetCold ( VOID ) { - ARM_SMC_ARGS ArmSmcArgs; - // Send a PSCI 0.2 SYSTEM_RESET command - ArmSmcArgs.Arg0 =3D ARM_SMC_ID_PSCI_SYSTEM_RESET; - ArmCallSmc (&ArmSmcArgs); + ArmCallSmc0 (ARM_SMC_ID_PSCI_SYSTEM_RESET, NULL, NULL, NULL); } =20 /** @@ -66,11 +63,8 @@ ResetShutdown ( VOID ) { - ARM_SMC_ARGS ArmSmcArgs; - // Send a PSCI 0.2 SYSTEM_OFF command - ArmSmcArgs.Arg0 =3D ARM_SMC_ID_PSCI_SYSTEM_OFF; - ArmCallSmc (&ArmSmcArgs); + ArmCallSmc0 (ARM_SMC_ID_PSCI_SYSTEM_OFF, NULL, NULL, NULL); } =20 /** diff --git a/ArmPkg/Universal/Smbios/ProcessorSubClassDxe/SmbiosProcessorAr= mCommon.c b/ArmPkg/Universal/Smbios/ProcessorSubClassDxe/SmbiosProcessorArm= Common.c index d644cd33d249..c6d41e3984f8 100644 --- a/ArmPkg/Universal/Smbios/ProcessorSubClassDxe/SmbiosProcessorArmCommon= .c +++ b/ArmPkg/Universal/Smbios/ProcessorSubClassDxe/SmbiosProcessorArmCommon= .c @@ -88,22 +88,19 @@ HasSmcArm64SocId ( VOID ) { - ARM_SMC_ARGS Args; INT32 SmcCallStatus; BOOLEAN Arm64SocIdSupported; + UINTN SmcParam; =20 Arm64SocIdSupported =3D FALSE; =20 - Args.Arg0 =3D SMCCC_VERSION; - ArmCallSmc (&Args); - SmcCallStatus =3D (INT32)Args.Arg0; + SmcCallStatus =3D ArmCallSmc0 (SMCCC_VERSION, NULL, NULL, NULL); =20 if (SmcCallStatus < 0 || (SmcCallStatus >> 16) >=3D 1) { - Args.Arg0 =3D SMCCC_ARCH_FEATURES; - Args.Arg1 =3D SMCCC_ARCH_SOC_ID; - ArmCallSmc (&Args); + SmcParam =3D SMCCC_ARCH_SOC_ID; + SmcCallStatus =3D ArmCallSmc1 (SMCCC_ARCH_FEATURES, &SmcParam, NULL, N= ULL); =20 - if (Args.Arg0 >=3D 0) { + if (SmcCallStatus >=3D 0) { Arm64SocIdSupported =3D TRUE; } } @@ -125,30 +122,26 @@ SmbiosGetSmcArm64SocId ( OUT INT32 *SocRevision ) { - ARM_SMC_ARGS Args; INT32 SmcCallStatus; EFI_STATUS Status; + UINTN SmcParam; =20 Status =3D EFI_SUCCESS; =20 - Args.Arg0 =3D SMCCC_ARCH_SOC_ID; - Args.Arg1 =3D 0; - ArmCallSmc (&Args); - SmcCallStatus =3D (INT32)Args.Arg0; + SmcParam =3D 0; + SmcCallStatus =3D ArmCallSmc1 (SMCCC_ARCH_SOC_ID, &SmcParam, NULL, NULL); =20 if (SmcCallStatus >=3D 0) { - *Jep106Code =3D (INT32)Args.Arg0; + *Jep106Code =3D (INT32)SmcParam; } else { Status =3D EFI_UNSUPPORTED; } =20 - Args.Arg0 =3D SMCCC_ARCH_SOC_ID; - Args.Arg1 =3D 1; - ArmCallSmc (&Args); - SmcCallStatus =3D (INT32)Args.Arg0; + SmcParam =3D 1; + SmcCallStatus =3D ArmCallSmc1 (SMCCC_ARCH_SOC_ID, &SmcParam, NULL, NULL); =20 if (SmcCallStatus >=3D 0) { - *SocRevision =3D (INT32)Args.Arg0; + *SocRevision =3D (INT32)SmcParam; } else { Status =3D EFI_UNSUPPORTED; } --=20 2.31.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#83064): https://edk2.groups.io/g/devel/message/83064 Mute This Topic: https://groups.io/mt/86753698/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-