]> git.proxmox.com Git - mirror_edk2.git/blob - IntelFsp2Pkg/Include/Library/FspPlatformLib.h
1f3960126902dcb3e12edb982a3c0138654768e3
[mirror_edk2.git] / IntelFsp2Pkg / Include / Library / FspPlatformLib.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_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