Kilari Raasi | 6a7703f | 2023-05-30 12:36:36 +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 | |
Kilari Raasi | 9c28ab1 | 2023-06-19 16:26:21 +0530 | [diff] [blame^] | 17 | #define BUILD_TIME_STAMP_SIZE 12 |
Kilari Raasi | 6a7703f | 2023-05-30 12:36:36 +0530 | [diff] [blame] | 18 | // |
| 19 | // FSP Header Data structure from FspHeader driver. |
| 20 | // |
| 21 | #pragma pack(1) |
| 22 | /// |
| 23 | /// FSP Producer Data Subtype - 1 |
| 24 | /// |
| 25 | typedef struct { |
| 26 | /// |
| 27 | /// Byte 0x00: Length of this FSP producer data type record. |
| 28 | /// |
| 29 | UINT16 Length; |
| 30 | /// |
| 31 | /// Byte 0x02: FSP producer data type. |
| 32 | /// |
| 33 | UINT8 Type; |
| 34 | /// |
| 35 | /// Byte 0x03: Revision of this FSP producer data type. |
| 36 | /// |
| 37 | UINT8 Revision; |
| 38 | /// |
| 39 | /// Byte 0x04: 4 byte field of RC version which is used to build this FSP image. |
| 40 | /// |
| 41 | UINT32 RcVersion; |
| 42 | /// |
| 43 | /// Byte 0x08: Represents the build time stamp "YYYYMMDDHHMM". |
| 44 | /// |
| 45 | UINT8 BuildTimeStamp[BUILD_TIME_STAMP_SIZE]; |
| 46 | } FSP_PRODUCER_DATA_TYPE1; |
| 47 | |
| 48 | /// |
| 49 | /// FSP Producer Data Subtype - 2 |
| 50 | /// |
| 51 | typedef struct { |
| 52 | /// |
| 53 | /// Byte 0x00: Length of this FSP producer data type record. |
| 54 | /// |
| 55 | UINT16 Length; |
| 56 | /// |
| 57 | /// Byte 0x02: FSP producer data type. |
| 58 | /// |
| 59 | UINT8 Type; |
| 60 | /// |
| 61 | /// Byte 0x03: Revision of this FSP producer data type. |
| 62 | /// |
| 63 | UINT8 Revision; |
| 64 | /// |
| 65 | /// Byte 0x04: 4 byte field of Mrc version which is used to build this FSP image. |
| 66 | /// |
| 67 | UINT8 MrcVersion [4]; |
| 68 | } FSP_PRODUCER_DATA_TYPE2; |
| 69 | |
| 70 | typedef struct { |
| 71 | FSP_INFO_HEADER FspInfoHeader; |
| 72 | FSP_INFO_EXTENDED_HEADER FspInfoExtendedHeader; |
| 73 | FSP_PRODUCER_DATA_TYPE1 FspProduceDataType1; |
| 74 | FSP_PRODUCER_DATA_TYPE2 FspProduceDataType2; |
| 75 | FSP_PATCH_TABLE FspPatchTable; |
| 76 | } FSP_PRODUCER_DATA_TABLES; |
| 77 | #pragma pack() |
| 78 | |
| 79 | #endif // _FSP_PRODUCER_DATA_HEADER_H |