]> git.proxmox.com Git - mirror_edk2.git/blame - IntelFsp2Pkg/Include/FspGlobalData.h
IntelFsp2Pkg: Support FSP Dispatch mode
[mirror_edk2.git] / IntelFsp2Pkg / Include / FspGlobalData.h
CommitLineData
cf1d4549
JY
1/** @file\r
2\r
a2e61f34 3 Copyright (c) 2014 - 2018, Intel Corporation. All rights reserved.<BR>\r
cf1d4549
JY
4 This program and the accompanying materials\r
5 are licensed and made available under the terms and conditions of the BSD License\r
6 which accompanies this distribution. The full text of the license may be found at\r
7 http://opensource.org/licenses/bsd-license.php.\r
8\r
9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
11\r
12**/\r
13\r
14#ifndef _FSP_GLOBAL_DATA_H_\r
15#define _FSP_GLOBAL_DATA_H_\r
16\r
17#include <FspEas.h>\r
18\r
a2e61f34
CC
19#define FSP_IN_API_MODE 0\r
20#define FSP_IN_DISPATCH_MODE 1\r
21\r
cf1d4549
JY
22#pragma pack(1)\r
23\r
24typedef enum {\r
25 TempRamInitApiIndex,\r
26 FspInitApiIndex,\r
27 NotifyPhaseApiIndex,\r
28 FspMemoryInitApiIndex,\r
29 TempRamExitApiIndex,\r
30 FspSiliconInitApiIndex,\r
31 FspApiIndexMax\r
32} FSP_API_INDEX;\r
33\r
34typedef struct {\r
35 VOID *DataPtr;\r
36 UINT32 MicrocodeRegionBase;\r
37 UINT32 MicrocodeRegionSize;\r
38 UINT32 CodeRegionBase;\r
39 UINT32 CodeRegionSize;\r
cf1d4549
JY
40} FSP_PLAT_DATA;\r
41\r
42#define FSP_GLOBAL_DATA_SIGNATURE SIGNATURE_32 ('F', 'S', 'P', 'D')\r
43#define FSP_PERFORMANCE_DATA_SIGNATURE SIGNATURE_32 ('P', 'E', 'R', 'F')\r
19d29d35 44#define FSP_PERFORMANCE_DATA_TIMER_MASK 0xFFFFFFFFFFFFFF\r
cf1d4549
JY
45\r
46typedef struct {\r
47 UINT32 Signature;\r
48 UINT8 Version;\r
49 UINT8 Reserved1[3];\r
50 UINT32 CoreStack;\r
51 UINT32 StatusCode;\r
52 UINT32 Reserved2[8];\r
53 FSP_PLAT_DATA PlatformData;\r
54 FSP_INFO_HEADER *FspInfoHeader;\r
55 VOID *UpdDataPtr;\r
56 VOID *TempRamInitUpdPtr;\r
57 VOID *MemoryInitUpdPtr;\r
58 VOID *SiliconInitUpdPtr;\r
59 UINT8 ApiIdx;\r
a2e61f34
CC
60 UINT8 FspMode; // 0: FSP in API mode; 1: FSP in DISPATCH mode\r
61 UINT8 Reserved3[30];\r
cf1d4549
JY
62 UINT32 PerfSig;\r
63 UINT16 PerfLen;\r
64 UINT16 Reserved4;\r
65 UINT32 PerfIdx;\r
66 UINT64 PerfData[32];\r
67} FSP_GLOBAL_DATA;\r
68\r
69#pragma pack()\r
70\r
71#endif\r