X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;ds=sidebyside;f=IntelFsp2Pkg%2FInclude%2FFspEas%2FFspApi.h;fp=IntelFsp2Pkg%2FInclude%2FFspEas%2FFspApi.h;h=5e47f475db5bf034d49deddf9919db5de9e5b546;hb=140446cd595cad870a0e8cef7a367bae8f09effa;hp=b36bc2b9ae6d0811de5d95d9ab48454597b3a5fe;hpb=671b0cea510ad6de02ee9d6dbdf8f9bbb881f35d;p=mirror_edk2.git diff --git a/IntelFsp2Pkg/Include/FspEas/FspApi.h b/IntelFsp2Pkg/Include/FspEas/FspApi.h index b36bc2b9ae..5e47f475db 100644 --- a/IntelFsp2Pkg/Include/FspEas/FspApi.h +++ b/IntelFsp2Pkg/Include/FspEas/FspApi.h @@ -11,19 +11,24 @@ #define _FSP_API_H_ #include +#include /// /// FSP Reset Status code -/// These are defined in FSP EAS v2.0 section 11.2.2 - OEM Status Code +/// These are defined in FSP EAS v2.4 section 13.2.2 - OEM Status Code /// @{ -#define FSP_STATUS_RESET_REQUIRED_COLD 0x40000001 -#define FSP_STATUS_RESET_REQUIRED_WARM 0x40000002 -#define FSP_STATUS_RESET_REQUIRED_3 0x40000003 -#define FSP_STATUS_RESET_REQUIRED_4 0x40000004 -#define FSP_STATUS_RESET_REQUIRED_5 0x40000005 -#define FSP_STATUS_RESET_REQUIRED_6 0x40000006 -#define FSP_STATUS_RESET_REQUIRED_7 0x40000007 -#define FSP_STATUS_RESET_REQUIRED_8 0x40000008 + +#define ENCODE_RESET_REQUEST(ResetType) \ + ((EFI_STATUS)((MAX_BIT >> 1) | (ResetType))) +#define FSP_STATUS_RESET_REQUIRED_COLD ENCODE_RESET_REQUEST(1) +#define FSP_STATUS_RESET_REQUIRED_WARM ENCODE_RESET_REQUEST(2) +#define FSP_STATUS_RESET_REQUIRED_3 ENCODE_RESET_REQUEST(3) +#define FSP_STATUS_RESET_REQUIRED_4 ENCODE_RESET_REQUEST(4) +#define FSP_STATUS_RESET_REQUIRED_5 ENCODE_RESET_REQUEST(5) +#define FSP_STATUS_RESET_REQUIRED_6 ENCODE_RESET_REQUEST(6) +#define FSP_STATUS_RESET_REQUIRED_7 ENCODE_RESET_REQUEST(7) +#define FSP_STATUS_RESET_REQUIRED_8 ENCODE_RESET_REQUEST(8) +#define FSP_STATUS_VARIABLE_REQUEST ENCODE_RESET_REQUEST(10) /// @} /// @@ -135,18 +140,18 @@ typedef struct { /// /// Revision of the structure is 2 for this version of the specification. /// - UINT8 Revision; - UINT8 Reserved[3]; + UINT8 Revision; + UINT8 Reserved[3]; /// /// Length of the structure in bytes. The current value for this field is 32. /// - UINT32 Length; + UINT32 Length; /// /// FspDebugHandler Optional debug handler for the bootloader to receive debug messages /// occurring during FSP execution. /// - EFI_PHYSICAL_ADDRESS FspDebugHandler; - UINT8 Reserved1[16]; + EFI_PHYSICAL_ADDRESS FspDebugHandler; + UINT8 Reserved1[16]; } FSPT_ARCH2_UPD; /// @@ -197,37 +202,37 @@ typedef struct { /// /// Revision of the structure is 3 for this version of the specification. /// - UINT8 Revision; - UINT8 Reserved[3]; + UINT8 Revision; + UINT8 Reserved[3]; /// /// Length of the structure in bytes. The current value for this field is 64. /// - UINT32 Length; + UINT32 Length; /// /// Pointer to the temporary stack base address to be /// consumed inside FspMemoryInit() API. /// - EFI_PHYSICAL_ADDRESS StackBase; + EFI_PHYSICAL_ADDRESS StackBase; /// /// Temporary stack size to be consumed inside /// FspMemoryInit() API. /// - UINT64 StackSize; + UINT64 StackSize; /// /// Size of memory to be reserved by FSP below "top /// of low usable memory" for bootloader usage. /// - UINT32 BootLoaderTolumSize; + UINT32 BootLoaderTolumSize; /// /// Current boot mode. /// - UINT32 BootMode; + UINT32 BootMode; /// /// Optional event handler for the bootloader to be informed of events occurring during FSP execution. /// This value is only valid if Revision is >= 2. /// - EFI_PHYSICAL_ADDRESS FspEventHandler; - UINT8 Reserved1[24]; + EFI_PHYSICAL_ADDRESS FspEventHandler; + UINT8 Reserved1[24]; } FSPM_ARCH2_UPD; /// @@ -266,18 +271,18 @@ typedef struct { /// /// Revision of the structure is 2 for this version of the specification. /// - UINT8 Revision; - UINT8 Reserved[3]; + UINT8 Revision; + UINT8 Reserved[3]; /// /// Length of the structure in bytes. The current value for this field is 32. /// - UINT32 Length; + UINT32 Length; /// /// FspEventHandler Optional event handler for the bootloader to be informed of events /// occurring during FSP execution. /// - EFI_PHYSICAL_ADDRESS FspEventHandler; - UINT8 Reserved1[16]; + EFI_PHYSICAL_ADDRESS FspEventHandler; + UINT8 Reserved1[16]; } FSPS_ARCH2_UPD; ///