IntelFsp2WrapperPkg: Support FSP Dispatch mode
[mirror_edk2.git] / IntelFsp2WrapperPkg / Library / BaseFspWrapperPlatformLibSample / FspWrapperPlatformLibSample.c
1 /** @file
2 Sample to provide FSP wrapper related function.
3
4 Copyright (c) 2014 - 2016, Intel Corporation. All rights reserved.<BR>
5 This program and the accompanying materials
6 are licensed and made available under the terms and conditions of the BSD License
7 which accompanies this distribution. The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.php.
9
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12
13 **/
14
15 #include <PiPei.h>
16 #include <Library/PcdLib.h>
17
18 /**
19 This function overrides the default configurations in the FSP-M UPD data region.
20
21 @note At this point, memory is NOT ready, PeiServices are available to use.
22
23 @param[in,out] FspUpdRgnPtr A pointer to the UPD data region data strcture.
24
25 **/
26 VOID
27 EFIAPI
28 UpdateFspmUpdData (
29 IN OUT VOID *FspUpdRgnPtr
30 )
31 {
32 }
33
34 /**
35 This function overrides the default configurations in the FSP-S UPD data region.
36
37 @param[in,out] FspUpdRgnPtr A pointer to the UPD data region data strcture.
38
39 **/
40 VOID
41 EFIAPI
42 UpdateFspsUpdData (
43 IN OUT VOID *FspUpdRgnPtr
44 )
45 {
46 }
47
48 /**
49 Update TempRamExit parameter.
50
51 @note At this point, memory is ready, PeiServices are available to use.
52
53 @return TempRamExit parameter.
54 **/
55 VOID *
56 EFIAPI
57 UpdateTempRamExitParam (
58 VOID
59 )
60 {
61 return NULL;
62 }
63
64 /**
65 Get S3 PEI memory information.
66
67 @note At this point, memory is ready, and PeiServices are available to use.
68 Platform can get some data from SMRAM directly.
69
70 @param[out] S3PeiMemSize PEI memory size to be installed in S3 phase.
71 @param[out] S3PeiMemBase PEI memory base to be installed in S3 phase.
72
73 @return If S3 PEI memory information is got successfully.
74 **/
75 EFI_STATUS
76 EFIAPI
77 GetS3MemoryInfo (
78 OUT UINT64 *S3PeiMemSize,
79 OUT EFI_PHYSICAL_ADDRESS *S3PeiMemBase
80 )
81 {
82 return EFI_UNSUPPORTED;
83 }
84
85 /**
86 Perform platform related reset in FSP wrapper.
87
88 This function will reset the system with requested ResetType.
89
90 @param[in] FspStatusResetType The type of reset the platform has to perform.
91 **/
92 VOID
93 EFIAPI
94 CallFspWrapperResetSystem (
95 IN UINT32 FspStatusResetType
96 )
97 {
98 //
99 // Perform reset according to the type.
100 //
101
102 CpuDeadLoop();
103 }