3 Copyright (c) 2014 - 2022, Intel Corporation. All rights reserved.<BR>
4 SPDX-License-Identifier: BSD-2-Clause-Patent
8 #ifndef _FSP_GLOBAL_DATA_H_
9 #define _FSP_GLOBAL_DATA_H_
13 #define FSP_IN_API_MODE 0
14 #define FSP_IN_DISPATCH_MODE 1
15 #define FSP_GLOBAL_DATA_VERSION 1
23 FspMemoryInitApiIndex
,
25 FspSiliconInitApiIndex
,
26 FspMultiPhaseSiInitApiIndex
,
33 UINTN MicrocodeRegionBase
;
34 UINTN MicrocodeRegionSize
;
40 #define FSP_GLOBAL_DATA_SIGNATURE SIGNATURE_32 ('F', 'S', 'P', 'D')
41 #define FSP_PERFORMANCE_DATA_SIGNATURE SIGNATURE_32 ('P', 'E', 'R', 'F')
42 #define FSP_PERFORMANCE_DATA_TIMER_MASK 0xFFFFFFFFFFFFFF
54 /// IA32: Offset 0x10; X64: Offset 0x18
59 /// 0: FSP in API mode; 1: FSP in DISPATCH mode
62 UINT8 OnSeparateStack
;
64 UINT32 NumberOfPhases
;
65 UINT32 PhasesExecuted
;
68 /// IA32: Offset 0x40; X64: Offset 0x48
69 /// Start of UINTN and pointer section
70 /// All UINTN and pointer members must be put in this section
71 /// except CoreStack and Reserved2. In addition, the number of
72 /// UINTN and pointer members must be even for natural alignment
73 /// in both IA32 and X64.
75 FSP_PLAT_DATA PlatformData
;
76 VOID
*TempRamInitUpdPtr
;
77 VOID
*MemoryInitUpdPtr
;
78 VOID
*SiliconInitUpdPtr
;
81 /// IA32: Offset 0x68; X64: Offset 0x98
82 /// To store function parameters pointer
83 /// so it can be retrieved after stack switched.
85 VOID
*FunctionParameterPtr
;
86 FSP_INFO_HEADER
*FspInfoHeader
;
90 /// End of UINTN and pointer section