From nobody Sat May 4 18:13:12 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+84752+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+84752+1787277+3901457@groups.io ARC-Seal: i=1; a=rsa-sha256; t=1639420272; cv=none; d=zohomail.com; s=zohoarc; b=KlYtB0Gi72WPMLNtdQ3kMqzcBCgzs8sOmQ3GFjgIg+ObjTCtJnvXKrYCNI3upU4dx8Z3iBGjv2NGZstTqdgZ0fmEUOiBS70g07wvjYHPwGQBQQEjJmEkytu+sbBRVaA/+trDK4My+ww8o7/DOJck5RTlBpS3dB9zJ4AhmgoN3/c= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1639420272; 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=Ubv0AgNgVtcVOs9tcm67VEelWfoZqRDlgZiMvFjbzsM=; b=H0M014LOnSp+kq5MS2y+xeiFf4cRFRh6Mh7E170xAKB8vTgl9PkJZ4v6aW2NxiYXJstD0cJz48rx/T4NMRxBns5FjJIaYdDpFmbfwGjFht2u6H2SMLPEjsW/R61RaNXcbR0bVA4wDOPEMRIDJ5dZjqEHAt/XDFZyYLLcbwqIV34= 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+84752+1787277+3901457@groups.io Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1639420272093393.4019555812848; Mon, 13 Dec 2021 10:31:12 -0800 (PST) Return-Path: X-Received: by 127.0.0.2 with SMTP id vPICYY1788612x128Zf9Ezpq; Mon, 13 Dec 2021 10:31:11 -0800 X-Received: from mail-pj1-f42.google.com (mail-pj1-f42.google.com [209.85.216.42]) by mx.groups.io with SMTP id smtpd.web12.15278.1639420271138496566 for ; Mon, 13 Dec 2021 10:31:11 -0800 X-Received: by mail-pj1-f42.google.com with SMTP id gx15-20020a17090b124f00b001a695f3734aso14105819pjb.0 for ; Mon, 13 Dec 2021 10:31:11 -0800 (PST) X-Gm-Message-State: 9MF0ZCL13mYsKMjrUykoT6tix1787277AA= X-Google-Smtp-Source: ABdhPJxC/3cgTtUBUq6aN8F2evE0jgYDubzH1aP/J7Yav5xghrVOgSXzSjXj6wlw5dJvgYXGTLK7IA== X-Received: by 2002:a17:902:e544:b0:144:e3fa:3c2e with SMTP id n4-20020a170902e54400b00144e3fa3c2emr356836plf.17.1639420270046; Mon, 13 Dec 2021 10:31:10 -0800 (PST) X-Received: from linbox.ba.nuviainc.com ([2601:681:4300:69e:9e7b:efff:fe2b:884c]) by smtp.gmail.com with ESMTPSA id g15sm15530529pfj.144.2021.12.13.10.31.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 13 Dec 2021 10:31:09 -0800 (PST) From: "Rebecca Cran" To: devel@edk2.groups.io, Ard Biesheuvel , Gerd Hoffmann , Samer El-Haj-Mahmoud , Leif Lindholm , nd , Sami Mujawar Cc: Rebecca Cran Subject: [edk2-devel] [PATCH v3 1/2] ArmPkg: Add SMC helper functions Date: Mon, 13 Dec 2021 11:30:55 -0700 Message-Id: <20211213183056.31444-2-rebecca@nuviainc.com> In-Reply-To: <20211213183056.31444-1-rebecca@nuviainc.com> References: <20211213183056.31444-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=1639420271; bh=zqnJM42dXuookTpE/DFsRqO3r/GWf8bzxYOgeidKOo8=; h=Cc:Date:From:Reply-To:Subject:To; b=mKRtVLmQP+Pt31j66vTxGAkoU/Ng6TBdrfzQdbfZZpGMibmuXOMT1r48YfzWEBNeCZJ uu0sZc2D3bkll1jLOMAFB+c2vYh6/yvT2PUdGJHAMF9TheXdxOlBxdhUeaoVBMhkTDces dg66QfauU+Kxj0/se6UgYVydaJgdSbBcY1g= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1639420273069100001 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 Reviewed-by: Sami Mujawar --- ArmPkg/Include/Library/ArmSmcLib.h | 73 +++++++++++ ArmPkg/Library/ArmSmcLib/ArmSmc.c | 129 ++++++++++++++++++++ ArmPkg/Library/ArmSmcLib/ArmSmcLib.inf | 3 + ArmPkg/Library/ArmSmcLibNull/ArmSmcLibNull.c | 85 +++++++++++++ 4 files changed, 290 insertions(+) diff --git a/ArmPkg/Include/Library/ArmSmcLib.h b/ArmPkg/Include/Library/Ar= mSmcLib.h index f5b45f0a8cdf..beef0175c35c 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 OPTIONAL, + IN OUT UINTN *Arg2 OPTIONAL, + IN OUT UINTN *Arg3 OPTIONAL + ); + +/** 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 OPTIONAL, + IN OUT UINTN *Arg2 OPTIONAL, + OUT UINTN *Arg3 OPTIONAL + ); + +/** 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 OPTIONAL, + OUT UINTN *Arg2 OPTIONAL, + OUT UINTN *Arg3 OPTIONAL + ); + +/** 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 OPTIONAL, + OUT UINTN *Arg2 OPTIONAL, + OUT UINTN *Arg3 OPTIONAL + ); + #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..254507e21916 --- /dev/null +++ b/ArmPkg/Library/ArmSmcLib/ArmSmc.c @@ -0,0 +1,129 @@ +/** @file + SMC helper functions. + + Copyright (c) 2021, NUVIA Inc. All rights reserved.
+ + SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#include +#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 OPTIONAL, + IN OUT UINTN *Arg2 OPTIONAL, + IN OUT UINTN *Arg3 OPTIONAL + ) +{ + ARM_SMC_ARGS Args; + UINTN ErrorCode; + + ZeroMem (&Args, sizeof (ARM_SMC_ARGS)); + + 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 OPTIONAL, + IN OUT UINTN *Arg2 OPTIONAL, + OUT UINTN *Arg3 OPTIONAL + ) +{ + 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 OPTIONAL, + OUT UINTN *Arg2 OPTIONAL, + OUT UINTN *Arg3 OPTIONAL + ) +{ + 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 OPTIONAL, + OUT UINTN *Arg2 OPTIONAL, + OUT UINTN *Arg3 OPTIONAL + ) +{ + 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 3c1adef8ebe6..28514e43c2de 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 OPTIONAL, + IN OUT UINTN *Arg2 OPTIONAL, + IN OUT UINTN *Arg3 OPTIONAL + ) +{ + 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 OPTIONAL, + IN OUT UINTN *Arg2 OPTIONAL, + OUT UINTN *Arg3 OPTIONAL + ) +{ + 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 OPTIONAL, + OUT UINTN *Arg2 OPTIONAL, + OUT UINTN *Arg3 OPTIONAL + ) +{ + 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 OPTIONAL, + OUT UINTN *Arg2 OPTIONAL, + OUT UINTN *Arg3 OPTIONAL + ) +{ + 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 (#84752): https://edk2.groups.io/g/devel/message/84752 Mute This Topic: https://groups.io/mt/87704309/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 Sat May 4 18:13:12 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+84753+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+84753+1787277+3901457@groups.io ARC-Seal: i=1; a=rsa-sha256; t=1639420274; cv=none; d=zohomail.com; s=zohoarc; b=I7aX0q4Tuo+s0ik7FHb9rRTzpBzUi4m2ms8Ix8iX0lxKKyPLNa/trtsd9euFEcbo6T1Ry37GDYFq0FUp1fNEfRegUPBkAnfWHhguwbojUTQxDPJ8FIInBdovSM8UWXgOCyRpQVEj1vLovUjjtQUUum6Oev7NzXeU6DFzlyn8cw0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1639420274; 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=p8hmDpS4tfafiJPGxgHnfD/22YodgK55Mzk4zunc22U=; b=e0R7JcroEoJyIoiVs5gjR2Gz3dlKHKG0fg+nyKl/5BLsz+/xHVDVoxnt2aS3glkmBoUqGcocjiK3NFFEtuFJPQ6nd0N8GZROqfTX2taTZb6S6a4it0/pKRdDvLU+BefSodVxB34xPwgpJq7gAowIBrA9p/0Fa1DKG+/2GeEl/HU= 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+84753+1787277+3901457@groups.io Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1639420274435219.38781636630802; Mon, 13 Dec 2021 10:31:14 -0800 (PST) Return-Path: X-Received: by 127.0.0.2 with SMTP id xL8HYY1788612xivBOrsh8T6; Mon, 13 Dec 2021 10:31:14 -0800 X-Received: from mail-pf1-f181.google.com (mail-pf1-f181.google.com [209.85.210.181]) by mx.groups.io with SMTP id smtpd.web12.15279.1639420273377581520 for ; Mon, 13 Dec 2021 10:31:13 -0800 X-Received: by mail-pf1-f181.google.com with SMTP id z6so15672861pfe.7 for ; Mon, 13 Dec 2021 10:31:13 -0800 (PST) X-Gm-Message-State: G7H8h0mcDY3XX7jnt47433VDx1787277AA= X-Google-Smtp-Source: ABdhPJxWYYbK8yaZXJgdlNZv8IxQwFO30Ig9fdxAuJwJEjFLWI4bZxctRIdTC4Joi/5H76jU7S4elg== X-Received: by 2002:a63:db08:: with SMTP id e8mr242974pgg.212.1639420272425; Mon, 13 Dec 2021 10:31:12 -0800 (PST) X-Received: from linbox.ba.nuviainc.com ([2601:681:4300:69e:9e7b:efff:fe2b:884c]) by smtp.gmail.com with ESMTPSA id g15sm15530529pfj.144.2021.12.13.10.31.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 13 Dec 2021 10:31:12 -0800 (PST) From: "Rebecca Cran" To: devel@edk2.groups.io, Ard Biesheuvel , Gerd Hoffmann , Samer El-Haj-Mahmoud , Leif Lindholm , nd , Sami Mujawar Cc: Rebecca Cran Subject: [edk2-devel] [PATCH v3 2/2] ArmPkg: Update SMC calls to use the new ArmCallSmc0/1/2/3 functions Date: Mon, 13 Dec 2021 11:30:56 -0700 Message-Id: <20211213183056.31444-3-rebecca@nuviainc.com> In-Reply-To: <20211213183056.31444-1-rebecca@nuviainc.com> References: <20211213183056.31444-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=1639420274; bh=j6HWUXQzjMQrfFvnzgdSPXFOj4SBVwV3CeZdvFNbbh4=; h=Cc:Date:From:Reply-To:Subject:To; b=CvAADpjlcNLjEaO7mUHgKOpg5w1VgkRgZk33Xm+tL7RCOj5Dzuci4CewzrpYuiLVV+p NBd1rdQHfbz3C8xF5b/aK1qm9bga0F+3tArjufEQ0MCkC0/7M6MmE+WLw5ArjOetdk7Mi Hn2aZTnpMz2fL1STKd3fbdqnsC+sDoZn7bc= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1639420275636100002 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 | = 40 ++++++++------------ 2 files changed, 18 insertions(+), 32 deletions(-) diff --git a/ArmPkg/Library/ArmSmcPsciResetSystemLib/ArmSmcPsciResetSystemL= ib.c b/ArmPkg/Library/ArmSmcPsciResetSystemLib/ArmSmcPsciResetSystemLib.c index 6688fca37a8b..af6738459e43 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 7a8c3ca56784..e0010a40e489 100644 --- a/ArmPkg/Universal/Smbios/ProcessorSubClassDxe/SmbiosProcessorArmCommon= .c +++ b/ArmPkg/Universal/Smbios/ProcessorSubClassDxe/SmbiosProcessorArmCommon= .c @@ -88,22 +88,18 @@ HasSmcArm64SocId ( VOID ) { - ARM_SMC_ARGS Args; - INT32 SmcCallStatus; - BOOLEAN Arm64SocIdSupported; + 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); - - if (Args.Arg0 >=3D 0) { + SmcParam =3D SMCCC_ARCH_SOC_ID; + SmcCallStatus =3D ArmCallSmc1 (SMCCC_ARCH_FEATURES, &SmcParam, NULL, N= ULL); + if (SmcCallStatus >=3D 0) { Arm64SocIdSupported =3D TRUE; } } @@ -125,30 +121,26 @@ SmbiosGetSmcArm64SocId ( OUT INT32 *SocRevision ) { - ARM_SMC_ARGS Args; - INT32 SmcCallStatus; - EFI_STATUS Status; + 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 (#84753): https://edk2.groups.io/g/devel/message/84753 Mute This Topic: https://groups.io/mt/87704311/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-