]> git.proxmox.com Git - mirror_edk2.git/blobdiff - OvmfPkg/PlatformPei/Platform.c
OvmfPkg/PlatformPei: Fix issue with 'RELEASE' tag build
[mirror_edk2.git] / OvmfPkg / PlatformPei / Platform.c
index fe25486fa4afa668ea3483f237d4a4786dc6274b..5479b76f4ad37d8fc9c445d5b95e3ae865c32702 100644 (file)
 #include <Library/PcdLib.h>\r
 #include <Library/PciLib.h>\r
 #include <Library/PeimEntryPoint.h>\r
+#include <Library/PeiServicesLib.h>\r
 #include <Library/ResourcePublicationLib.h>\r
 #include <Guid/MemoryTypeInformation.h>\r
+#include <Ppi/MasterBootMode.h>\r
 \r
 #include "Platform.h"\r
 #include "Cmos.h"\r
@@ -45,6 +47,15 @@ EFI_MEMORY_TYPE_INFORMATION mDefaultMemoryTypeInformation[] = {
 };\r
 \r
 \r
+EFI_PEI_PPI_DESCRIPTOR   mPpiBootMode[] = {\r
+  {\r
+    EFI_PEI_PPI_DESCRIPTOR_PPI | EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST,\r
+    &gEfiPeiMasterBootModePpiGuid,\r
+    NULL\r
+  }\r
+};\r
+\r
+\r
 VOID\r
 AddIoMemoryBaseSizeHob (\r
   EFI_PHYSICAL_ADDRESS        MemoryBase,\r
@@ -206,6 +217,20 @@ MiscInitialization (
 }\r
 \r
 \r
+VOID\r
+BootModeInitialization (\r
+  )\r
+{\r
+  EFI_STATUS Status;\r
+\r
+  Status = PeiServicesSetBootMode (BOOT_WITH_FULL_CONFIGURATION);\r
+  ASSERT_EFI_ERROR (Status);\r
+\r
+  Status = PeiServicesInstallPpi (mPpiBootMode);\r
+  ASSERT_EFI_ERROR (Status);\r
+}\r
+\r
+\r
 VOID\r
 ReserveEmuVariableNvStore (\r
   )\r
@@ -285,5 +310,7 @@ InitializePlatform (
 \r
   MiscInitialization ();\r
 \r
+  BootModeInitialization ();\r
+\r
   return EFI_SUCCESS;\r
 }\r