**/\r
\r
#include <IndustryStandard/Pci22.h>\r
+#include <Library/BootLogoLib.h>\r
#include <Library/DevicePathLib.h>\r
#include <Library/PcdLib.h>\r
#include <Library/QemuBootOrderLib.h>\r
//\r
// Show the splash screen.\r
//\r
- EnableQuietBoot (PcdGetPtr (PcdLogoFile));\r
+ BootLogoEnableLogo (\r
+ ImageFormatBmp, // ImageFormat\r
+ PcdGetPtr (PcdLogoFile), // Logo\r
+ EdkiiPlatformLogoDisplayAttributeCenter, // Attribute\r
+ 0, // OffsetX\r
+ 0 // OffsetY\r
+ );\r
\r
//\r
// Connect the rest of the devices.\r
//\r
TryRunningQemuKernel ();\r
\r
- BdsLibEnumerateAllBootOption (BootOptionList);\r
- SetBootOrderFromQemu (BootOptionList);\r
//\r
- // The BootOrder variable may have changed, reload the in-memory list with\r
- // it.\r
+ // Enumerate all possible boot options, then filter and reorder them based on\r
+ // the QEMU configuration.\r
//\r
- BdsLibBuildOptionFromVar (BootOptionList, L"BootOrder");\r
+ EfiBootManagerRefreshAllBootOption ();\r
+ SetBootOrderFromQemu ();\r
}\r
\r
/**\r
UINT16 TimeoutRemain\r
)\r
{\r
+ EFI_GRAPHICS_OUTPUT_BLT_PIXEL_UNION Black;\r
+ EFI_GRAPHICS_OUTPUT_BLT_PIXEL_UNION White;\r
+ UINT16 Timeout;\r
+\r
+ Timeout = PcdGet16 (PcdPlatformBootTimeOut);\r
+\r
+ Black.Raw = 0x00000000;\r
+ White.Raw = 0x00FFFFFF;\r
+\r
+ BootLogoUpdateProgress (\r
+ White.Pixel,\r
+ Black.Pixel,\r
+ L"Start boot option",\r
+ White.Pixel,\r
+ (Timeout - TimeoutRemain) * 100 / Timeout,\r
+ 0\r
+ );\r
}\r