From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (NAM11-CO1-obe.outbound.protection.outlook.com [40.107.220.136]) by mx.groups.io with SMTP id smtpd.web10.4670.1634883635117597212 for ; Thu, 21 Oct 2021 23:20:35 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="body hash did not verify" header.i=@os.amperecomputing.com header.s=selector2 header.b=KEeqOcTl; spf=pass (domain: os.amperecomputing.com, ip: 40.107.220.136, mailfrom: nhi@os.amperecomputing.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LAGBhOgS2YJy+E+wJFfFcJ7UBgtnrqzKVqlO94EGUVighJS3qkR9yYNra7s3OhVrw+J0uYwAH5RaqpA48TDZmpSbbC6f++dNoSMooz8YgZn/HHANakj63I3KSS+ea7JE1in8M6uyDSlHQK+LpK3J73P8mVvUTaaC+AkwUu2UybgGTlC2E98CPKa86nNBpnzvTG/wKbASkd9V/k6+nWuo7h+/zO5IZbH9bXKzqBvlNiKWI2Zw7HfWNEjtNTzeHJxF/cXuxA/CrmMx1g8Tpr5k4k4ptG3G65bmxM65q4z4uqzP+8fNsFwOrW2MfvImZZWA1pUxvHFfdh0E63JCOPkA9w== 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:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=o5lbwxg9m0HRAphuDOU+0ZHRDIEcBUw7P5HbqxKpV2w=; b=FgWWgcCIpVVovva4QkhdwToEmPaBCIk+RsdOK/vx2Fee2f7Tr2eL9AGqMi7e9zU2rTzKG5/hz2fIuE+rJI3ghMk0EMi5wkjEoXL75Xh4Wrpoo1P30qd7jh5Mq2M9wltASKUgDyRvDxUEPGw/o23+62k2ePlm3/9TZbPj8wJkBcGIJGpLYwyD5eSwC7T4ztnPRg6g06pTBTcm3WIq9GvKTsX89s3OsMQz1bHBeELZyHl9zVihdozRb7kQWhdiRqifAzE/uBU6CKtKFIuksJeZzt+3WY32qSuLuGj0eVK8+ab2bac6yqUF8WXdJY0rkkEneFhA2LX4dxhqyOVYGYJc+w== 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=o5lbwxg9m0HRAphuDOU+0ZHRDIEcBUw7P5HbqxKpV2w=; b=KEeqOcTlefMMlPmGIuKi5HQtsiIuerJT0uNt/uzeAy6Vai0PjZxML+sXneT3PMMRIz1YRmsrMOVTAAFP5uvhVUyU2CPO+XnAaZ3JTqCaB0O6vdG8EG2w1m9Ny2mCOFbY7MYOWurzsGq5eVjSNpef2xn8iKeUoH/dOYUbfFzJxXw= 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 PH0PR01MB7287.prod.exchangelabs.com (2603:10b6:510:10a::21) by PH0PR01MB6325.prod.exchangelabs.com (2603:10b6:510:1e::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4628.18; Fri, 22 Oct 2021 06:20:34 +0000 Received: from PH0PR01MB7287.prod.exchangelabs.com ([fe80::254c:9533:7f35:aee]) by PH0PR01MB7287.prod.exchangelabs.com ([fe80::254c:9533:7f35:aee%4]) with mapi id 15.20.4628.016; Fri, 22 Oct 2021 06:20:34 +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: [edk2-platforms][PATCH v4 21/31] AmpereAltraPkg: Add Random Number Generator Support Date: Fri, 22 Oct 2021 13:17:59 +0700 Message-ID: <20211022061809.31087-22-nhi@os.amperecomputing.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20211022061809.31087-1-nhi@os.amperecomputing.com> References: <20211022061809.31087-1-nhi@os.amperecomputing.com> X-ClientProxiedBy: HK2PR02CA0168.apcprd02.prod.outlook.com (2603:1096:201:1f::28) To PH0PR01MB7287.prod.exchangelabs.com (2603:10b6:510:10a::21) Return-Path: nhi@os.amperecomputing.com MIME-Version: 1.0 Received: from sw004.amperecomputing.com (118.69.219.201) by HK2PR02CA0168.apcprd02.prod.outlook.com (2603:1096:201:1f::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4628.16 via Frontend Transport; Fri, 22 Oct 2021 06:20:31 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 2e7882d2-6fbc-4ffd-de0d-08d995240e01 X-MS-TrafficTypeDiagnostic: PH0PR01MB6325: 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: WUfWsKRVLO1GzQ8eGqc4aXDTduuDs1wfWNCCDLErWWXgfwSVNLw1yMr76KQcuKVvZ/dZk4tuLxycirZ8nXohuhutI/UGsnXeZDtfNgqyCgEdLyf5o/m8v9fLpBwLn9zB0KlAWKvn7FWVfeFyvB6u3epl12ECfXe8hPB4Nc3U2Buq2FUXh+2Yw+ZKynFz67hzhnHi766jkApIv0N+Yg+5AmcvxXTssmwhIbFxvJyNO7TXjrwrWNguo0jJaYp+OhPhP6eAvHvW/CncHCQIYRfFy966S3eAEA9XBTUklz+vlLC46Gthf4ZOzqK1hzBQ4aOZjoLOh/PDDo1Umjf+zReeLDIy4rA2y3lhLQY92DApgipQ17vpDUp9UlUau3K57r0rwD/2vlu+mwIKOuV1KPU0bzaFcEiTW+sSRD21z35XuA7uNz3zhzBDuRMkfDCkM2PsZILku6doqiOZUtq3qBnQTyRSP7fOAnxgdZvmuGsgqS9/PDeyroNcPAZh7BXn2s8faUdrNKqJLHWAswxQ3CM5U3xwDz5xtyyL23sY9lvcLH5LWt5wQj0y9ZCkIB7hVqLCHxIy5Rq2k2dyYhwum/DMOg3oT2x/OZY+mNLc0NB9tjn1RX1EBoZpghQzJqjsdtnuBz3xWFsYVIOKGcXFUUkNjwZUASq1SW0fyjchb38mBGhluTSzkElU8+rF4ZYAIlJvM9TLTTMO8SkhuI6ZAAFq6GyuL8uCYkhC2E0t68onFGnYaAVqqHuOSZvMovb9vRqLj1KBGtrtfa+X+BT/e6takw== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR01MB7287.prod.exchangelabs.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(6506007)(5660300002)(6666004)(8936002)(38100700002)(38350700002)(6486002)(186003)(26005)(508600001)(1076003)(316002)(8676002)(54906003)(6916009)(66476007)(66556008)(6512007)(66946007)(83380400001)(86362001)(956004)(4326008)(2616005)(52116002)(2906002)(44824005)(14943795004);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?NTl6/W4BB6+ooQ1oeX8gxs9MVCcmYb6vnCj7UGpTvCixi9v+f94Tyi8R/3al?= =?us-ascii?Q?go1Le3+uOTHqgW2j7UOpnQyJU9exSOXHkL/JvrdHH3oCZPoKBHEEGVWRRl0f?= =?us-ascii?Q?xa2h063q57O3JJegRja9m/C+cSXEZbr0ns3ojH9W6EeYDXKv8LD1T6foa0FX?= =?us-ascii?Q?uwQPSNJPC0djJIm4NvCQpXtCHoO+Lu1uI1F0lvYWaXoYLWCAJzDDmCpuNr1+?= =?us-ascii?Q?D8tFwQ6DkIPaE8TdFRhT2BmEvItm/6d2+6VABFH0C/0eM3xoZjS6KhDjA1Ts?= =?us-ascii?Q?KsI+2EijMW6UUZkJ11hFZwN2i9eec/tm+yJrq8gxha1BltvqhM7caFjQ2GWn?= =?us-ascii?Q?+V2u9jmjcbWi8X8swlkI06X9ulN6U/UoNsmFtkAlTQdvzQORnDvh6io5OkZF?= =?us-ascii?Q?SZAzas4sQjfRw9CLxs6Q6UpnM+XiEgOQSwyjYiMWb7buXzT5YMarDUwA2LQA?= =?us-ascii?Q?+aQBHPGVFxwwHVy3RAC4zU+lGIjHZidWH/V3UWPfUqTCpZMN3VkzY0hRj5Sd?= =?us-ascii?Q?2asZiGDfvdeYWUrLo/oHX3NHeBTLdBsew6EmaLW2bsPPQTdsUdl8aiOyKIQv?= =?us-ascii?Q?tr7+2XCTi8LAxZSaem6qUR3+kzeM2CWy1j/9qgag5C5E4aowfAoozLZCDXF5?= =?us-ascii?Q?DY8igSjleen2opWjjz7nCVlKAaXa0dB+q6q6vsDFrtQP6UghhjeJcDsVIv9q?= =?us-ascii?Q?qlwJuH1V1UsblRaukcf24HyO8kKpw9aOPfALocakjCVhm2NV1T3FX0UYsMN1?= =?us-ascii?Q?I4mbwmnNjSnysmLtx1LWQ1V1a3ZXPwqFl/zAuUXkVLFVq3EjBil+erUTi+1G?= =?us-ascii?Q?Oz6Bb9fgrACZqV2gDlQCPhegSG+9fIQezrJTWiUjcO1kF6SvvT3z3LsHCeMw?= =?us-ascii?Q?jHVsD76qpQxlLv6FXXnSKWTPa5k73zLMUF/cIntOcXQ0QPTbRT4bl+rcSh74?= =?us-ascii?Q?nYh6mb09uUI8cTfnn3YBGW2SwN2aLvlJP2NJ3OmY1cQxyWRJ+4CweLprzAQb?= =?us-ascii?Q?Q9X4RnbsSrQA61jM/F9joKU9qIWzV12PGok9ZT2yLonG5NQF3ov2anJG9v8x?= =?us-ascii?Q?LKe2N4wEnQdQ1ixXvvmLG8krzHijgX8ecbHrkfy26ZmD32MYamdyKQtYFr9R?= =?us-ascii?Q?AwEQu9W9hkjQMNN0bJJQJwZlJtffcSOQbR6TCwY1Fsb90f8oIaGmDulRh071?= =?us-ascii?Q?VN53Uj00YaOz5VdQvnhA5TYdCPM+fkvl6Oq/DcQn/zmKLJGS4bRvM3O8nXz9?= =?us-ascii?Q?RXfj8KXyh/W34wye9yMslzJacjy34V8GybWYei7EiErP9dOhZFs7b9RMdhgi?= =?us-ascii?Q?JNoAwv4xHF4gNdSTGGA/kE+FOWMenEu2Tg9onv17pJmyNJm5r/MsVyB8DKoP?= =?us-ascii?Q?e6t8H5YzD/6P/AfIlkVpCO7I98yjMl6BhW9cVEbkg2fZiCShvkfqs5D9+qIo?= =?us-ascii?Q?MZO9U0LkmuWYsnXuUUk9OjInylcFNSpzYBV6XSaGf9PpVJnT1nlOxQ=3D=3D?= X-OriginatorOrg: os.amperecomputing.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2e7882d2-6fbc-4ffd-de0d-08d995240e01 X-MS-Exchange-CrossTenant-AuthSource: PH0PR01MB7287.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Oct 2021 06:20:33.8857 (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: nhi@amperemail.onmicrosoft.com X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR01MB6325 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain 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: Nhi Pham 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 9b33f295b2df..d25e34ffc6e7 100644 --- a/Silicon/Ampere/AmpereAltraPkg/AmpereAltraPkg.dsc.inc +++ b/Silicon/Ampere/AmpereAltraPkg/AmpereAltraPkg.dsc.inc @@ -688,6 +688,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 ddfe1c945b16..d0e1967c19b2 100644 --- a/Platform/Ampere/JadePkg/Jade.fdf +++ b/Platform/Ampere/JadePkg/Jade.fdf @@ -306,6 +306,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