/** @file
|
The Board Boot Manager Library implements BoardBootManagerWaitCallback
|
and BoardBootManagerUnableToBoot callback, which is linked to the
|
Platform Boot Manager Library
|
|
Copyright (c) 2019 Intel Corporation. All rights reserved. <BR>
|
|
SPDX-License-Identifier: BSD-2-Clause-Patent
|
**/
|
|
#include <Library/DebugLib.h>
|
#include <Library/UefiBootServicesTableLib.h>
|
#include <Library/PlatformBootManagerLib.h>
|
#include <Library/UefiLib.h>
|
#include <Library/HobLib.h>
|
#include <Library/PcdLib.h>
|
#include <Library/PrintLib.h>
|
#include <Library/PerformanceLib.h>
|
#include <Library/BootLogoLib.h>
|
#include <Library/BoardBootManagerLib.h>
|
|
/**
|
This function is called each second during the boot manager waits the
|
timeout.
|
|
@param TimeoutRemain The remaining timeout.
|
**/
|
VOID
|
EFIAPI
|
BoardBootManagerWaitCallback (
|
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
|
);
|
}
|
|
/**
|
The function is called when no boot option could be launched,
|
including platform recovery options and options pointing to applications
|
built into firmware volumes.
|
|
If this function returns, BDS attempts to enter an infinite loop.
|
**/
|
VOID
|
EFIAPI
|
BoardBootManagerUnableToBoot (
|
VOID
|
)
|
{
|
|
}
|