FspCommonLib.h revision 6ca9135a654a658c9fbaa698cfa69a76c7719be1
1/** @file 2 3 Copyright (c) 2014 - 2015, 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**/ 26VOID 27EFIAPI 28SetFspGlobalDataPointer ( 29 IN FSP_GLOBAL_DATA *FspData 30 ); 31 32/** 33 This function gets the FSP global data pointer. 34 35**/ 36FSP_GLOBAL_DATA * 37EFIAPI 38GetFspGlobalDataPointer ( 39 VOID 40 ); 41 42/** 43 This function gets back the FSP API paramter passed by the bootlaoder. 44 45 @retval ApiParameter FSP API paramter passed by the bootlaoder. 46**/ 47UINT32 48EFIAPI 49GetFspApiParameter ( 50 VOID 51 ); 52 53/** 54 This function sets the FSP API paramter in the stack. 55 56 @param[in] Value New parameter value. 57 58**/ 59VOID 60EFIAPI 61SetFspApiParameter ( 62 IN UINT32 Value 63 ); 64 65/** 66 This function sets the FSP continuation function parameters in the stack. 67 68 @param[in] Value New parameter value to set. 69 @param[in] Index Parameter index. 70**/ 71VOID 72EFIAPI 73SetFspContinuationFuncParameter ( 74 IN UINT32 Value, 75 IN UINT32 Index 76 ); 77 78/** 79 This function changes the Bootloader return address in stack. 80 81 @param[in] ReturnAddress Address to return. 82 83**/ 84VOID 85EFIAPI 86SetFspApiReturnAddress ( 87 IN UINT32 ReturnAddress 88 ); 89 90/** 91 This function set the API status code returned to the bootloader. 92 93 @param[in] ReturnStatus Status code to return. 94 95**/ 96VOID 97EFIAPI 98SetFspApiReturnStatus ( 99 IN UINT32 ReturnStatus 100 ); 101 102/** 103 This function sets the context switching stack to a new stack frame. 104 105 @param[in] NewStackTop New core stack to be set. 106 107**/ 108VOID 109EFIAPI 110SetFspCoreStackPointer ( 111 IN VOID *NewStackTop 112 ); 113 114/** 115 This function sets the platform specific data pointer. 116 117 @param[in] PlatformData Fsp platform specific data pointer. 118 119**/ 120VOID 121EFIAPI 122SetFspPlatformDataPointer ( 123 IN VOID *PlatformData 124 ); 125 126/** 127 This function gets the platform specific data pointer. 128 129 @param[in] PlatformData Fsp platform specific data pointer. 130 131**/ 132VOID * 133EFIAPI 134GetFspPlatformDataPointer ( 135 VOID 136 ); 137 138/** 139 This function sets the UPD data pointer. 140 141 @param[in] UpdDataRgnPtr UPD data pointer. 142**/ 143VOID 144EFIAPI 145SetFspUpdDataPointer ( 146 IN VOID *UpdDataRgnPtr 147 ); 148 149/** 150 This function gets the UPD data pointer. 151 152 @return UpdDataRgnPtr UPD data pointer. 153**/ 154VOID * 155EFIAPI 156GetFspUpdDataPointer ( 157 VOID 158 ); 159 160/** 161 Set FSP measurement point timestamp. 162 163 @param[in] Id Measurement point ID. 164 165 @return performance timestamp. 166**/ 167UINT64 168EFIAPI 169SetFspMeasurePoint ( 170 IN UINT8 Id 171 ); 172 173/** 174 This function gets the FSP info header pointer. 175 176 @retval FspInfoHeader FSP info header pointer 177**/ 178FSP_INFO_HEADER * 179EFIAPI 180GetFspInfoHeader ( 181 VOID 182 ); 183 184/** 185 This function gets FSP API calling mode. 186 187 @retval API calling mode 188**/ 189UINT8 190EFIAPI 191GetFspApiCallingMode ( 192 VOID 193 ); 194 195/** 196 This function sets FSP API calling mode. 197 198 @param[in] Mode API calling mode 199**/ 200VOID 201EFIAPI 202SetFspApiCallingMode ( 203 UINT8 Mode 204 ); 205 206#endif 207