]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ArmPlatformPkg/ArmVirtualizationPkg/Library/PlatformIntelBdsLib/IntelBdsPlatform.c
ArmVirtualizationPkg: PlatformIntelBdsLib: get front page timeout from QEMU
[mirror_edk2.git] / ArmPlatformPkg / ArmVirtualizationPkg / Library / PlatformIntelBdsLib / IntelBdsPlatform.c
index 90e6e2dd45fa0b1a81c192f7a8983ec981bac2e7..a03e9097c39f97178517a1d2438b5a8a743a78d9 100644 (file)
@@ -15,21 +15,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 \r
 #include "IntelBdsPlatform.h"\r
 \r
-///\r
-/// Predefined platform default time out value\r
-///\r
-UINT16                      gPlatformBootTimeOutDefault;\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-PlatformIntelBdsConstructor (\r
-  IN EFI_HANDLE        ImageHandle,\r
-  IN EFI_SYSTEM_TABLE  *SystemTable\r
-  )\r
-{\r
-  gPlatformBootTimeOutDefault = (UINT16)PcdGet16 (PcdPlatformBootTimeOut);\r
-  return EFI_SUCCESS;\r
-}\r
+#include <Library/QemuBootOrderLib.h>\r
 \r
 //\r
 // BDS Platform Functions\r
@@ -302,6 +288,23 @@ PlatformBdsPolicyBehavior (
 \r
   Status = PlatformBdsConnectConsole ();\r
   ASSERT_EFI_ERROR (Status);\r
+\r
+  //\r
+  // Process QEMU's -kernel command line option\r
+  //\r
+  TryRunningQemuKernel ();\r
+\r
+  BdsLibConnectAll ();\r
+  BdsLibEnumerateAllBootOption (BootOptionList);\r
+\r
+  SetBootOrderFromQemu (BootOptionList);\r
+  //\r
+  // The BootOrder variable may have changed, reload the in-memory list with\r
+  // it.\r
+  //\r
+  BdsLibBuildOptionFromVar (BootOptionList, L"BootOrder");\r
+\r
+  PlatformBdsEnterFrontPage (GetFrontPageTimeoutFromQemu(), TRUE);\r
 }\r
 \r
 /**\r