From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (NAM10-MW2-obe.outbound.protection.outlook.com [40.107.94.119]) by mx.groups.io with SMTP id smtpd.web10.9928.1631721624746800119 for ; Wed, 15 Sep 2021 09:00:25 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="body hash did not verify" header.i=@os.amperecomputing.com header.s=selector2 header.b=f3mXUk0p; spf=pass (domain: os.amperecomputing.com, ip: 40.107.94.119, mailfrom: nhi@os.amperecomputing.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MUsnwHnpUbQMBrz/B+zjEKGp5Ig8T4fILRQ0d2JBQiCGviH6wtW8nmUsMUGVRxsZ+54vLjZc5b4INEArzDf2GdBQAa1a6bbDgO3/2YmhDGFb+FsEGOScfXuGgAiu4uy/XIpDk1kaFuGA5OgeId5zVW5q4f+tmTaBSMFkYaLfFxA4eegoMzA7ixUllNB/X2fzYE6OfQivdPOG/iTXThER1Bc5J6kOFCwG2mvVsvCESbpFgnbWODyuuescAGwRtgt1PyWFJz+1tky5yCIEqV2FzJ4pwy2HxJxwhdSxhkfXBGJOOkB91mDBDFd/LwaC3AFpVofMCVX560lukZgwOmgAzA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=1MI166mqz5U3Fw7T6iTnSne+rTWMtXNuD5wl9jdUWiI=; b=A6dLImEGC+BqQ9elghKkvFYiGZYfB12kwXkKDfM1jaE631Ap9KEc0PwCTsyEkpKVlF0wx+/XvPYkMrq/jOrU6NN3ZblnH5S5Ly0RPMIsOtQ7L52l5/4JhdBdn4+MKlWcGU+X5OCPXJmW9SXRsdqJETiHlBTklOI/u082VToAqZcOP6f+FSNbme5L9naSuc3x2WhpdTHAzIaipjpc3KHBeIhMscyUxDtNhZWG1WyEG7N4RDTzy71hR37/cLu3ERqTbY9wjkOXMMjgOuQj5ZDNVoJlTsY88s/2qqHJ5Ww4391Rsag/8JittYqb1ckAOCvNTvOslv0MzGQQtZEa9e71vQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=os.amperecomputing.com; dmarc=pass action=none header.from=os.amperecomputing.com; dkim=pass header.d=os.amperecomputing.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=os.amperecomputing.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=1MI166mqz5U3Fw7T6iTnSne+rTWMtXNuD5wl9jdUWiI=; b=f3mXUk0pipH+yBFJUa4XE4XYXjhno5up5+Op53W+7brzQ3GZcSZt7dvrV0r/fjOASy0J09TbEUa6ou0nnEDW1r9pEJnLttcRPRQuSXEc9xfN5ulrntJKPh6LJg7qdAj/OR6wtVetsfWrnIRMVh3SxHq5qcT+EM3mVFz9NBnTuIE= Authentication-Results: edk2.groups.io; dkim=none (message not signed) header.d=none;edk2.groups.io; dmarc=none action=none header.from=os.amperecomputing.com; Received: from DM6PR01MB5849.prod.exchangelabs.com (2603:10b6:5:205::20) by DM5PR0101MB3065.prod.exchangelabs.com (2603:10b6:4:33::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4500.15; Wed, 15 Sep 2021 16:00:22 +0000 Received: from DM6PR01MB5849.prod.exchangelabs.com ([fe80::8eb:704f:2ba7:9bc3]) by DM6PR01MB5849.prod.exchangelabs.com ([fe80::8eb:704f:2ba7:9bc3%4]) with mapi id 15.20.4523.014; Wed, 15 Sep 2021 16:00:22 +0000 From: "Nhi Pham" To: devel@edk2.groups.io CC: patches@amperecomputing.com, nhi@os.amperecomputing.com, vunguyen@os.amperecomputing.com, Thang Nguyen , Chuong Tran , Phong Vo , Leif Lindholm , Michael D Kinney , Ard Biesheuvel , Nate DeSimone Subject: [PATCH v3 19/28] AmpereAltraPkg: Add Random Number Generator Support Date: Wed, 15 Sep 2021 22:55:18 +0700 Message-ID: <20210915155527.8176-20-nhi@os.amperecomputing.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20210915155527.8176-1-nhi@os.amperecomputing.com> References: <20210915155527.8176-1-nhi@os.amperecomputing.com> X-ClientProxiedBy: HK2PR0302CA0012.apcprd03.prod.outlook.com (2603:1096:202::22) To DM6PR01MB5849.prod.exchangelabs.com (2603:10b6:5:205::20) Return-Path: nhi@os.amperecomputing.com MIME-Version: 1.0 Received: from sw004.amperecomputing.com (118.69.219.201) by HK2PR0302CA0012.apcprd03.prod.outlook.com (2603:1096:202::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4544.5 via Frontend Transport; Wed, 15 Sep 2021 16:00:19 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 66431842-7cb5-45f6-ac18-08d97861ec3f X-MS-TrafficTypeDiagnostic: DM5PR0101MB3065: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:8273; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: O4Jzmfw3yWanVEGAm3Kfsq2jwj5RKhknp/YzDGktREnPWbNR4VhNwAVq0k17EtxUS4YICr/m+7ghJ403+ZRjnSF9Ds8dGvMNJSx82hmxbU8PlobbHssNq4USkaER+ql/LYNr8/KYqmnvxH8xLAQOHgM3XfEUGnv2q4qNrfKBrjEMJf8b13iOcDVq00di3uYNULYRZ85boAxTuas/zb6NDbuqodqdr7eTvGAUJ07b6IYmAWdrDRoJkHPRoobs3SZ3U73a6KEeXD/g321mXMqPogdq5wbSnlRg3vyf2L8FyXzKOtOkerOj2rWF63Z2cVq+NyFYrFiPB+eMm2VAyG9qQoqv/tHkVGj/I1NZJ8QFFrAksQ6PeoH9E4Rn/vQP1E7FnTEbLyKHKUd9HUUDG0gegU5+zIxmvlfg9WOV8n6QzLysK7u8u1yJeam6izwHEvQPbAxYJn3uUqLhfp9uhE5f6k0QBSyqgFOke+ckmeyDPNHst91Yp0TQgzoOsBaKObzIpuqNUHLJGCJklMc5sef9tz3p797sl+dMiMkt4gBXBiadimZqIydlXiQIu4aJ+YCpvFK1M20kMU6LAXLWdhEfJrNN+gIqm/i8HbDVceXdrciZab1s1P9MovDSoSyrF8sVb6MYnAeywa8GkuYIJ2xHxVAKMp3urym83F4qgYlpAvGBd5rGrZqIKifjSYh0Hk5YwUGTAja1xOSQsK/ynPZnjwy6wl/LpyLcwkQUQ9Iwfo7C2ZepbVcKYNPlr+5SH6T9TMEgzF2agM//iAZXaoqz1A== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR01MB5849.prod.exchangelabs.com;PTR:;CAT:NONE;SFS:(4636009)(136003)(346002)(396003)(366004)(376002)(39850400004)(2616005)(38100700002)(38350700002)(2906002)(6916009)(83380400001)(6512007)(26005)(8676002)(4326008)(186003)(8936002)(478600001)(6506007)(5660300002)(52116002)(1076003)(86362001)(316002)(66556008)(54906003)(956004)(6486002)(66476007)(66946007)(44824005)(14943795004);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?ksvTGKXN1bSdB7Soo2jbXRpaNFv/yeTlElVnnv8q0KDFdH94InqTgpSFszef?= =?us-ascii?Q?f8CQczLNaFzdWqdlUh+YpaOdJYe+p1OP6THxGM6L0VKgvQD79KdqlNdgDova?= =?us-ascii?Q?8GloKBwl48s24uCw+ptPRDXAKw6LLPuSt7rc9Eg/Qqe5iOyQ/vz97dU3pSAb?= =?us-ascii?Q?v3wRIFZH7XDIckhoEG/44reLJbjbPJE00l0PJlBaQDBld3U1P+zoHB5Kg975?= =?us-ascii?Q?4k+emxpdFeiz/ZCyW5bBKV0ej2cQCkOw5o/fIPze4qLNrxyx4NELD7dHLNRF?= =?us-ascii?Q?fqXudEINs1blhi3s6HzesBFTZVzwo1caDZLt5TMhVwG0E2Y9GQxruNwl6qmc?= =?us-ascii?Q?dLJXOi30DCEfaTyif2Kn4GHx9BQKwTWp3kwdXDK5hmOPJDycEH+gygpdMaFd?= =?us-ascii?Q?M0xZm02B530o/QzPVOTCyucQLSV3v9ffJ3OzArZ1srqoF9CRjp7B3KygilkT?= =?us-ascii?Q?bAjuLRXiCm5sPzXaGwqKbSQ+LSwmHlRCQQdnZAj/QYWRcue2MDP9PxOZu9BJ?= =?us-ascii?Q?JGCcAn/UgmjzagkIiUWcQxp+v5z7K5SLW85sw342sMPHAxBsqvSOiPfzWpwz?= =?us-ascii?Q?/XHDFPhjK801WQqayFXo8igU3iZj4MfyEelQmV4nBMVM/pCqFkLMqVdl3zwb?= =?us-ascii?Q?HXgyf4/AZvTIZXf+5Ebbdnk4C7Q98FGVUHHJyt0GMtx+s2f75FVv1hE78Hmt?= =?us-ascii?Q?tMkuZVw07blsrsjntaI1zVgyRyuPLusAfhL/YUyeD+5cfmTwphG64mox1ia1?= =?us-ascii?Q?MMly7Ar5/jzE1jkrM4FkiQeMDDrQyNL3Q/Sl3QDoy4wriQQpIr4sDndLQbLn?= =?us-ascii?Q?KoUICpinJo35g88E9vn14/wCi2qxz3hPBq5SWf3k4jj36AiNhruAx8oENuor?= =?us-ascii?Q?ltXVlSlvZYfPLWWm0hy+4gxGLD4HkMTecWN/39XwDX0Yq591ulqUQAdh8kNy?= =?us-ascii?Q?TK5Q6HEYcson+FUZEXpfYv1iD09M3sJCrgn7e23tFFh8YRsI3ZJqvDnpTe1o?= =?us-ascii?Q?1YvbN0nn5xr+gAcdi05n9UfE/uglFZGYtLYLCFJrpCJnIv88zTa4oHwnnX7h?= =?us-ascii?Q?P0n+QtOzSrhzJdpuVsvEx++qu7SbPxcfMt+PpNWInK0VkRXimvzSluw/BLfF?= =?us-ascii?Q?Y8PLo+1RQxg9Z7ho5zuXoc/j6OjLnjKgWZ9u21KyJ9F269W8uTUxw/HlUtoL?= =?us-ascii?Q?7bnWpi20mLc7lpt1eX+tl+L20vODWgw/dXGJZGaVkRxwGLZOMWYlaoWqQLrM?= =?us-ascii?Q?boJ1XlszJ8dezi2Abe6nWWygveNIy7XMCNUAqMFX7Z+uBl1L0JCF7E7RVLrF?= =?us-ascii?Q?cniajHtkULwtKVQ51ITfiOIo?= X-OriginatorOrg: os.amperecomputing.com X-MS-Exchange-CrossTenant-Network-Message-Id: 66431842-7cb5-45f6-ac18-08d97861ec3f X-MS-Exchange-CrossTenant-AuthSource: DM6PR01MB5849.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Sep 2021 16:00:22.4010 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3bc2b170-fd94-476d-b0ce-4229bdc904a7 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: mTShGbFX1c6uM7Q63MZ4l+vxzDPwlODGaQsKD9uVZR0SSJyvGNDP/KfKBvYAtP1XYh3MNjt4tyUwkjQ4eorzC49mwh3FFsM3Dv8uE2sGGKI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR0101MB3065 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain From: Vu Nguyen This change is to produce RNG protocol which is required by several modules. Cc: Thang Nguyen Cc: Chuong Tran Cc: Phong Vo Cc: Leif Lindholm Cc: Michael D Kinney Cc: Ard Biesheuvel Cc: Nate DeSimone Signed-off-by: Vu Nguyen Reviewed-by: Leif Lindholm --- Silicon/Ampere/AmpereAltraPkg/AmpereAltraPkg.dsc.inc | 5 + Platform/Ampere/JadePkg/Jade.fdf | 5 + Silicon/Ampere/AmpereAltraPkg/Drivers/RngDxe/RngDxe.inf | 43 +++++ Silicon/Ampere/AmpereAltraPkg/Drivers/RngDxe/RngDxe.c | 164 +++++++= +++++++++++++ Silicon/Ampere/AmpereAltraPkg/Drivers/RngDxe/RngDxe.uni | 10 ++ Silicon/Ampere/AmpereAltraPkg/Drivers/RngDxe/RngDxeExtra.uni | 9 ++ 6 files changed, 236 insertions(+) diff --git a/Silicon/Ampere/AmpereAltraPkg/AmpereAltraPkg.dsc.inc b/Silicon= /Ampere/AmpereAltraPkg/AmpereAltraPkg.dsc.inc index 655cf0258608..459d06c33c02 100644 --- a/Silicon/Ampere/AmpereAltraPkg/AmpereAltraPkg.dsc.inc +++ b/Silicon/Ampere/AmpereAltraPkg/AmpereAltraPkg.dsc.inc @@ -691,6 +691,11 @@ [Components.common] MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf =20 + # + # Random Number Generator Support + # + Silicon/Ampere/AmpereAltraPkg/Drivers/RngDxe/RngDxe.inf + # # Bds # diff --git a/Platform/Ampere/JadePkg/Jade.fdf b/Platform/Ampere/JadePkg/Jad= e.fdf index 8ddfabcdd9a8..06c8a4fa1b09 100644 --- a/Platform/Ampere/JadePkg/Jade.fdf +++ b/Platform/Ampere/JadePkg/Jade.fdf @@ -305,6 +305,11 @@ [FV.FvMain] # INF Drivers/ASpeed/ASpeedGopBinPkg/ASpeedAst2500GopDxe.inf =20 + # + # Random Number Generator Support + # + INF Silicon/Ampere/AmpereAltraPkg/Drivers/RngDxe/RngDxe.inf + # # UEFI application (Shell Embedded Boot Loader) # diff --git a/Silicon/Ampere/AmpereAltraPkg/Drivers/RngDxe/RngDxe.inf b/Sili= con/Ampere/AmpereAltraPkg/Drivers/RngDxe/RngDxe.inf new file mode 100644 index 000000000000..c5f249e31090 --- /dev/null +++ b/Silicon/Ampere/AmpereAltraPkg/Drivers/RngDxe/RngDxe.inf @@ -0,0 +1,43 @@ +## @file +# +# Copyright (c) 2021, Ampere Computing LLC. All rights reserved.
+# +# SPDX-License-Identifier: BSD-2-Clause-Patent +# +## + +[Defines] + INF_VERSION =3D 0x0001001B + BASE_NAME =3D RngDxe + FILE_GUID =3D 4FCC006E-C740-4027-BC97-787907C8D286 + MODULE_TYPE =3D DXE_RUNTIME_DRIVER + VERSION_STRING =3D 1.0 + ENTRY_POINT =3D RngDriverEntry + MODULE_UNI_FILE =3D RngDxe.uni + +[Sources.common] + RngDxe.c + +[Packages] + MdePkg/MdePkg.dec + Silicon/Ampere/AmpereAltraPkg/AmpereAltraPkg.dec + +[LibraryClasses] + BaseLib + DebugLib + TrngLib + UefiBootServicesTableLib + UefiDriverEntryPoint + UefiLib + +[Guids] + gEfiRngAlgorithmRaw ## SOMETIMES_PRODUCES ## GUID = # Unique ID of the algorithm for RNG + +[Protocols] + gEfiRngProtocolGuid ## PRODUCES + +[UserExtensions.TianoCore."ExtraFiles"] + RngDxeExtra.uni + +[Depex] + TRUE diff --git a/Silicon/Ampere/AmpereAltraPkg/Drivers/RngDxe/RngDxe.c b/Silico= n/Ampere/AmpereAltraPkg/Drivers/RngDxe/RngDxe.c new file mode 100644 index 000000000000..bb8140cfeb2f --- /dev/null +++ b/Silicon/Ampere/AmpereAltraPkg/Drivers/RngDxe/RngDxe.c @@ -0,0 +1,164 @@ +/** @file + + Copyright (c) 2021, Ampere Computing LLC. All rights reserved.
+ + SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#include + +#include +#include +#include +#include +#include +#include + +/** + Returns information about the random number generation implementation. + + @param[in] This A pointer to the EFI_RNG_PROTOCOL in= stance. + @param[in,out] RNGAlgorithmListSize On input, the size in bytes of RNGAl= gorithmList. + On output with a return code of EFI_= SUCCESS, the size + in bytes of the data returned in RNG= AlgorithmList. On output + with a return code of EFI_BUFFER_TOO= _SMALL, + the size of RNGAlgorithmList require= d to obtain the list. + @param[out] RNGAlgorithmList A caller-allocated memory buffer fil= led by the driver + with one EFI_RNG_ALGORITHM element f= or each supported + RNG algorithm. The list must not cha= nge across multiple + calls to the same driver. The first = algorithm in the list + is the default algorithm for the dri= ver. + + @retval EFI_SUCCESS The RNG algorithm list was returned = successfully. + @retval EFI_INVALID_PARAMETER One or more of the parameters are in= correct. + @retval EFI_BUFFER_TOO_SMALL The buffer RNGAlgorithmList is too s= mall to hold the result. + +**/ +EFI_STATUS +EFIAPI +RngGetInfo ( + IN EFI_RNG_PROTOCOL *This, + IN OUT UINTN *RNGAlgorithmListSize, + OUT EFI_RNG_ALGORITHM *RNGAlgorithmList + ) +{ + if (This =3D=3D NULL || RNGAlgorithmListSize =3D=3D NULL) { + return EFI_INVALID_PARAMETER; + } + + if (*RNGAlgorithmListSize < sizeof (EFI_RNG_ALGORITHM)) { + *RNGAlgorithmListSize =3D sizeof (EFI_RNG_ALGORITHM); + return EFI_BUFFER_TOO_SMALL; + } + + if (RNGAlgorithmList =3D=3D NULL) { + return EFI_INVALID_PARAMETER; + } + + *RNGAlgorithmListSize =3D sizeof (EFI_RNG_ALGORITHM); + CopyGuid (RNGAlgorithmList, &gEfiRngAlgorithmRaw); + + return EFI_SUCCESS; +} + +/** + Produces and returns an RNG value using either the default or specified = RNG algorithm. + + @param[in] This A pointer to the EFI_RNG_PROTOCOL in= stance. + @param[in] RNGAlgorithm A pointer to the EFI_RNG_ALGORITHM t= hat identifies the RNG + algorithm to use. May be NULL in whi= ch case the function will + use its default RNG algorithm. + @param[in] RNGValueLength The length in bytes of the memory bu= ffer pointed to by + RNGValue. The driver shall return ex= actly this numbers of bytes. + @param[out] RNGValue A caller-allocated memory buffer fil= led by the driver with the + resulting RNG value. + + @retval EFI_SUCCESS The RNG value was returned successfu= lly. + @retval EFI_UNSUPPORTED The algorithm specified by RNGAlgori= thm is not supported by + this driver. + @retval EFI_DEVICE_ERROR An RNG value could not be retrieved = due to a hardware or + firmware error. + @retval EFI_INVALID_PARAMETER RNGValue is NULL or RNGValueLength i= s zero. + +**/ +EFI_STATUS +EFIAPI +RngGetRNG ( + IN EFI_RNG_PROTOCOL *This, + IN EFI_RNG_ALGORITHM *RNGAlgorithm, OPTIONAL + IN UINTN RNGValueLength, + OUT UINT8 *RNGValue + ) +{ + EFI_STATUS Status; + + if (This =3D=3D NULL || RNGValueLength =3D=3D 0 || RNGValue =3D=3D NULL)= { + return EFI_INVALID_PARAMETER; + } + + // + // We only support the raw algorithm, so reject requests for anything el= se + // + if (RNGAlgorithm !=3D NULL && + !CompareGuid (RNGAlgorithm, &gEfiRngAlgorithmRaw)) + { + return EFI_UNSUPPORTED; + } + + Status =3D GenerateRandomNumbers (RNGValue, RNGValueLength); + if (EFI_ERROR (Status)) { + DEBUG (( + DEBUG_ERROR, + "%a:%d Failed to generate a random number. \n", + __FUNCTION__, + __LINE__ + )); + return Status; + } + + return EFI_SUCCESS; +} + +/* + * The Random Number Generator (RNG) protocol + */ +EFI_RNG_PROTOCOL mRng =3D { + RngGetInfo, + RngGetRNG +}; + +/** + The user Entry Point for the Random Number Generator (RNG) driver. + + @param[in] ImageHandle The firmware allocated handle for the EFI imag= e. + @param[in] SystemTable A pointer to the EFI System Table. + + @retval EFI_SUCCESS The entry point is executed successfully. + @retval EFI_NOT_SUPPORTED Platform does not support RNG. + @retval Other Some error occurs when executing this entry po= int. + +**/ +EFI_STATUS +EFIAPI +RngDriverEntry ( + IN EFI_HANDLE ImageHandle, + IN EFI_SYSTEM_TABLE *SystemTable + ) +{ + EFI_STATUS Status; + EFI_HANDLE Handle; + + // + // Install UEFI RNG (Random Number Generator) Protocol + // + Handle =3D NULL; + Status =3D gBS->InstallMultipleProtocolInterfaces ( + &Handle, + &gEfiRngProtocolGuid, + &mRng, + NULL + ); + + return Status; +} diff --git a/Silicon/Ampere/AmpereAltraPkg/Drivers/RngDxe/RngDxe.uni b/Sili= con/Ampere/AmpereAltraPkg/Drivers/RngDxe/RngDxe.uni new file mode 100644 index 000000000000..cd9dde97a236 --- /dev/null +++ b/Silicon/Ampere/AmpereAltraPkg/Drivers/RngDxe/RngDxe.uni @@ -0,0 +1,10 @@ +// +// Copyright (c) 2021, Ampere Computing LLC. All rights reserved.
+// +// SPDX-License-Identifier: BSD-2-Clause-Patent +// + + +#string STR_MODULE_ABSTRACT #language en-US "Produces UEFI Ran= dom Number Generator protocol" + +#string STR_MODULE_DESCRIPTION #language en-US "This module will = produce UEFI Random Number Generator protocol." diff --git a/Silicon/Ampere/AmpereAltraPkg/Drivers/RngDxe/RngDxeExtra.uni b= /Silicon/Ampere/AmpereAltraPkg/Drivers/RngDxe/RngDxeExtra.uni new file mode 100644 index 000000000000..9a3696b25442 --- /dev/null +++ b/Silicon/Ampere/AmpereAltraPkg/Drivers/RngDxe/RngDxeExtra.uni @@ -0,0 +1,9 @@ +// +// Copyright (c) 2021, Ampere Computing LLC. All rights reserved.
+// +// SPDX-License-Identifier: BSD-2-Clause-Patent +// + +#string STR_PROPERTIES_MODULE_NAME +#language en-US +"Ampere UEFI Random Number Generator DXE" --=20 2.17.1