]> git.proxmox.com Git - mirror_edk2.git/blob - IntelFsp2Pkg/Include/Library/FspPlatformLib.h
9247bd52210197250a792c3e7508d879150f1776
[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 Migrate BootLoader data before destroying CAR.
43
44 **/
45 VOID
46 EFIAPI
47 FspMigrateTemporaryMemory (
48 VOID
49 );
50
51 /**
52 Set a new stack frame for the continuation function.
53
54 **/
55 VOID
56 EFIAPI
57 FspSetNewStackFrame (
58 VOID
59 );
60
61 /**
62 This function transfer control back to BootLoader after FspSiliconInit.
63
64 **/
65 VOID
66 EFIAPI
67 FspSiliconInitDone (
68 VOID
69 );
70
71 /**
72 This function returns control to BootLoader after MemoryInitApi.
73
74 @param[in,out] HobListPtr The address of HobList pointer.
75 **/
76 VOID
77 EFIAPI
78 FspMemoryInitDone (
79 IN OUT VOID **HobListPtr
80 );
81
82 /**
83 This function returns control to BootLoader after TempRamExitApi.
84
85 **/
86 VOID
87 EFIAPI
88 FspTempRamExitDone (
89 VOID
90 );
91
92 /**
93 This function handle NotifyPhase API call from the BootLoader.
94 It gives control back to the BootLoader after it is handled. If the
95 Notification code is a ReadyToBoot event, this function will return
96 and FSP continues the remaining execution until it reaches the DxeIpl.
97
98 **/
99 VOID
100 EFIAPI
101 FspWaitForNotify (
102 VOID
103 );
104
105 #endif