--- /dev/null
+/** @file\r
+ Null version of Random number generator services.\r
+\r
+Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>\r
+SPDX-License-Identifier: BSD-2-Clause-Patent\r
+\r
+**/\r
+\r
+#include <Library/DebugLib.h>\r
+#include <Library/RngLib.h>\r
+\r
+/**\r
+ Generates a 16-bit random number.\r
+\r
+ if Rand is NULL, then ASSERT().\r
+\r
+ @param[out] Rand Buffer pointer to store the 16-bit random value.\r
+\r
+ @retval TRUE Random number generated successfully.\r
+ @retval FALSE Failed to generate the random number.\r
+\r
+**/\r
+BOOLEAN\r
+EFIAPI\r
+GetRandomNumber16 (\r
+ OUT UINT16 *Rand\r
+ )\r
+{\r
+ ASSERT (FALSE);\r
+ return FALSE;\r
+}\r
+\r
+/**\r
+ Generates a 32-bit random number.\r
+\r
+ if Rand is NULL, then ASSERT().\r
+\r
+ @param[out] Rand Buffer pointer to store the 32-bit random value.\r
+\r
+ @retval TRUE Random number generated successfully.\r
+ @retval FALSE Failed to generate the random number.\r
+\r
+**/\r
+BOOLEAN\r
+EFIAPI\r
+GetRandomNumber32 (\r
+ OUT UINT32 *Rand\r
+ )\r
+{\r
+ ASSERT (FALSE);\r
+ return FALSE;\r
+}\r
+\r
+/**\r
+ Generates a 64-bit random number.\r
+\r
+ if Rand is NULL, then ASSERT().\r
+\r
+ @param[out] Rand Buffer pointer to store the 64-bit random value.\r
+\r
+ @retval TRUE Random number generated successfully.\r
+ @retval FALSE Failed to generate the random number.\r
+\r
+**/\r
+BOOLEAN\r
+EFIAPI\r
+GetRandomNumber64 (\r
+ OUT UINT64 *Rand\r
+ )\r
+{\r
+ ASSERT (FALSE);\r
+ return FALSE;\r
+}\r
+\r
+/**\r
+ Generates a 128-bit random number.\r
+\r
+ if Rand is NULL, then ASSERT().\r
+\r
+ @param[out] Rand Buffer pointer to store the 128-bit random value.\r
+\r
+ @retval TRUE Random number generated successfully.\r
+ @retval FALSE Failed to generate the random number.\r
+\r
+**/\r
+BOOLEAN\r
+EFIAPI\r
+GetRandomNumber128 (\r
+ OUT UINT64 *Rand\r
+ )\r
+{\r
+ ASSERT (FALSE);\r
+ return FALSE;\r
+}\r
--- /dev/null
+## @file\r
+# Null instance of RNG (Random Number Generator) Library.\r
+#\r
+# Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>\r
+#\r
+# SPDX-License-Identifier: BSD-2-Clause-Patent\r
+#\r
+##\r
+\r
+[Defines]\r
+ INF_VERSION = 0x00010029\r
+ BASE_NAME = BaseRngLibNull\r
+ MODULE_UNI_FILE = BaseRngLibNull.uni\r
+ FILE_GUID = CD8991F8-2061-4084-8C9E-9C6F352DC58D\r
+ MODULE_TYPE = BASE\r
+ VERSION_STRING = 1.0\r
+ LIBRARY_CLASS = RngLib\r
+\r
+#\r
+# VALID_ARCHITECTURES = IA32 X64 ARM AARCH64 EBC\r
+#\r
+\r
+[Sources]\r
+ BaseRngLibNull.c\r
+\r
+[Packages]\r
+ MdePkg/MdePkg.dec\r
+\r
+[LibraryClasses]\r
+ DebugLib\r
--- /dev/null
+// /** @file\r
+// Null Instance of RNG (Random Number Generator) Library.\r
+//\r
+// Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>\r
+//\r
+// SPDX-License-Identifier: BSD-2-Clause-Patent\r
+//\r
+// **/\r
+\r
+\r
+#string STR_MODULE_ABSTRACT #language en-US "Null Instance of RNG Library"\r
+\r
+#string STR_MODULE_DESCRIPTION #language en-US "This library instance should be used with modules that inherit an (indirect) dependency on the RngLib class, but never actually call RngLib APIs for consuming randomness."\r
+\r
MdePkg/Library/BaseUefiDecompressLib/BaseUefiTianoCustomDecompressLib.inf\r
MdePkg/Library/BaseSmbusLibNull/BaseSmbusLibNull.inf\r
MdePkg/Library/BaseSafeIntLib/BaseSafeIntLib.inf\r
+ MdePkg/Library/BaseRngLibNull/BaseRngLibNull.inf\r
\r
MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf\r
MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf\r