/** @file\r
Intel FSP Info Header definition from Intel Firmware Support Package External\r
- Architecture Specification, April 2014, revision 001.\r
+ Architecture Specification v1.1, April 2015, revision 001.\r
\r
Copyright (c) 2014 - 2015, Intel Corporation. All rights reserved.<BR>\r
This program and the accompanying materials\r
\r
#define OFFSET_IN_FSP_INFO_HEADER(x) (UINT32)&((FSP_INFO_HEADER *)(UINTN)0)->x\r
\r
+#define FSP_INFO_HEADER_SIGNATURE SIGNATURE_32 ('F', 'S', 'P', 'H')\r
+\r
#pragma pack(1)\r
\r
typedef struct {\r
///\r
UINT32 ImageSize;\r
///\r
- /// Byte 0x18: FSP binary preferred base address\r
+ /// Byte 0x1C: FSP binary preferred base address\r
///\r
UINT32 ImageBase;\r
\r
///\r
UINT32 CfgRegionOffset;\r
///\r
- /// Byte 0x24: Size of the FSP configuration region\r
+ /// Byte 0x28: Size of the FSP configuration region\r
///\r
UINT32 CfgRegionSize;\r
///\r
UINT32 NotifyPhaseEntryOffset;\r
\r
///\r
- /// Below field is added in FSP 1.1\r
+ /// Below fields are added in FSP Revision 2\r
///\r
\r
///\r
} FSP_INFO_HEADER;\r
\r
///\r
-/// Below structure is added in FSP 1.1\r
+/// Below structure is added in FSP version 2\r
///\r
+#define FSP_INFO_EXTENDED_HEADER_SIGNATURE SIGNATURE_32 ('F', 'S', 'P', 'E')\r
+\r
typedef struct {\r
///\r
/// Byte 0x00: Signature ('FSPE') for the FSP Extended Information Header\r
///\r
UINT32 Signature;\r
///\r
- /// Byte 0x04: Length of the FSP Extended Header\r
+ /// Byte 0x04: Length of the table in bytes, including all additional FSP producer defined data.\r
///\r
- UINT32 HeaderLength;\r
+ UINT32 Length;\r
///\r
- /// Byte 0x08: Revision of the FSP Extended Header\r
+ /// Byte 0x08: FSP producer defined revision of the table.\r
///\r
UINT8 Revision;\r
///\r
///\r
UINT8 Reserved;\r
///\r
- /// Byte 0x0A: An OEM-supplied string that defines the OEM\r
+ /// Byte 0x0A: FSP producer identification string \r
+ ///\r
+ CHAR8 FspProducerId[6];\r
///\r
- CHAR8 OemId[6];\r
+ /// Byte 0x10: FSP producer implementation revision number. Larger numbers are assumed to be newer revisions.\r
///\r
- /// Byte 0x10: An OEM-supplied revision number. Larger numbers are assumed to be newer revisions.\r
+ UINT32 FspProducerRevision;\r
///\r
- UINT32 OemRevision;\r
+ /// Byte 0x14: Size of the FSP producer defined data (n) in bytes.\r
+ ///\r
+ UINT32 FspProducerDataSize;\r
+ ///\r
+ /// Byte 0x18: FSP producer defined data of size (n) defined by FspProducerDataSize.\r
+ ///\r
+\r
+} FSP_INFO_EXTENDED_HEADER;\r
\r
-} FSP_EXTENTED_HEADER;\r
+//\r
+// A generic table search algorithm for additional tables can be implemented with a\r
+// signature search algorithm until a terminator signature 'FSPP' is found.\r
+//\r
+#define FSP_FSPP_SIGNATURE SIGNATURE_32 ('F', 'S', 'P', 'P')\r
\r
#pragma pack()\r
\r