diff options
author | Laszlo Ersek <lersek@redhat.com> | 2016-05-25 14:00:06 +0200 |
---|---|---|
committer | Laszlo Ersek <lersek@redhat.com> | 2016-06-06 17:07:02 +0200 |
commit | be266b10907ac553deac9e2291ad691446cd5180 (patch) | |
tree | 827c7d474b09f71001df936fa82d25f4ba450219 /ArmVirtPkg | |
parent | 2c8805bc95df70d59db822ee153830e6fabb5650 (diff) | |
download | edk2-platforms-be266b10907ac553deac9e2291ad691446cd5180.tar.xz |
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>
Diffstat (limited to 'ArmVirtPkg')
-rw-r--r-- | ArmVirtPkg/Library/PlatformBootManagerLib/PlatformBm.c | 17 |
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
+ );
}
|