• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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