Vlv2TbltDevicePkg: Display logo on BOOT_ON_FLASH_UPDATE
[mirror_edk2.git] / Vlv2TbltDevicePkg / Library / PlatformBdsLib / BdsPlatform.c
index e42e82b..c25e1d3 100644 (file)
@@ -1,6 +1,6 @@
 /** @file\r
 \r
-  Copyright (c) 2004  - 2016, Intel Corporation. All rights reserved.<BR>\r
+  Copyright (c) 2004  - 2018, Intel Corporation. All rights reserved.<BR>\r
                                                                                    \r
   This program and the accompanying materials are licensed and made available under\r
   the terms and conditions of the BSD License that accompanies this distribution.  \r
@@ -1871,6 +1871,7 @@ PlatformBdsPolicyBehavior (
     //\r
     PlatformBdsConnectConsole (gPlatformConsole);\r
     PlatformBdsDiagnostics (EXTENSIVE, FALSE, BaseMemoryTest);\r
+    EnableQuietBoot (PcdGetPtr(PcdLogoFile));\r
 \r
     DEBUG((DEBUG_INFO, "ProcessCapsules Before EndOfDxe......\n"));\r
     ProcessCapsules ();\r
@@ -2642,6 +2643,8 @@ PlatformBdsEnterFrontPageWithHotKey (
 {\r
   EFI_STATUS                    Status;\r
 \r
+  EFI_STATUS                         LogoStatus;\r
+  EFI_BOOT_LOGO_PROTOCOL             *BootLogo;\r
   EFI_GRAPHICS_OUTPUT_PROTOCOL       *GraphicsOutput;\r
   EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL    *SimpleTextOut;\r
   UINTN                              BootTextColumn;\r
@@ -2721,6 +2724,14 @@ PlatformBdsEnterFrontPageWithHotKey (
     gST->ConOut->EnableCursor (gST->ConOut, TRUE);\r
     gST->ConOut->ClearScreen (gST->ConOut);\r
 \r
+    //\r
+    // Boot Logo is corrupted, report it using Boot Logo protocol.\r
+    //\r
+    LogoStatus = gBS->LocateProtocol (&gEfiBootLogoProtocolGuid, NULL, (VOID **) &BootLogo);\r
+    if (!EFI_ERROR (LogoStatus) && (BootLogo != NULL)) {\r
+      BootLogo->SetBootLogo (BootLogo, NULL, 0, 0, 0, 0);\r
+    }\r
+\r
     if (EFI_ERROR (Status)) {\r
       //\r
       // Timeout or user press enter to continue\r
@@ -2728,6 +2739,7 @@ PlatformBdsEnterFrontPageWithHotKey (
       goto Exit;\r
     }\r
   }\r
+\r
   //\r
   // Install BM HiiPackages. \r
   // Keep BootMaint HiiPackage, so that it can be covered by global setting. \r