Vlv2TbltDevicePkg: Display logo on BOOT_ON_FLASH_UPDATE
authorKinney, Michael D <michael.d.kinney@intel.com>
Tue, 27 Mar 2018 23:52:36 +0000 (16:52 -0700)
committerKinney, Michael D <michael.d.kinney@intel.com>
Wed, 28 Mar 2018 16:00:25 +0000 (09:00 -0700)
https://bugzilla.tianocore.org/show_bug.cgi?id=911

Update PlatformBdsLib to show boot logo when the boot
mode is BOOT_ON_FLASH_UPDATE.

Cc: David Wei <david.wei@intel.com>
Cc: Mang Guo <mang.guo@intel.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
Reviewed-by: David Wei <david.wei@intel.com>
Vlv2TbltDevicePkg/Library/PlatformBdsLib/BdsPlatform.c

index e42e82b..c25e1d3 100644 (file)
@@ -1,6 +1,6 @@
 /** @file\r
 \r
 /** @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
                                                                                    \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
     //\r
     PlatformBdsConnectConsole (gPlatformConsole);\r
     PlatformBdsDiagnostics (EXTENSIVE, FALSE, BaseMemoryTest);\r
+    EnableQuietBoot (PcdGetPtr(PcdLogoFile));\r
 \r
     DEBUG((DEBUG_INFO, "ProcessCapsules Before EndOfDxe......\n"));\r
     ProcessCapsules ();\r
 \r
     DEBUG((DEBUG_INFO, "ProcessCapsules Before EndOfDxe......\n"));\r
     ProcessCapsules ();\r
@@ -2642,6 +2643,8 @@ PlatformBdsEnterFrontPageWithHotKey (
 {\r
   EFI_STATUS                    Status;\r
 \r
 {\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
   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
     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
     if (EFI_ERROR (Status)) {\r
       //\r
       // Timeout or user press enter to continue\r
@@ -2728,6 +2739,7 @@ PlatformBdsEnterFrontPageWithHotKey (
       goto Exit;\r
     }\r
   }\r
       goto Exit;\r
     }\r
   }\r
+\r
   //\r
   // Install BM HiiPackages. \r
   // Keep BootMaint HiiPackage, so that it can be covered by global setting. \r
   //\r
   // Install BM HiiPackages. \r
   // Keep BootMaint HiiPackage, so that it can be covered by global setting. \r