From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mx.groups.io with SMTP id smtpd.web11.1429.1658797920414131825 for ; Mon, 25 Jul 2022 18:12:00 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=SVJP60Xn; spf=pass (domain: intel.com, ip: 192.55.52.43, mailfrom: jiewen.yao@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1658797920; x=1690333920; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=hMl1DN08DB/jtsf+ViQQffuYhHhvznxzdQnFl5szr0A=; b=SVJP60XnwDmKkkrkvRMIB1HOekHezvSm4OI08viaA6bejInFx9Xlmchf gaPbFp1wevM2ur96ebJMqBTT6CivW1E+ebwsppxsCvS0CU+witOKBJsWn spMZRLfQzA0AecrtM8usVKd/FZJABdIVE95G++Y2rpL8In81/ENEfShdO elCfx06w+ZrHbG3wDCVLiE05p/HU8iny2rGa78DKamRSOmrPtyqrtOxd2 QAW3IimoLdpqHzjwHAebUb7hdHI0keDwgxiO+ViozryMC35eUEph0/jeO RyRa4hQEcCl9fH3/2+I30Y7g47eqhIMwXf5w8B+uhFiYFy6DLBVBD/M3I A==; X-IronPort-AV: E=McAfee;i="6400,9594,10419"; a="374133093" X-IronPort-AV: E=Sophos;i="5.93,193,1654585200"; d="scan'208";a="374133093" Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Jul 2022 18:11:59 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.93,193,1654585200"; d="scan'208";a="603582144" Received: from fmsmsx604.amr.corp.intel.com ([10.18.126.84]) by fmsmga007.fm.intel.com with ESMTP; 25 Jul 2022 18:11:59 -0700 Received: from fmsmsx602.amr.corp.intel.com (10.18.126.82) by fmsmsx604.amr.corp.intel.com (10.18.126.84) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.28; Mon, 25 Jul 2022 18:11:59 -0700 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.28 via Frontend Transport; Mon, 25 Jul 2022 18:11:59 -0700 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.169) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2375.28; Mon, 25 Jul 2022 18:11:58 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=O/K2koesNLFr0tu87mlOZ+wtI8TaGoOg7sprnuURYHuh/p0s+nAmJ3SvJs9ILP8avVSScg4cIARxftUDUAm2yfki0TS1Jubv/TlY+KfbaTEqRQdznRuivu9yStM6yYHetWO+Fo6CS0GZZrQ+KsUSLGhmVWKliGgMrZCQqXKK3TpGSXk6XZVpePIddbkN3Zyvx8BsFDbqPi9yJdJoSnDA328P5gzzJq4iOgNDjoOEjfaKayuEcj3AK8HdE+7Pku9AMKstz+WN1XpR4TBE4dGP0j0gbRfjf2Roxt6qHcVBmg7IJ+hc9r8aqgXmf2uOZkzhekl/DetFnDqpjaJQKflq5g== 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=CbaEMlWxGxcam464wnJpmZFjT+sEdRUORo/YlZlejck=; b=WvFZnMPGNFmRl/lFvfOMkYGltngGFOLY7eD7r37o/fo8A2+5FziEcjKXxssfrFvbVeuY5VozfoX+9U+O/6Sm0Xv/KIaxooHYiLBkUZ6+CSeOHxHohiccTi3pK5mvhOMcl1PUic2k6jlGWp6GKzrGmcaq+mi5DoID7NzeWM1r92ia+t/vjUJsgzRXWyXNvq8viH4wjdK17ciisywF3eI3E3JxeCgPxtX7CSi8V3Vy5t/P12eCVonszPnSKnko33HWJvYsbfghzndq6kXEfixvc4+nfUw1MWvbsDFyZ/oSmnth/cATXsZQkoaXJMMvW/ddzry82Cq5PrEh4p05W5pIHw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from MW4PR11MB5872.namprd11.prod.outlook.com (2603:10b6:303:169::14) by SN6PR11MB3021.namprd11.prod.outlook.com (2603:10b6:805:d1::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5458.21; Tue, 26 Jul 2022 01:11:50 +0000 Received: from MW4PR11MB5872.namprd11.prod.outlook.com ([fe80::fd61:b244:d8fb:ab1d]) by MW4PR11MB5872.namprd11.prod.outlook.com ([fe80::fd61:b244:d8fb:ab1d%4]) with mapi id 15.20.5458.024; Tue, 26 Jul 2022 01:11:50 +0000 From: "Yao, Jiewen" To: "devel@edk2.groups.io" , "pierre.gondois@arm.com" CC: Sami Mujawar , Leif Lindholm , Ard Biesheuvel , Rebecca Cran , "Kinney, Michael D" , "Gao, Liming" , "Wang, Jian J" Subject: Re: [edk2-devel] [PATCH v4 05/21] MdePkg/TrngLib: Definition for TRNG library class interface Thread-Topic: [edk2-devel] [PATCH v4 05/21] MdePkg/TrngLib: Definition for TRNG library class interface Thread-Index: AQHYndf15fy0tqr3ZkOCZLlS8JWUGa2P2b+A Date: Tue, 26 Jul 2022 01:11:50 +0000 Message-ID: References: <20220722143153.913585-1-Pierre.Gondois@arm.com> <20220722143153.913585-6-Pierre.Gondois@arm.com> In-Reply-To: <20220722143153.913585-6-Pierre.Gondois@arm.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-version: 11.6.500.17 dlp-product: dlpe-windows dlp-reaction: no-action authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 73f62da3-a636-45ad-8e24-08da6ea3d1cd x-ms-traffictypediagnostic: SN6PR11MB3021:EE_ x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: iqNlbuUzFhhIWpFKvyGCIlgZlG/PXxGiM5z+qR/GftvFLDN9daUFlKt5xE6hdV0cuopqqaCz2wdZvGQLml3jV+vaFt7p4qVlkJ+5H7H7bJLkNU6Q9V/Aw4CrMZXLbWJ0EHKlDHPnPOD6qWiPga6SA/yknCl8KX6A+DVi9UfFpwxd3F/iUxXwCDnOtEMZpQVlrGS0nyxa9RoVW05yTODWztq8Yr/07hrA+L+/Y+m9E9Vse1tMFcEbUnmhr13ZLMeRg05l4h9H2KI9I2MYdQ0WwlrTHBxx5pKxRL0kS+7yxmDWHK2V4LeF8H376D5sn/xqTu/4L2dPc+By3pp3hW+9n56gHSZZsfmlSTQ4TAeBG3EdDjSy7hHG/l0K5op4lh7sJbZVbU9rrOfw5sPukeF1Z7PrWfOj8l35iCAZ5iq+pBAvVrCwkCcbNfjIBmCj6EF4LPLdiLOC+XqHBqktsI6No6+2CHJ6dRwikPDgLUvjznagoomewDHe8+im2mK3SzmjjeRAWeE39kV9ZScVyquXpwSDf1rNQhksrT02Gn3aG+1juTcAlWA777MLZsWZmJfwYo4KxG8n6U+Ks6W5ZrIcfZy+EPWF+pVVsl/o65i7keNwU9yqYP+AK0c5dBfH75G7xMPoQnbmZIMjtpURlTpAPiSrHImirexvO3hiUNlYJAkJ6Y/4eHa3a1eZ6SOIh/CS5bl3KgRWMrhYc1syJdEc2/ayWJI7im1SNSi52F4sQLd6qjE26mIegLIcIiysABeyCatBNt6uCds5mtF8uc23E4RMC4NNvYjBp4yF11xHbRIQQI/25WhT4XCk0qiLrUOM9YvN8trX9ka9smoAQMDaPAyvBw8bFAFeLPd0zo7CqlrkuzkBKTeltWoQGeHxa3IH x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW4PR11MB5872.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(136003)(396003)(376002)(39860400002)(366004)(346002)(107886003)(4326008)(110136005)(66476007)(186003)(8676002)(64756008)(66946007)(66446008)(66556008)(76116006)(7696005)(83380400001)(6506007)(54906003)(9686003)(26005)(2906002)(41300700001)(53546011)(86362001)(38070700005)(82960400001)(38100700002)(55016003)(52536014)(5660300002)(316002)(478600001)(8936002)(122000001)(71200400001)(966005)(33656002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?iz39t02QSBN2ARhl/4OjAnO8lDV3WOG8tJIHGrrKcTNJcRVj9N7wu10HoiMz?= =?us-ascii?Q?yhLxerCA1RQtFunZfF0pNQb6livqdJEFcmyk+oqe4fChcCRU6xd5R1FwnX/j?= =?us-ascii?Q?zQWQTtwdKcLzNhgy87gLPhV4AAqnES5N73IINC/yn/2olEnN4fRxU4isbH/B?= =?us-ascii?Q?UNgqz20rrxRFKHlOZcYDxX+LmUfY7yI23hheRzSApAqAgAmquWtk2ptKgRsp?= =?us-ascii?Q?Csb+I06cnw/23IPBpVNFWQhUtwuj6i84+VE6yCo3T9Z10YbOJKTn2cJ53F7n?= =?us-ascii?Q?JSsnIP1PKlQKtoVzfJTkX2z7pJmip2fm67bQJEIrBDM471HgwMgezRu89ewt?= =?us-ascii?Q?7+XufqjEe7+c9koyNDoj17im4nqEU74sgRyhsthrFhCdHdwVsH2CAOfR3zZV?= =?us-ascii?Q?bW8E2rIneLeXKF5fwox+qadtDJltXT8lbJ/xTITm+hGPtAsUCEGbgeDGBX2C?= =?us-ascii?Q?A28aWyQUueVViJUptDULeJ1pRRjeP8q6YlaS/ElxaMAktuMO8E6R5ktD3ZJn?= =?us-ascii?Q?Oxe/yHNE0kr/+qUVoLGijgKDcDrxe9JcoaMRnzbmXkngFIwn95zz50hZFgFS?= =?us-ascii?Q?sIUrFD8psrivdo8XPBT18GBy95MvNkVAOeKsEo7a8YZTMgGn34VNeV+W2SrC?= =?us-ascii?Q?P1B+oB09gwTlkx9U7lVnSasU4JTtd3nFhxwrxs6QxqbN0ThmNI62vhtIkCwW?= =?us-ascii?Q?xD5CQ+/9DgUKLkZK3hGYFfQMbiUTVYfq5b30DFkIlf5Zw43AgamKdRx914Fm?= =?us-ascii?Q?8HIy9Z88+8DIh9dSqpc2RYVkZi9x/E0h0VYfMceT432njyCc7khZXUjqB/IW?= =?us-ascii?Q?FKzt6++QtDI0vkA3LJceaELQ3jeRUnvx9r6lzWJgVPDDzYc2Onrllol5veII?= =?us-ascii?Q?+9pd/VN4kcbgswBTxdTbsVVpYucva2We19tAHEIr5MQEhsmcaWhvejWz8pC3?= =?us-ascii?Q?Zv0mongee8F3Gs8oIpnrQ4GvavTvS/2i+rHbOwPsFxSQwKO6JHDH/pP66iaM?= =?us-ascii?Q?LY0pBuIYya/Og66Rlwt5mRkLyXttNYDSjHQjM1+15SyA8YECbNhF93BLt9Dc?= =?us-ascii?Q?yaBwW+icQr5hRtLhSAk8al0d02DbckMr2YRHl8MAlkv9yNjdmu7Gm8zRiceE?= =?us-ascii?Q?BdjmcD5Q0jYOnIyzO6qPVuo9OMPnIaAVtxHo8n0PToe/9RrZp4omD7/XxXOQ?= =?us-ascii?Q?Jku29HkF0CptMicd4/97E77YYEDGZ9YMLWkYU8WwmVvDoT94kXpRnsI43dMG?= =?us-ascii?Q?OZqnYie+makQ/daW0sIL9mfSNyNDHvuOMlN16iRS6KWPZ48UoRx0sEnv8U+e?= =?us-ascii?Q?Z8X7CYrz5O3ePms6CQtFZilaxTo906Us4QR9xVkOT+nQnrlZXQ5iR0sdYW/u?= =?us-ascii?Q?Lve1QkSCNQbCxg1Ue8LZ2dkMFe4qB3Zylzk0nKtS0lm+LG9Hw7KNbZKp4X2G?= =?us-ascii?Q?3oJTdk9B6TaXIsgPQbct+AJeNISzK4NqW1VwoA3aLrnuTlHx//tbE7U4d9ds?= =?us-ascii?Q?ggPPHVD6LYzXfO/2OybaDjWjfG35aKvutPS2y/LqJj71FTyu2oHSgBbxjAAY?= =?us-ascii?Q?BVjSkSYGhBWGPpmrOm7pqyF4A7vm4MhWwFc+2Prd?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MW4PR11MB5872.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 73f62da3-a636-45ad-8e24-08da6ea3d1cd X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Jul 2022 01:11:50.4824 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: vEOzJwGfcdi2VyaqEp+Blid7nhrml6d76kD767vEarpmDcaCuiGg+RZTwZTnAHa/lgXcp0sicZtFom0PhvWu9Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN6PR11MB3021 Return-Path: jiewen.yao@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hi Please allow me to clarify the position of this library class. In this library header file, there are 4 references: - [1] Arm True Random Number Generator Firmware, Interface 1.0, Platform Design Document. (https://developer.arm.com/documentation/den0098/latest/) - [2] NIST Special Publication 800-90A Revision 1, June 2015, Recommendat= ion for Random Number Generation Using Deterministic Random Bit Generat= ors. (https://csrc.nist.gov/publications/detail/sp/800-90a/rev-1/final) - [3] NIST Special Publication 800-90B, Recommendation for the Entropy Sources Used for Random Bit Generation. (https://csrc.nist.gov/publications/detail/sp/800-90b/final) - [4] (Second Draft) NIST Special Publication 800-90C, Recommendation for Random Bit Generator (RBG) Constructions. (https://csrc.nist.gov/publications/detail/sp/800-90c/draft) To me, the API definition only seems align with [1] with some adjustment.=20 But I am not clear how that is related to [2], [3], and [4]. Question: Is this library class only for ARM TRNG firmware? Or is this gene= ric to follow [2], [3], [4]? Assuming this is for ARM TRNG only, I suggest to remove [2], [3], [4], in t= he library *class* definition. You can still put [2], [3], [4] in library *instance*, as the implementatio= n reference. More specific, this is *TRNG* class, I think only [3] is related. I am not clear how [2] and [4] are involved. If you can explain a little bi= t, that would be good. Thank you Yao, Jiewen > -----Original Message----- > From: devel@edk2.groups.io On Behalf Of > PierreGondois > Sent: Friday, July 22, 2022 10:32 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 ; Pier= re > Gondois > Subject: [edk2-devel] [PATCH v4 05/21] MdePkg/TrngLib: Definition for TRN= G > library class interface >=20 > From: Sami Mujawar >=20 > Bugzilla: 3668 (https://bugzilla.tianocore.org/show_bug.cgi?id=3D3668) >=20 > The NIST Special Publications 800-90A, 800-90B and 800-90C > provide recommendations for random number generation. The > NIST 800-90C, Recommendation for Random Bit Generator (RBG) > Constructions, defines the GetEntropy() interface that is > used to access the entropy source. The GetEntropy() interface > is further used by Deterministic Random Bit Generators (DRBG) > to generate random numbers. >=20 > The True Random Number Generator (TRNG) library defines an > interface to access the entropy source on a platform. Some > platforms/architectures may provide access to the entropy > using a firmware interface. In such cases the TRNG library > shall be used to provide an abstraction. >=20 > Signed-off-by: Sami Mujawar > --- > MdePkg/Include/Library/TrngLib.h | 121 +++++++++++++++++++++++++++++++ > MdePkg/MdePkg.dec | 5 ++ > 2 files changed, 126 insertions(+) > create mode 100644 MdePkg/Include/Library/TrngLib.h >=20 > diff --git a/MdePkg/Include/Library/TrngLib.h > b/MdePkg/Include/Library/TrngLib.h > new file mode 100644 > index 000000000000..a6f165b1f918 > --- /dev/null > +++ b/MdePkg/Include/Library/TrngLib.h > @@ -0,0 +1,121 @@ > +/** @file > + TRNG interface library definitions. > + > + Copyright (c) 2021 - 2022, Arm Limited. All rights reserved.
> + > + SPDX-License-Identifier: BSD-2-Clause-Patent > + > + @par Reference(s): > + - [1] Arm True Random Number Generator Firmware, Interface 1.0, > + Platform Design Document. > + (https://developer.arm.com/documentation/den0098/latest/) > + - [2] NIST Special Publication 800-90A Revision 1, June 2015, > Recommendation > + for Random Number Generation Using Deterministic Random Bit > Generators. > + (https://csrc.nist.gov/publications/detail/sp/800-90a/rev-1/fina= l) > + - [3] NIST Special Publication 800-90B, Recommendation for the Entropy > + Sources Used for Random Bit Generation. > + (https://csrc.nist.gov/publications/detail/sp/800-90b/final) > + - [4] (Second Draft) NIST Special Publication 800-90C, Recommendation = for > + Random Bit Generator (RBG) Constructions. > + (https://csrc.nist.gov/publications/detail/sp/800-90c/draft) > + > + @par Glossary: > + - TRNG - True Random Number Generator > +**/ > + > +#ifndef TRNG_LIB_H_ > +#define TRNG_LIB_H_ > + > +/** Get the version of the TRNG backend. > + > + A TRNG may be implemented by the system firmware, in which case this > + function shall return the version of the TRNG backend. > + The implementation must return NOT_SUPPORTED if a Back end is not pres= ent. > + > + @param [out] MajorRevision Major revision. > + @param [out] MinorRevision Minor revision. > + > + @retval RETURN_SUCCESS The function completed successfully= . > + @retval RETURN_INVALID_PARAMETER Invalid parameter. > + @retval RETURN_UNSUPPORTED Backend not present. > +**/ > +RETURN_STATUS > +EFIAPI > +GetTrngVersion ( > + OUT UINT16 *MajorRevision, > + OUT UINT16 *MinorRevision > + ); > + > +/** Get the UUID of the TRNG backend. > + > + A TRNG may be implemented by the system firmware, in which case this > + function shall return the UUID of the TRNG backend. > + Returning the TRNG UUID is optional and if not implemented, > RETURN_UNSUPPORTED > + shall be returned. > + > + Note: The caller must not rely on the returned UUID as a trustworthy T= RNG > + Back end identity > + > + @param [out] Guid UUID of the TRNG backend. > + > + @retval RETURN_SUCCESS The function completed successfully= . > + @retval RETURN_INVALID_PARAMETER Invalid parameter. > + @retval RETURN_UNSUPPORTED Function not implemented. > +**/ > +RETURN_STATUS > +EFIAPI > +GetTrngUuid ( > + OUT GUID *Guid > + ); > + > +/** Returns maximum number of entropy bits that can be returned in a sin= gle > + call. > + > + @return Returns the maximum number of Entropy bits that can be returne= d > + in a single call to GetTrngEntropy(). > +**/ > +UINTN > +EFIAPI > +GetTrngMaxSupportedEntropyBits ( > + VOID > + ); > + > +/** Returns N bits of conditioned entropy. > + > + See [3] Section 2.3.1 GetEntropy: An Interface to the Entropy Source > + GetEntropy > + Input: > + bits_of_entropy: the requested amount of entropy > + Output: > + entropy_bitstring: The string that provides the requested entrop= y. > + status: A Boolean value that is TRUE if the request has been satis= fied, > + and is FALSE otherwise. > + > + Note: In this implementation this function returns a status code inste= ad > + of a boolean value. > + This is also compatible with the definition of Get_Entropy, see = [4] > + Section 7.4 Entropy Source Calls. > + (status, entropy_bitstring) =3D Get_Entropy ( > + requested_entropy, > + max_length > + ) > + > + @param [in] EntropyBits Number of entropy bits requested. > + @param [in] BufferSize Size of the Buffer in bytes. > + @param [out] Buffer Buffer to return the entropy bits. > + > + @retval RETURN_SUCCESS The function completed successfully= . > + @retval RETURN_INVALID_PARAMETER Invalid parameter. > + @retval RETURN_UNSUPPORTED Function not implemented. > + @retval RETURN_BAD_BUFFER_SIZE Buffer size is too small. > + @retval RETURN_NOT_READY No Entropy available. > +**/ > +RETURN_STATUS > +EFIAPI > +GetTrngEntropy ( > + IN UINTN EntropyBits, > + IN UINTN BufferSize, > + OUT UINT8 *Buffer > + ); > + > +#endif // TRNG_LIB_H_ > diff --git a/MdePkg/MdePkg.dec b/MdePkg/MdePkg.dec > index f1ebf9e251c1..7ff26e22f915 100644 > --- a/MdePkg/MdePkg.dec > +++ b/MdePkg/MdePkg.dec > @@ -7,6 +7,7 @@ > # Copyright (c) 2007 - 2022, Intel Corporation. All rights reserved.
> # Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved. > # (C) Copyright 2016 - 2021 Hewlett Packard Enterprise Development LP > +# Copyright (c) 2021 - 2022, Arm Limited. All rights reserved.
> # > # SPDX-License-Identifier: BSD-2-Clause-Patent > # > @@ -275,6 +276,10 @@ [LibraryClasses] > ## @libraryclass Provides function for SMM CPU Rendezvous Library. > SmmCpuRendezvousLib|Include/Library/SmmCpuRendezvousLib.h >=20 > + ## @libraryclass Provides services to generate Entropy using a TRNG. > + # > + TrngLib|Include/Library/TrngLib.h > + > [LibraryClasses.IA32, LibraryClasses.X64, LibraryClasses.AARCH64] > ## @libraryclass Provides services to generate random number. > # > -- > 2.25.1 >=20 >=20 >=20 > -=3D-=3D-=3D-=3D-=3D-=3D > Groups.io Links: You receive all messages sent to this group. > View/Reply Online (#91704): https://edk2.groups.io/g/devel/message/91704 > Mute This Topic: https://groups.io/mt/92548701/1772286 > Group Owner: devel+owner@edk2.groups.io > Unsubscribe: https://edk2.groups.io/g/devel/unsub [jiewen.yao@intel.com] > -=3D-=3D-=3D-=3D-=3D-=3D >=20