Appukuttan V K | e527e95 | 2024-05-15 23:12:44 +0530 | [diff] [blame^] | 1 | /** @file |
| 2 | |
| 3 | Copyright (c) 2023, Intel Corporation. All rights reserved.<BR> |
| 4 | This program and the accompanying materials |
| 5 | are licensed and made available under the terms and conditions of the BSD License |
| 6 | which accompanies this distribution. The full text of the license may be found at |
| 7 | http://opensource.org/licenses/bsd-license.php |
| 8 | |
| 9 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, |
| 10 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. |
| 11 | **/ |
| 12 | #ifndef _FSP_PRODUCER_DATA_HEADER_H_ |
| 13 | #define _FSP_PRODUCER_DATA_HEADER_H_ |
| 14 | |
| 15 | #include <Guid/FspHeaderFile.h> |
| 16 | |
| 17 | #define BUILD_TIME_STAMP_SIZE 12 |
| 18 | |
| 19 | // |
| 20 | // FSP Header Data structure from FspHeader driver. |
| 21 | // |
| 22 | #pragma pack(1) |
| 23 | /// |
| 24 | /// FSP Producer Data Subtype - 1 |
| 25 | /// |
| 26 | typedef struct { |
| 27 | /// |
| 28 | /// Byte 0x00: Length of this FSP producer data type record. |
| 29 | /// |
| 30 | UINT16 Length; |
| 31 | /// |
| 32 | /// Byte 0x02: FSP producer data type. |
| 33 | /// |
| 34 | UINT8 Type; |
| 35 | /// |
| 36 | /// Byte 0x03: Revision of this FSP producer data type. |
| 37 | /// |
| 38 | UINT8 Revision; |
| 39 | /// |
| 40 | /// Byte 0x04: 4 byte field of RC version which is used to build this FSP image. |
| 41 | /// |
| 42 | UINT32 RcVersion; |
| 43 | /// |
| 44 | /// Byte 0x08: Represents the build time stamp "YYYYMMDDHHMM". |
| 45 | /// |
| 46 | UINT8 BuildTimeStamp[BUILD_TIME_STAMP_SIZE]; |
| 47 | } FSP_PRODUCER_DATA_TYPE1; |
| 48 | |
| 49 | /// |
| 50 | /// FSP Producer Data Subtype - 2 |
| 51 | /// |
| 52 | typedef struct { |
| 53 | /// |
| 54 | /// Byte 0x00: Length of this FSP producer data type record. |
| 55 | /// |
| 56 | UINT16 Length; |
| 57 | /// |
| 58 | /// Byte 0x02: FSP producer data type. |
| 59 | /// |
| 60 | UINT8 Type; |
| 61 | /// |
| 62 | /// Byte 0x03: Revision of this FSP producer data type. |
| 63 | /// |
| 64 | UINT8 Revision; |
| 65 | /// |
| 66 | /// Byte 0x04: 4 byte field of Mrc version which is used to build this FSP image. |
| 67 | /// |
| 68 | UINT8 MrcVersion [4]; |
| 69 | } FSP_PRODUCER_DATA_TYPE2; |
| 70 | |
| 71 | typedef struct { |
| 72 | FSP_INFO_HEADER FspInfoHeader; |
| 73 | FSP_INFO_EXTENDED_HEADER FspInfoExtendedHeader; |
| 74 | FSP_PRODUCER_DATA_TYPE1 FspProduceDataType1; |
| 75 | FSP_PRODUCER_DATA_TYPE2 FspProduceDataType2; |
| 76 | FSP_PATCH_TABLE FspPatchTable; |
| 77 | } FSP_PRODUCER_DATA_TABLES; |
| 78 | #pragma pack() |
| 79 | |
| 80 | #endif // _FSP_PRODUCER_DATA_HEADER_H |