/** @file
Copyright (c) 2017 - 2018, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#include
#include
#include
#include
#include
/**
A hook for board-specific initialization after PCI enumeration.
@retval EFI_SUCCESS The board initialization was successful.
@retval EFI_NOT_READY The board has not been detected yet.
**/
EFI_STATUS
EFIAPI
BoardInitAfterPciEnumeration (
VOID
)
{
BOARD_NOTIFICATION_INIT_FUNC *BoardNotificationInit;
EFI_STATUS Status;
Status = gBS->LocateProtocol (
&gBoardNotificationInitGuid,
NULL,
(VOID **)&BoardNotificationInit
);
if (!EFI_ERROR(Status)) {
if (BoardNotificationInit->BoardInitAfterPciEnumeration != NULL) {
return BoardNotificationInit->BoardInitAfterPciEnumeration ();
}
}
return EFI_SUCCESS;
}
/**
A hook for board-specific functionality for the ReadyToBoot event.
@retval EFI_SUCCESS The board initialization was successful.
@retval EFI_NOT_READY The board has not been detected yet.
**/
EFI_STATUS
EFIAPI
BoardInitReadyToBoot (
VOID
)
{
BOARD_NOTIFICATION_INIT_FUNC *BoardNotificationInit;
EFI_STATUS Status;
Status = gBS->LocateProtocol (
&gBoardNotificationInitGuid,
NULL,
(VOID **)&BoardNotificationInit
);
if (!EFI_ERROR(Status)) {
if (BoardNotificationInit->BoardInitReadyToBoot != NULL) {
return BoardNotificationInit->BoardInitReadyToBoot ();
}
}
return EFI_SUCCESS;
}
/**
A hook for board-specific functionality for the ExitBootServices event.
@retval EFI_SUCCESS The board initialization was successful.
@retval EFI_NOT_READY The board has not been detected yet.
**/
EFI_STATUS
EFIAPI
BoardInitEndOfFirmware (
VOID
)
{
BOARD_NOTIFICATION_INIT_FUNC *BoardNotificationInit;
EFI_STATUS Status;
Status = gBS->LocateProtocol (
&gBoardNotificationInitGuid,
NULL,
(VOID **)&BoardNotificationInit
);
if (!EFI_ERROR(Status)) {
if (BoardNotificationInit->BoardInitEndOfFirmware != NULL) {
return BoardNotificationInit->BoardInitEndOfFirmware ();
}
}
return EFI_SUCCESS;
}