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