From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by mx.groups.io with SMTP id smtpd.web12.514.1667583261731311375 for ; Fri, 04 Nov 2022 10:34:21 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=hSwL3GlO; spf=pass (domain: kernel.org, ip: 139.178.84.217, mailfrom: ardb@kernel.org) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id D0285622D8 for ; Fri, 4 Nov 2022 17:34:20 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id BBBB0C43141 for ; Fri, 4 Nov 2022 17:34:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1667583259; bh=LHwCX8BGpqsy3rXv/SijVuXa8gItF9ocQdN+XUDmrU8=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=hSwL3GlOE5DQd7mInlwRe3kTuwRy+8/Wf9cFRx9pSIPNb5UqG5EtWis+VI+t7jyQZ 9+YLNchJcD/uE43Lb6LMxlROQtbR8MBQxhgedB3yp+oVE3hkykLGh3GFEtX8vSTlRm wqL6F3raWpwJF1L+ayAKX21OaNOhKjgVhPGHWR/5/rfa+BObTbIVEQGdU78rj7/dbN 0FPEqcqt106p8zk04IwAwMPlwUpvmrrnnUah4w4nbdwVxvkltXDq4WzgOVw7Io/iv/ k6SOSWC5rFKPmFZAd7s048iCQQJtVX6e5QgpeGO2LNb+mAmRLkmToMSPYwQuVrB0KW s/5UvsBWjrELA== Received: by mail-lj1-f182.google.com with SMTP id z24so7381500ljn.4 for ; Fri, 04 Nov 2022 10:34:19 -0700 (PDT) X-Gm-Message-State: ACrzQf32IFv9K/IoGdzyEGsJekDjD0zF2Jtyd9LRHl6tPbdVJx5w040v BI2KpVeQUBJHfphMkcWiqi2M4Y9PLgI+k48yjw4= X-Google-Smtp-Source: AMsMyM6g9W9EFEsRA8pviyg83PPKWSCs5sTaRmG34HG51wgRERqrU5m/4RC9kWD9IscyJ0SCyFQJGxHk28X25jIcHm4= X-Received: by 2002:a05:651c:c6:b0:277:96a:5c32 with SMTP id 6-20020a05651c00c600b00277096a5c32mr2300376ljr.415.1667583257655; Fri, 04 Nov 2022 10:34:17 -0700 (PDT) MIME-Version: 1.0 References: <20221028153259.397445-1-Pierre.Gondois@arm.com> <030401d8efeb$03c1b890$0b4529b0$@byosoft.com.cn> In-Reply-To: <030401d8efeb$03c1b890$0b4529b0$@byosoft.com.cn> From: "Ard Biesheuvel" Date: Fri, 4 Nov 2022 18:34:06 +0100 X-Gmail-Original-Message-ID: Message-ID: Subject: =?UTF-8?B?UmU6IFtlZGsyLWRldmVsXSDlm57lpI06IFtQQVRDSCB2OSAwMC8xOV0gQWRkIFJhdyBhbGdvcml0aG0gc3VwcG9ydCB1c2luZyBBcm0gVFJORyBpbnRlcmZhY2U=?= To: devel@edk2.groups.io, gaoliming@byosoft.com.cn Cc: "Yao, Jiewen" , Pierre.Gondois@arm.com, Sami Mujawar , Leif Lindholm , Ard Biesheuvel , Rebecca Cran , "Kinney, Michael D" , "Wang, Jian J" Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Fri, 4 Nov 2022 at 02:16, gaoliming via groups.io wrote: > > Sami, Leif, Ard: > Can you give your Reviewed-by for this patch set this week? If so, this > feature can catch stable tag 202211. > > Stable202211 tag soft feature freeze will start on next Monday Nov 7th. > I will try to look at this before monday. > > -----=E9=82=AE=E4=BB=B6=E5=8E=9F=E4=BB=B6----- > > =E5=8F=91=E4=BB=B6=E4=BA=BA: Yao, Jiewen > > =E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4: 2022=E5=B9=B411=E6=9C=881=E6=97= =A5 16:56 > > =E6=94=B6=E4=BB=B6=E4=BA=BA: Pierre.Gondois@arm.com; devel@edk2.groups.= io > > =E6=8A=84=E9=80=81: Sami Mujawar ; Leif Lindholm > > ; Ard Biesheuvel = ; > > Rebecca Cran ; Kinney, Michael D > > ; Gao, Liming ; > > Wang, Jian J > > =E4=B8=BB=E9=A2=98: RE: [PATCH v9 00/19] Add Raw algorithm support usin= g Arm TRNG > > interface > > > > Thanks for the update. > > > > For SecurityPkg (11~18), Acked-by: Jiewen Yao > > Since the update is for AARCH64, I recommend to have an ARM people to g= ive > > Reviewed-by. > > > > Thank you > > Yao Jiewen > > > > > > > -----Original Message----- > > > From: Pierre.Gondois@arm.com > > > Sent: Friday, October 28, 2022 11:33 PM > > > To: devel@edk2.groups.io > > > Cc: Sami Mujawar ; Leif Lindholm > > > ; Ard Biesheuvel > > > ; Rebecca Cran ; > > Kinney, > > > Michael D ; Gao, Liming > > > ; Yao, Jiewen ; Wang, > > > Jian J > > > Subject: [PATCH v9 00/19] Add Raw algorithm support using Arm TRNG > > > interface > > > > > > From: Pierre Gondois > > > > > > Bugzilla: Bug 3668 (https://bugzilla.tianocore.org/show_bug.cgi?id=3D= 3668) > > > > > > The Arm True Random Number Generator Firmware, Interface 1.0, > > > specification > > > defines an interface between an Operating System (OS) executing at EL= 1 > > and > > > Firmware (FW) exposing a conditioned entropy source that is provided = by > a > > > TRNG back end. > > > This patch-set: > > > - defines an Arm TRNG library class that provides an interface to acc= ess > > > the entropy source on a platform. > > > - implements an Arm TRNG library instance that uses the Arm FW-TRNG > > > interface. > > > - Adds RawAlgorithm support to RngDxe for Arm architecture using the = Arm > > > TRNG interface. > > > - Enables RNG support using Arm TRNG interface for Kvmtool Guest/Virt= ual > > > firmware. > > > > > > This patch-set is based on the v2 from Sami Mujawar: > > > [PATCH v2 0/8] Add Raw algorithm support using Arm FW-TRNG interface > > > v2: > > > https://edk2.groups.io/g/devel/message/83775 > > > v3: > > > https://edk2.groups.io/g/devel/message/90845 > > > https://github.com/PierreARM/edk2/tree/Arm_Trng_v3 > > > v4: > > > https://github.com/PierreARM/edk2/tree/Arm_Trng_v4 > > > v5: > > > https://github.com/PierreARM/edk2/tree/Arm_Trng_v5 > > > v6: > > > https://github.com/PierreARM/edk2/tree/Arm_Trng_v6 > > > v7: > > > https://github.com/PierreARM/edk2/tree/Arm_Trng_v7 > > > v8: > > > https://github.com/PierreARM/edk2/tree/Arm_Trng_v8 > > > v9: > > > https://github.com/PierreARM/edk2/tree/Arm_Trng_v9 > > > > > > v9: > > > - Added BaseArmTrngLibNull as default in MdePkg/MdeLibs.dsc.inc. > > [Liming] > > > - Renamed TrngLib to ArmTrngLib and updated documentation, commit > > > messages, function names accordingly. [Jiewen, Leif] > > > v8: > > > - Added Reviewed-by/Acked-by from Leif on ArmPkg/SecurityPkg > > > patches. [Leif] > > > - Renamed FID_TRNG_* macros to ARM_SMC_ID_TRNG_*. [Leif] > > > v7: > > > - Removed Reviewed-by from Leif. > > > - Remove Sami's Signed-off. > > > V6: > > > - Added my signed-off on patches authored by Sami. [Leif] > > > - New patch to make it easier to add new libraries in alphabetical > > > order: ArmPkg: Sort HVC/SMC section alphbetically in ArmPkg.dsc > [Leif] > > > - Renmaed ArmHvcNullLib to ArmHvcLibNull. [Leif] > > > - Added RISCV64 to the list of VALID_ARCHITECTURES for > > BaseTrngLibNull. > > > [Leif] > > > - Removed unnecessary space in function parameter documentation > > > ('[in, out]'). [Rebecca] > > > - Updated INF_VERSION to latest spec (1.29) for new libraries. > [Rebecca] > > > - Dropped the following patches [Leif]: > > > - ArmPkg/ArmLib: Add ArmHasRngExt() > > > - ArmPkg/ArmLib: Add ArmReadIdIsar0() helper > > > - MdePkg/BaseRngLib: Rename ArmReadIdIsar0() to ArmGetFeatRng() > > > V5: > > > - Removed references in Trnglib.h to 'Special Publication' > > > 800-90A and 800-90C, and only reference 'Arm True Random > > > Number Generator Firmware, Interface 1.0' in the Arm > > > implementation of the TrngLib. [Jiewen] > > > V4: > > > - Removed dependencies on ArmPkg and dropped patch: > > > [PATCH v3 12/22] SecurityPkg: Update Securitypkg.ci.yaml > > > [Jiewen] > > > - Use a dynamically allocated array to hold available algorithms. > > > The array is freed in a new UNLOAD_IMAGE function and > > > allocated in arch specific implementations of > > > GetAvailableAlgorithms(), available in AArch64/AArch64Algo.c > > > and Arm/ArmAlgo.c. > > > - Correctly reference gEfiRngAlgorithmSp80090Ctr256Guid > > > Guid by copying its address (add missing '&'). [Jiewen] > > > V3: > > > - Address Leif's comment (moving definitions, optimizations, ...) > > > - Add ArmMonitorLib to choose Hvc/Smc conduit depending on a Pcd. > > > - Re-factor some parts of SecurityPkg/RngDxe/ to ease the addition > > > of new algorithms. > > > - Add ArmHasRngExt() function to check Arm's FEAT_RNG extension. > > > V2: > > > - Updates TrngLib definitions to use RETURN_STATUS as the return typ= e > > > from the interface functions as TrngLib is base type library. > > > - Drops the patch "MdePkg: Add definition for NULL GUID" as there is > > > already an equivalent definition provided by gZeroGuid. Thus, the > > > use of gNullGuid has been replaced with gZeroGuid. > > > > > > Pierre Gondois (11): > > > ArmPkg/ArmMonitorLib: Definition for ArmMonitorLib library class > > > ArmPkg/ArmMonitorLib: Add ArmMonitorLib > > > ArmPkg: Sort HVC/SMC section alphbetically in ArmPkg.dsc > > > ArmPkg/ArmHvcLibNull: Add NULL instance of ArmHvcLib > > > SecurityPkg/RngDxe: Replace Pcd with Sp80090Ctr256Guid > > > SecurityPkg/RngDxe: Remove ArchGetSupportedRngAlgorithms() > > > SecurityPkg/RngDxe: Documentation/include/parameter cleanup > > > SecurityPkg/RngDxe: Check before advertising Cpu Rng algo > > > SecurityPkg/RngDxe: Add debug warning for NULL > > > PcdCpuRngSupportedAlgorithm > > > SecurityPkg/RngDxe: Rename AArch64/RngDxe.c > > > SecurityPkg/RngDxe: Add Arm support of RngDxe > > > > > > Sami Mujawar (8): > > > ArmPkg: PCD to select conduit for monitor calls > > > MdePkg/ArmTrngLib: Definition for Arm TRNG library class interface > > > MdePkg/ArmTrngLib: Add NULL instance of Arm TRNG Library > > > ArmPkg: Add FID definitions for Arm TRNG > > > ArmPkg/ArmTrngLib: Add Arm TRNG library > > > SecurityPkg/RngDxe: Rename RdRandGenerateEntropy to generic name > > > SecurityPkg/RngDxe: Add AArch64 RawAlgorithm support through > > > ArmTrngLib > > > ArmVirtPkg: Kvmtool: Add RNG support using Arm TRNG interface > > > > > > ArmPkg/ArmPkg.dec | 12 +- > > > ArmPkg/ArmPkg.dsc | 5 +- > > > ArmPkg/Include/IndustryStandard/ArmStdSmc.h | 109 ++++- > > > ArmPkg/Include/Library/ArmMonitorLib.h | 42 ++ > > > ArmPkg/Library/ArmHvcLibNull/ArmHvcLibNull.c | 29 ++ > > > .../Library/ArmHvcLibNull/ArmHvcLibNull.inf | 22 + > > > ArmPkg/Library/ArmMonitorLib/ArmMonitorLib.c | 34 ++ > > > .../Library/ArmMonitorLib/ArmMonitorLib.inf | 29 ++ > > > ArmPkg/Library/ArmTrngLib/ArmTrngDefs.h | 50 +++ > > > ArmPkg/Library/ArmTrngLib/ArmTrngLib.c | 388 > > > ++++++++++++++++++ > > > ArmPkg/Library/ArmTrngLib/ArmTrngLib.inf | 29 ++ > > > ArmVirtPkg/ArmVirtKvmTool.dsc | 10 + > > > ArmVirtPkg/ArmVirtKvmTool.fdf | 5 + > > > MdePkg/Include/Library/ArmTrngLib.h | 106 +++++ > > > .../BaseArmTrngLibNull/BaseArmTrngLibNull.c | 121 ++++++ > > > .../BaseArmTrngLibNull/BaseArmTrngLibNull.inf | 30 ++ > > > .../BaseArmTrngLibNull/BaseArmTrngLibNull.uni | 12 + > > > MdePkg/MdeLibs.dsc.inc | 1 + > > > MdePkg/MdePkg.dec | 5 + > > > MdePkg/MdePkg.dsc | 1 + > > > .../RngDxe/AArch64/AArch64Algo.c | 72 ++++ > > > .../RngDxe/Arm/ArmAlgo.c | 51 +++ > > > .../RngDxe/{AArch64/RngDxe.c =3D> ArmRngDxe.c} | 81 +++- > > > .../RandomNumberGenerator/RngDxe/ArmTrng.c | 71 ++++ > > > .../RngDxe/Rand/RdRand.c | 14 +- > > > .../RngDxe/Rand/RdRand.h | 43 -- > > > .../RngDxe/Rand/RngDxe.c | 62 ++- > > > .../RandomNumberGenerator/RngDxe/RngDxe.c | 90 ++-- > > > .../RandomNumberGenerator/RngDxe/RngDxe.inf | 18 +- > > > .../RngDxe/RngDxeInternals.h | 71 ++-- > > > SecurityPkg/SecurityPkg.dsc | 5 +- > > > 31 files changed, 1462 insertions(+), 156 deletions(-) > > > create mode 100644 ArmPkg/Include/Library/ArmMonitorLib.h > > > create mode 100644 ArmPkg/Library/ArmHvcLibNull/ArmHvcLibNull.c > > > create mode 100644 ArmPkg/Library/ArmHvcLibNull/ArmHvcLibNull.inf > > > create mode 100644 ArmPkg/Library/ArmMonitorLib/ArmMonitorLib.c > > > create mode 100644 ArmPkg/Library/ArmMonitorLib/ArmMonitorLib.inf > > > create mode 100644 ArmPkg/Library/ArmTrngLib/ArmTrngDefs.h > > > create mode 100644 ArmPkg/Library/ArmTrngLib/ArmTrngLib.c > > > create mode 100644 ArmPkg/Library/ArmTrngLib/ArmTrngLib.inf > > > create mode 100644 MdePkg/Include/Library/ArmTrngLib.h > > > create mode 100644 > > > MdePkg/Library/BaseArmTrngLibNull/BaseArmTrngLibNull.c > > > create mode 100644 > > > MdePkg/Library/BaseArmTrngLibNull/BaseArmTrngLibNull.inf > > > create mode 100644 > > > MdePkg/Library/BaseArmTrngLibNull/BaseArmTrngLibNull.uni > > > create mode 100644 > > > SecurityPkg/RandomNumberGenerator/RngDxe/AArch64/AArch64Algo.c > > > create mode 100644 > > > SecurityPkg/RandomNumberGenerator/RngDxe/Arm/ArmAlgo.c > > > rename > > > SecurityPkg/RandomNumberGenerator/RngDxe/{AArch64/RngDxe.c =3D> > > > ArmRngDxe.c} (64%) > > > create mode 100644 > > > SecurityPkg/RandomNumberGenerator/RngDxe/ArmTrng.c > > > delete mode 100644 > > > SecurityPkg/RandomNumberGenerator/RngDxe/Rand/RdRand.h > > > > > > -- > > > 2.25.1 > > > > > >=20 > >