D.2 BoardInit
D.2.1 BoardInitSupportLib
#ifndef _BOARD_INIT_LIB_H_
#define _BOARD_INIT_LIB_H_
#include <PiPei.h>
#include <Uefi.h>
EFI_STATUS
EFIAPI
BoardDetect (
VOID
);
EFI_STATUS
EFIAPI
BoardDebugInit (
VOID
);
EFI_BOOT_MODE
EFIAPI
BoardBootModeDetect (
VOID
);
EFI_STATUS
EFIAPI
BoardInitBeforeMemoryInit (
VOID
);
EFI_STATUS
EFIAPI
BoardInitAfterMemoryInit (
VOID
);
EFI_STATUS
EFIAPI
BoardInitBeforeTempRamExit (
VOID
);
EFI_STATUS
EFIAPI
BoardInitAfterTempRamExit (
VOID
);
EFI_STATUS
EFIAPI
BoardInitBeforeSiliconInit (
VOID
);
EFI_STATUS
EFIAPI
BoardInitAfterSiliconInit (
VOID
);
EFI_STATUS
EFIAPI
BoardInitAfterPciEnumeration (
VOID
);
EFI_STATUS
EFIAPI
BoardInitReadyToBoot (
VOID
);
EFI_STATUS
EFIAPI
BoardInitEndOfFirmware (
VOID
);
#endif
D.2.2 MultiBoardInitSupportLib
#ifndef _MULTI_BOARD_INIT_SUPPORT_LIB_H_
#define _MULTI_BOARD_INIT_SUPPORT_LIB_H_
#include <Library/BoardInitLib.h>
typedef
EFI_STATUS
(EFIAPI *BOARD_DETECT) (
VOID
);
typedef
EFI_STATUS
(EFIAPI *BOARD_INIT) (
VOID
);
typedef
EFI_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_STATUS
EFIAPI
RegisterBoardDetect (
IN BOARD_DETECT_FUNC *BoardDetect
);
EFI_STATUS
EFIAPI
RegisterBoardPreMemoryInit (
IN BOARD_PRE_MEM_INIT_FUNC *BoardPreMemoryInit
);
EFI_STATUS
EFIAPI
RegisterBoardPostMemoryInit (
IN BOARD_POST_MEM_INIT_FUNC *BoardPostMemoryInit
);
EFI_STATUS
EFIAPI
RegisterBoardNotificationInit (
IN BOARD_NOTIFICATION_INIT_FUNC *BoardNotificationInit
);
#endif