Intel FSP API definition from Intel Firmware Support Package External\r
Architecture Specification v2.0.\r
\r
- Copyright (c) 2014 - 2016, Intel Corporation. All rights reserved.<BR>\r
+ Copyright (c) 2014 - 2018, Intel Corporation. All rights reserved.<BR>\r
This program and the accompanying materials\r
are licensed and made available under the terms and conditions of the BSD License\r
which accompanies this distribution. The full text of the license may be found at\r
#ifndef _FSP_API_H_\r
#define _FSP_API_H_\r
\r
+///\r
+/// FSP Reset Status code\r
+/// These are defined in FSP EAS v2.0 section 11.2.2 - OEM Status Code\r
+/// @{\r
+#define FSP_STATUS_RESET_REQUIRED_COLD 0x40000001\r
+#define FSP_STATUS_RESET_REQUIRED_WARM 0x40000002\r
+#define FSP_STATUS_RESET_REQUIRED_3 0x40000003\r
+#define FSP_STATUS_RESET_REQUIRED_4 0x40000004\r
+#define FSP_STATUS_RESET_REQUIRED_5 0x40000005\r
+#define FSP_STATUS_RESET_REQUIRED_6 0x40000006\r
+#define FSP_STATUS_RESET_REQUIRED_7 0x40000007\r
+#define FSP_STATUS_RESET_REQUIRED_8 0x40000008\r
+/// @}\r
+\r
#pragma pack(1)\r
+///\r
+/// FSP_UPD_HEADER Configuration.\r
+///\r
typedef struct {\r
///\r
/// UPD Region Signature. This signature will be\r
UINT8 Reserved[23];\r
} FSP_UPD_HEADER;\r
\r
+///\r
+/// FSPM_ARCH_UPD Configuration.\r
+///\r
typedef struct {\r
///\r
/// Revision of the structure. For FSP v2.0 value is 1.\r
UINT8 Reserved1[8];\r
} FSPM_ARCH_UPD;\r
\r
+///\r
+/// FSPT_UPD_COMMON Configuration.\r
+///\r
typedef struct {\r
+ ///\r
+ /// FSP_UPD_HEADER Configuration.\r
+ ///\r
FSP_UPD_HEADER FspUpdHeader;\r
} FSPT_UPD_COMMON;\r
\r
+///\r
+/// FSPM_UPD_COMMON Configuration.\r
+///\r
typedef struct {\r
+ ///\r
+ /// FSP_UPD_HEADER Configuration.\r
+ ///\r
FSP_UPD_HEADER FspUpdHeader;\r
+ ///\r
+ /// FSPM_ARCH_UPD Configuration.\r
+ ///\r
FSPM_ARCH_UPD FspmArchUpd;\r
} FSPM_UPD_COMMON;\r
\r
+///\r
+/// FSPS_UPD_COMMON Configuration.\r
+///\r
typedef struct {\r
+ ///\r
+ /// FSP_UPD_HEADER Configuration.\r
+ ///\r
FSP_UPD_HEADER FspUpdHeader;\r
} FSPS_UPD_COMMON;\r
\r
+///\r
+/// Enumeration of FSP_INIT_PHASE for NOTIFY_PHASE.\r
+///\r
typedef enum {\r
///\r
/// This stage is notified when the bootloader completes the\r
EnumInitPhaseEndOfFirmware = 0xF0\r
} FSP_INIT_PHASE;\r
\r
+///\r
+/// Definition of NOTIFY_PHASE_PARAMS.\r
+///\r
typedef struct {\r
///\r
/// Notification phase used for NotifyPhase API\r
and defined for each FSP binary. This will be documented in Integration guide with\r
each FSP release.\r
After FspMemInit completes its execution, it passes the pointer to the HobList and\r
- returns to the boot loader from where it was called. BootLoader is responsible to \r
+ returns to the boot loader from where it was called. BootLoader is responsible to\r
migrate it's stack and data to Memory.\r
FspMemoryInit, TempRamExit and FspSiliconInit APIs provide an alternate method to\r
complete the silicon initialization and provides bootloader an opportunity to get\r