summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLaszlo Ersek <lersek@redhat.com>2016-05-25 14:00:06 +0200
committerLaszlo Ersek <lersek@redhat.com>2016-06-06 17:07:02 +0200
commitbe266b10907ac553deac9e2291ad691446cd5180 (patch)
tree827c7d474b09f71001df936fa82d25f4ba450219
parent2c8805bc95df70d59db822ee153830e6fabb5650 (diff)
downloadedk2-be266b10907ac553deac9e2291ad691446cd5180.tar.gz
edk2-be266b10907ac553deac9e2291ad691446cd5180.tar.bz2
edk2-be266b10907ac553deac9e2291ad691446cd5180.zip
ArmVirtPkg/PlatformBootManagerLib: introduce the progress bar
ArmVirtPkg's Platform BDS has never had a progress bar. We can easily add one, by copying the PlatformBootManagerWaitCallback() function verbatim from Nt32Pkg/Library/PlatformBootManagerLib/PlatformBootManager.c It can be tested by passing the following option to QEMU (5 seconds): -boot menu=on,splash-time=5000 Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org> Cc: Leif Lindholm <leif.lindholm@linaro.org> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
-rw-r--r--ArmVirtPkg/Library/PlatformBootManagerLib/PlatformBm.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/ArmVirtPkg/Library/PlatformBootManagerLib/PlatformBm.c b/ArmVirtPkg/Library/PlatformBootManagerLib/PlatformBm.c
index b7e02f3d00..198d0602b3 100644
--- a/ArmVirtPkg/Library/PlatformBootManagerLib/PlatformBm.c
+++ b/ArmVirtPkg/Library/PlatformBootManagerLib/PlatformBm.c
@@ -573,4 +573,21 @@ PlatformBootManagerWaitCallback (
UINT16 TimeoutRemain
)
{
+ EFI_GRAPHICS_OUTPUT_BLT_PIXEL_UNION Black;
+ EFI_GRAPHICS_OUTPUT_BLT_PIXEL_UNION White;
+ UINT16 Timeout;
+
+ Timeout = PcdGet16 (PcdPlatformBootTimeOut);
+
+ Black.Raw = 0x00000000;
+ White.Raw = 0x00FFFFFF;
+
+ BootLogoUpdateProgress (
+ White.Pixel,
+ Black.Pixel,
+ L"Start boot option",
+ White.Pixel,
+ (Timeout - TimeoutRemain) * 100 / Timeout,
+ 0
+ );
}