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