/** @file​Copyright (c) 2017, Intel Corporation. All rights reserved.<BR>This program and the accompanying materials are licensed and made available underthe terms and conditions of the BSD License that accompanies this distribution.The full text of the license may be found athttp://opensource.org/licenses/bsd-license.php.​THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.​**/​#ifndef _BOARD_INIT_LIB_H_#define _BOARD_INIT_LIB_H_​#include <PiPei.h>#include <Uefi.h>​EFI_STATUSEFIAPIBoardDetect (VOID);​EFI_STATUSEFIAPIBoardDebugInit (VOID);​EFI_BOOT_MODEEFIAPIBoardBootModeDetect (VOID);​EFI_STATUSEFIAPIBoardInitBeforeMemoryInit (VOID);​EFI_STATUSEFIAPIBoardInitAfterMemoryInit (VOID);​EFI_STATUSEFIAPIBoardInitBeforeTempRamExit (VOID);​EFI_STATUSEFIAPIBoardInitAfterTempRamExit (VOID);​EFI_STATUSEFIAPIBoardInitBeforeSiliconInit (VOID);​EFI_STATUSEFIAPIBoardInitAfterSiliconInit (VOID);​EFI_STATUSEFIAPIBoardInitAfterPciEnumeration (VOID);​EFI_STATUSEFIAPIBoardInitReadyToBoot (VOID);​EFI_STATUSEFIAPIBoardInitEndOfFirmware (VOID);​#endif
/** @file​Copyright (c) 2017, Intel Corporation. All rights reserved.<BR>This program and the accompanying materials are licensed and made available underthe terms and conditions of the BSD License that accompanies this distribution.The full text of the license may be found athttp://opensource.org/licenses/bsd-license.php.​THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.​**/​#ifndef _MULTI_BOARD_INIT_SUPPORT_LIB_H_#define _MULTI_BOARD_INIT_SUPPORT_LIB_H_​#include <Library/BoardInitLib.h>​typedefEFI_STATUS(EFIAPI *BOARD_DETECT) (VOID);​typedefEFI_STATUS(EFIAPI *BOARD_INIT) (VOID);​typedefEFI_BOOT_MODE(EFIAPI *BOARD_BOOT_MODE_DETECT) (VOID);​typedef struct {BOARD_DETECT BoardDetect;} BOARD_DETECT_FUNC;​typedef struct {BOARD_INIT BoardDebugInit;BOARD_BOOT_MODE_DETECT BoardBootModeDetect;BOARD_INIT BoardInitBeforeMemoryInit;BOARD_INIT BoardInitAfterMemoryInit;BOARD_INIT BoardInitBeforeTempRamExit;BOARD_INIT BoardInitAfterTempRamExit;} BOARD_PRE_MEM_INIT_FUNC;​typedef struct {BOARD_INIT BoardInitBeforeSiliconInit;BOARD_INIT BoardInitAfterSiliconInit;} BOARD_POST_MEM_INIT_FUNC;​typedef struct {BOARD_INIT BoardInitAfterPciEnumeration;BOARD_INIT BoardInitReadyToBoot;BOARD_INIT BoardInitEndOfFirmware;} BOARD_NOTIFICATION_INIT_FUNC;​EFI_STATUSEFIAPIRegisterBoardDetect (IN BOARD_DETECT_FUNC *BoardDetect);​EFI_STATUSEFIAPIRegisterBoardPreMemoryInit (IN BOARD_PRE_MEM_INIT_FUNC *BoardPreMemoryInit);​EFI_STATUSEFIAPIRegisterBoardPostMemoryInit (IN BOARD_POST_MEM_INIT_FUNC *BoardPostMemoryInit);​EFI_STATUSEFIAPIRegisterBoardNotificationInit (IN BOARD_NOTIFICATION_INIT_FUNC *BoardNotificationInit);​#endif