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_PLATFORM_LIB_H_ 15 #define _FSP_PLATFORM_LIB_H_ 16 17 /** 18 Get system memory resource descriptor by owner. 19 20 @param[in] OwnerGuid resource owner guid 21 **/ 22 EFI_HOB_RESOURCE_DESCRIPTOR * 23 EFIAPI 24 FspGetResourceDescriptorByOwner ( 25 IN EFI_GUID *OwnerGuid 26 ); 27 28 /** 29 Get system memory from HOB. 30 31 @param[in,out] LowMemoryLength less than 4G memory length 32 @param[in,out] HighMemoryLength greater than 4G memory length 33 **/ 34 VOID 35 EFIAPI 36 FspGetSystemMemorySize ( 37 IN OUT UINT64 *LowMemoryLength, 38 IN OUT UINT64 *HighMemoryLength 39 ); 40 41 42 /** 43 Set a new stack frame for the continuation function. 44 45 **/ 46 VOID 47 EFIAPI 48 FspSetNewStackFrame ( 49 VOID 50 ); 51 52 /** 53 This function transfer control back to BootLoader after FspSiliconInit. 54 55 **/ 56 VOID 57 EFIAPI 58 FspSiliconInitDone ( 59 VOID 60 ); 61 62 /** 63 This function returns control to BootLoader after MemoryInitApi. 64 65 @param[in,out] HobListPtr The address of HobList pointer. 66 **/ 67 VOID 68 EFIAPI 69 FspMemoryInitDone ( 70 IN OUT VOID **HobListPtr 71 ); 72 73 /** 74 This function returns control to BootLoader after TempRamExitApi. 75 76 **/ 77 VOID 78 EFIAPI 79 FspTempRamExitDone ( 80 VOID 81 ); 82 83 /** 84 This function handle NotifyPhase API call from the BootLoader. 85 It gives control back to the BootLoader after it is handled. If the 86 Notification code is a ReadyToBoot event, this function will return 87 and FSP continues the remaining execution until it reaches the DxeIpl. 88 89 **/ 90 VOID 91 EFIAPI 92 FspWaitForNotify ( 93 VOID 94 ); 95 96 /** 97 This function transfer control back to BootLoader after FspSiliconInit. 98 99 @param[in] Status return status for the FspSiliconInit. 100 **/ 101 VOID 102 EFIAPI 103 FspSiliconInitDone2 ( 104 IN EFI_STATUS Status 105 ); 106 107 /** 108 This function returns control to BootLoader after MemoryInitApi. 109 110 @param[in] Status return status for the MemoryInitApi. 111 @param[in,out] HobListPtr The address of HobList pointer. 112 **/ 113 VOID 114 EFIAPI 115 FspMemoryInitDone2 ( 116 IN EFI_STATUS Status, 117 IN OUT VOID **HobListPtr 118 ); 119 120 /** 121 This function returns control to BootLoader after TempRamExitApi. 122 123 @param[in] Status return status for the TempRamExitApi. 124 **/ 125 VOID 126 EFIAPI 127 FspTempRamExitDone2 ( 128 IN EFI_STATUS Status 129 ); 130 131 #endif 132