1 /** @file
2 Provide FSP wrapper API test related function.
3
4 Copyright (c) 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/BaseMemoryLib.h>
17 #include <Library/DebugLib.h>
18 #include <Library/HobLib.h>
19 #include <Guid/GuidHobFspEas.h>
20
21 /**
22 Test the output of FSP API - FspMemoryInit.
23
24 @param[in] FspmUpdDataPtr Address pointer to the FSP_MEMORY_INIT_PARAMS structure.
25 @param[in] HobListPtr Address of the HobList pointer.
26
27 @return test result on output of FspMemoryInit API.
28 **/
29 EFI_STATUS
30 EFIAPI
TestFspMemoryInitApiOutput(IN VOID * FspmUpdDataPtr,IN VOID ** HobListPtr)31 TestFspMemoryInitApiOutput (
32 IN VOID *FspmUpdDataPtr,
33 IN VOID **HobListPtr
34 )
35 {
36 DEBUG_CODE_BEGIN ();
37 EFI_PEI_HOB_POINTERS Hob;
38
39 Hob.Raw = (UINT8 *)(*(HobListPtr));
40 while (TRUE) {
41 if (END_OF_HOB_LIST(Hob) == TRUE) {
42 DEBUG((DEBUG_INFO, "gFspBootLoaderTolumHobGuid not Found\n"));
43 break;
44 }
45 if ((CompareGuid (&Hob.ResourceDescriptor->Owner, &gFspBootLoaderTolumHobGuid))) {
46 DEBUG ((DEBUG_INFO, "gFspBootLoaderTolumHobGuid Found\n"));
47 DEBUG ((DEBUG_INFO, "Fill Boot Loader reserved memory range with 0x5A for testing purpose\n"));
48 SetMem ((VOID *)(UINTN)Hob.ResourceDescriptor->PhysicalStart, (UINTN)Hob.ResourceDescriptor->ResourceLength, 0x5A);
49 break;
50 }
51 Hob.Raw = GET_NEXT_HOB (Hob);
52 }
53 DEBUG_CODE_END ();
54
55 return RETURN_SUCCESS;
56 }
57
58 /**
59 Test the output of FSP API - TempRamExit.
60
61 @param[in] TempRamExitParam Address pointer to the TempRamExit parameters structure.
62
63 @return test result on output of TempRamExit API.
64 **/
65 EFI_STATUS
66 EFIAPI
TestFspTempRamExitApiOutput(IN VOID * TempRamExitParam)67 TestFspTempRamExitApiOutput (
68 IN VOID *TempRamExitParam
69 )
70 {
71 return RETURN_SUCCESS;
72 }
73
74 /**
75 Test the output of FSP API - FspSiliconInit.
76
77 @param[in] FspsUpdDataPtr Address pointer to the Silicon Init parameters structure.
78
79 @return test result on output of FspSiliconInit API.
80 **/
81 EFI_STATUS
82 EFIAPI
TestFspSiliconInitApiOutput(IN VOID * FspsUpdDataPtr)83 TestFspSiliconInitApiOutput (
84 IN VOID *FspsUpdDataPtr
85 )
86 {
87 return RETURN_SUCCESS;
88 }
89