]> git.proxmox.com Git - mirror_edk2.git/blob - IntelFspPkg/Include/FspInfoHeader.h
Add IntelFspWrapper to support boot EDKII on FSP bin.
[mirror_edk2.git] / IntelFspPkg / Include / FspInfoHeader.h
1 /** @file
2 Intel FSP Info Header definition from Intel Firmware Support Package External
3 Architecture Specification, April 2014, revision 001.
4
5 Copyright (c) 2014, Intel Corporation. All rights reserved.<BR>
6 This program and the accompanying materials
7 are licensed and made available under the terms and conditions of the BSD License
8 which accompanies this distribution. The full text of the license may be found at
9 http://opensource.org/licenses/bsd-license.php.
10
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13
14 **/
15
16 #ifndef _FSP_INFO_HEADER_H_
17 #define _FSP_INFO_HEADER_H_
18
19 ///
20 /// Fixed FSP header offset in the FSP image
21 ///
22 #define FSP_INFO_HEADER_OFF 0x94
23
24 #define OFFSET_IN_FSP_INFO_HEADER(x) (UINT32)&((FSP_INFO_HEADER *)(UINTN)0)->x
25
26 #pragma pack(1)
27
28 typedef struct {
29 ///
30 /// Signature ('FSPH') for the FSP Information Header
31 ///
32 UINT32 Signature;
33 ///
34 /// Length of the FSP Information Header
35 ///
36 UINT32 HeaderLength;
37 ///
38 /// Reserved
39 ///
40 UINT8 Reserved1[3];
41 ///
42 /// Revision of the FSP Information Header
43 ///
44 UINT8 HeaderRevision;
45 ///
46 /// Revision of the FSP binary
47 ///
48 UINT32 ImageRevision;
49
50
51 ///
52 /// Signature string that will help match the FSP Binary to a supported
53 /// hardware configuration.
54 ///
55 CHAR8 ImageId[8];
56 ///
57 /// Size of the entire FSP binary
58 ///
59 UINT32 ImageSize;
60 ///
61 /// FSP binary preferred base address
62 ///
63 UINT32 ImageBase;
64
65
66 ///
67 /// Attribute for the FSP binary
68 ///
69 UINT32 ImageAttribute;
70 ///
71 /// Offset of the FSP configuration region
72 ///
73 UINT32 CfgRegionOffset;
74 ///
75 /// Size of the FSP configuration region
76 ///
77 UINT32 CfgRegionSize;
78 ///
79 /// Number of API entries this FSP supports
80 ///
81 UINT32 ApiEntryNum;
82
83
84 ///
85 /// TempRamInit API entry offset
86 ///
87 UINT32 TempRamInitEntryOffset;
88 ///
89 /// FspInit API entry offset
90 ///
91 UINT32 FspInitEntryOffset;
92 ///
93 /// NotifyPhase API entry offset
94 ///
95 UINT32 NotifyPhaseEntryOffset;
96 ///
97 /// Reserved
98 ///
99 UINT32 Reserved2;
100
101 } FSP_INFO_HEADER;
102
103 #pragma pack()
104
105 #endif