]> git.proxmox.com Git - mirror_edk2.git/blame - IntelFsp2Pkg/Include/Library/FspCommonLib.h
IntelFsp2Pkg: Apply uncrustify changes
[mirror_edk2.git] / IntelFsp2Pkg / Include / Library / FspCommonLib.h
CommitLineData
cf1d4549
JY
1/** @file\r
2\r
35897da2 3 Copyright (c) 2014 - 2019, Intel Corporation. All rights reserved.<BR>\r
9672cd30 4 SPDX-License-Identifier: BSD-2-Clause-Patent\r
cf1d4549
JY
5\r
6**/\r
7\r
8#ifndef _FSP_COMMON_LIB_H_\r
9#define _FSP_COMMON_LIB_H_\r
10\r
11#include <FspGlobalData.h>\r
12#include <FspMeasurePointId.h>\r
13\r
14/**\r
15 This function sets the FSP global data pointer.\r
16\r
17 @param[in] FspData Fsp global data pointer.\r
18\r
19**/\r
20VOID\r
21EFIAPI\r
22SetFspGlobalDataPointer (\r
111f2228 23 IN FSP_GLOBAL_DATA *FspData\r
cf1d4549
JY
24 );\r
25\r
26/**\r
27 This function gets the FSP global data pointer.\r
28\r
29**/\r
30FSP_GLOBAL_DATA *\r
31EFIAPI\r
32GetFspGlobalDataPointer (\r
33 VOID\r
34 );\r
35\r
36/**\r
35897da2 37 This function gets back the FSP API first parameter passed by the bootloader.\r
cf1d4549 38\r
35897da2 39 @retval ApiParameter FSP API first parameter passed by the bootloader.\r
cf1d4549
JY
40**/\r
41UINT32\r
42EFIAPI\r
43GetFspApiParameter (\r
44 VOID\r
45 );\r
46\r
47/**\r
35897da2 48 This function gets back the FSP API second parameter passed by the bootloader.\r
cf1d4549 49\r
35897da2 50 @retval ApiParameter FSP API second parameter passed by the bootloader.\r
cf1d4549
JY
51**/\r
52UINT32\r
53EFIAPI\r
54GetFspApiParameter2 (\r
55 VOID\r
56 );\r
57\r
35897da2
CC
58/**\r
59 This function returns the FSP entry stack pointer from address of the first API parameter.\r
60\r
61 @retval FSP entry stack pointer.\r
62**/\r
111f2228 63VOID *\r
35897da2
CC
64EFIAPI\r
65GetFspEntryStack (\r
66 VOID\r
67 );\r
68\r
cf1d4549
JY
69/**\r
70 This function sets the FSP API parameter in the stack.\r
71\r
72 @param[in] Value New parameter value.\r
73\r
74**/\r
75VOID\r
76EFIAPI\r
77SetFspApiParameter (\r
111f2228 78 IN UINT32 Value\r
cf1d4549
JY
79 );\r
80\r
81/**\r
82 This function set the API status code returned to the BootLoader.\r
83\r
84 @param[in] ReturnStatus Status code to return.\r
85\r
86**/\r
87VOID\r
88EFIAPI\r
89SetFspApiReturnStatus (\r
90 IN UINT32 ReturnStatus\r
91 );\r
92\r
93/**\r
94 This function sets the context switching stack to a new stack frame.\r
95\r
96 @param[in] NewStackTop New core stack to be set.\r
97\r
98**/\r
99VOID\r
100EFIAPI\r
101SetFspCoreStackPointer (\r
111f2228 102 IN VOID *NewStackTop\r
cf1d4549
JY
103 );\r
104\r
105/**\r
106 This function sets the platform specific data pointer.\r
107\r
108 @param[in] PlatformData Fsp platform specific data pointer.\r
109\r
110**/\r
111VOID\r
112EFIAPI\r
113SetFspPlatformDataPointer (\r
111f2228 114 IN VOID *PlatformData\r
cf1d4549
JY
115 );\r
116\r
117/**\r
118 This function gets the platform specific data pointer.\r
119\r
120 @param[in] PlatformData Fsp platform specific data pointer.\r
121\r
122**/\r
123VOID *\r
124EFIAPI\r
125GetFspPlatformDataPointer (\r
126 VOID\r
127 );\r
128\r
129/**\r
130 This function sets the UPD data pointer.\r
131\r
132 @param[in] UpdDataPtr UPD data pointer.\r
133**/\r
134VOID\r
135EFIAPI\r
136SetFspUpdDataPointer (\r
111f2228 137 IN VOID *UpdDataPtr\r
cf1d4549
JY
138 );\r
139\r
140/**\r
141 This function gets the UPD data pointer.\r
142\r
143 @return UpdDataPtr UPD data pointer.\r
144**/\r
145VOID *\r
146EFIAPI\r
147GetFspUpdDataPointer (\r
148 VOID\r
149 );\r
150\r
151/**\r
152 This function sets the memory init UPD data pointer.\r
153\r
154 @param[in] MemoryInitUpdPtr memory init UPD data pointer.\r
155**/\r
156VOID\r
157EFIAPI\r
158SetFspMemoryInitUpdDataPointer (\r
111f2228 159 IN VOID *MemoryInitUpdPtr\r
cf1d4549
JY
160 );\r
161\r
162/**\r
163 This function gets the memory init UPD data pointer.\r
164\r
165 @return memory init UPD data pointer.\r
166**/\r
167VOID *\r
168EFIAPI\r
169GetFspMemoryInitUpdDataPointer (\r
170 VOID\r
171 );\r
172\r
173/**\r
174 This function sets the silicon init UPD data pointer.\r
175\r
176 @param[in] SiliconInitUpdPtr silicon init UPD data pointer.\r
177**/\r
178VOID\r
179EFIAPI\r
180SetFspSiliconInitUpdDataPointer (\r
111f2228 181 IN VOID *SiliconInitUpdPtr\r
cf1d4549
JY
182 );\r
183\r
184/**\r
185 This function gets the silicon init UPD data pointer.\r
186\r
187 @return silicon init UPD data pointer.\r
188**/\r
189VOID *\r
190EFIAPI\r
191GetFspSiliconInitUpdDataPointer (\r
192 VOID\r
193 );\r
194\r
195/**\r
196 Set FSP measurement point timestamp.\r
197\r
198 @param[in] Id Measurement point ID.\r
199\r
200 @return performance timestamp.\r
201**/\r
202UINT64\r
203EFIAPI\r
204SetFspMeasurePoint (\r
205 IN UINT8 Id\r
206 );\r
207\r
208/**\r
209 This function gets the FSP info header pointer.\r
210\r
211 @retval FspInfoHeader FSP info header pointer\r
212**/\r
213FSP_INFO_HEADER *\r
214EFIAPI\r
215GetFspInfoHeader (\r
216 VOID\r
217 );\r
218\r
219/**\r
220 This function sets the FSP info header pointer.\r
221\r
222 @param[in] FspInfoHeader FSP info header pointer\r
223**/\r
224VOID\r
225EFIAPI\r
226SetFspInfoHeader (\r
111f2228 227 FSP_INFO_HEADER *FspInfoHeader\r
cf1d4549
JY
228 );\r
229\r
230/**\r
231 This function gets the FSP info header pointer from the API context.\r
232\r
233 @retval FspInfoHeader FSP info header pointer\r
234**/\r
235FSP_INFO_HEADER *\r
236EFIAPI\r
237GetFspInfoHeaderFromApiContext (\r
238 VOID\r
239 );\r
240\r
241/**\r
cc0b456a 242 This function gets the CfgRegion data pointer.\r
cf1d4549 243\r
cc0b456a 244 @return CfgRegion data pointer.\r
cf1d4549
JY
245**/\r
246VOID *\r
247EFIAPI\r
cc0b456a 248GetFspCfgRegionDataPointer (\r
cf1d4549
JY
249 VOID\r
250 );\r
251\r
252/**\r
253 This function gets FSP API calling mode.\r
254\r
255 @retval API calling mode\r
256**/\r
257UINT8\r
258EFIAPI\r
259GetFspApiCallingIndex (\r
260 VOID\r
261 );\r
262\r
263/**\r
264 This function sets FSP API calling mode.\r
265\r
266 @param[in] Index API calling index\r
267**/\r
268VOID\r
269EFIAPI\r
270SetFspApiCallingIndex (\r
271 UINT8 Index\r
272 );\r
273\r
274/**\r
275 This function gets FSP Phase StatusCode.\r
e37bb20c 276\r
cf1d4549
JY
277 @retval StatusCode\r
278**/\r
279UINT32\r
280EFIAPI\r
281GetPhaseStatusCode (\r
282 VOID\r
283 );\r
284\r
cf1d4549
JY
285/**\r
286 This function sets FSP Phase StatusCode.\r
287\r
288 @param[in] Mode Phase StatusCode\r
289**/\r
290VOID\r
291EFIAPI\r
292SetPhaseStatusCode (\r
293 UINT32 StatusCode\r
294 );\r
295\r
6b5677e1
YS
296/**\r
297 This function updates the return status of the FSP API with requested reset type and returns to Boot Loader.\r
298\r
299 @param[in] FspResetType Reset type that needs to returned as API return status\r
300\r
301**/\r
302VOID\r
303EFIAPI\r
304FspApiReturnStatusReset (\r
111f2228 305 IN UINT32 FspResetType\r
6b5677e1 306 );\r
111f2228 307\r
cf1d4549 308#endif\r