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
- 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
- http://opensource.org/licenses/bsd-license.php.\r
-\r
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+ Copyright (c) 2014 - 2019, Intel Corporation. All rights reserved.<BR>\r
+ SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
**/\r
\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
- migrate it's stack and data to Memory.\r
+ returns to the boot loader from where it was called. BootLoader is responsible to\r
+ migrate its 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
control after system memory is available and before the temporary RAM is torn down.\r
\r
- @param[in] FspmUpdDataPtr Pointer to the FSPM_UPD data sructure.\r
+ @param[in] FspmUpdDataPtr Pointer to the FSPM_UPD data structure.\r
@param[out] HobListPtr Pointer to receive the address of the HOB list.\r
\r
@retval EFI_SUCCESS FSP execution environment was initialized successfully.\r
@retval EFI_INVALID_PARAMETER Input parameters are invalid.\r
@retval EFI_UNSUPPORTED The FSP calling conditions were not met.\r
@retval EFI_DEVICE_ERROR FSP initialization failed.\r
- @retval FSP_STATUS_RESET_REQUIREDx A reset is reuired. These status codes will not be returned during S3.\r
+ @retval FSP_STATUS_RESET_REQUIREDx A reset is required. These status codes will not be returned during S3.\r
**/\r
typedef\r
EFI_STATUS\r