]> git.proxmox.com Git - mirror_edk2.git/blame - IntelFspWrapperPkg/FspInitPei/FspInitPei.c
IntelFspWrapperPkg: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / IntelFspWrapperPkg / FspInitPei / FspInitPei.c
CommitLineData
a33a2f62 1/** @file\r
d8043ce9 2 This PEIM initialize FSP.\r
a33a2f62 3\r
d8043ce9 4 Copyright (c) 2014 - 2015, Intel Corporation. All rights reserved.<BR>\r
19486360 5 SPDX-License-Identifier: BSD-2-Clause-Patent\r
a33a2f62
JY
6\r
7**/\r
8\r
9\r
10#include "FspInitPei.h"\r
11\r
a33a2f62
JY
12/**\r
13 This is the entrypoint of PEIM\r
14\r
15 @param[in] FileHandle Handle of the file being invoked.\r
16 @param[in] PeiServices Describes the list of possible PEI Services.\r
17\r
18 @retval EFI_SUCCESS if it completed successfully.\r
19**/\r
20EFI_STATUS\r
21EFIAPI\r
22FspPeiEntryPoint (\r
23 IN EFI_PEI_FILE_HANDLE FileHandle,\r
24 IN CONST EFI_PEI_SERVICES **PeiServices\r
25 )\r
26{\r
27 FSP_INFO_HEADER *FspHeader;\r
d8043ce9 28 UINT8 PcdFspApiVersion;\r
a33a2f62
JY
29\r
30 DEBUG ((DEBUG_INFO, "FspPeiEntryPoint\n"));\r
d8043ce9 31 PcdFspApiVersion = 1;\r
a33a2f62 32\r
d8043ce9
JY
33 FspHeader = FspFindFspHeader (PcdGet32 (PcdFlashFvFspBase));\r
34 DEBUG ((DEBUG_INFO, "FspHeader - 0x%x\n", FspHeader));\r
35 if (FspHeader == NULL) {\r
36 return EFI_DEVICE_ERROR;\r
37 }\r
a33a2f62 38\r
95c95ac0
JY
39 ASSERT (FspHeader->TempRamInitEntryOffset != 0);\r
40 ASSERT (FspHeader->FspInitEntryOffset != 0);\r
41 ASSERT (FspHeader->NotifyPhaseEntryOffset != 0);\r
42\r
d8043ce9
JY
43 if ((PcdGet8 (PcdFspApiVersion) >= 2) &&\r
44 (FspHeader->HeaderRevision >= FSP_HEADER_REVISION_2) &&\r
95c95ac0
JY
45 (FspHeader->ApiEntryNum >= 6) ) {\r
46 ASSERT (FspHeader->FspMemoryInitEntryOffset != 0);\r
47 ASSERT (FspHeader->TempRamExitEntryOffset != 0);\r
48 ASSERT (FspHeader->FspSiliconInitEntryOffset != 0);\r
49 PcdFspApiVersion = PcdGet8 (PcdFspApiVersion);\r
d8043ce9
JY
50 }\r
51 DEBUG ((DEBUG_INFO, "PcdFspApiVersion - 0x%x\n", PcdFspApiVersion));\r
a33a2f62 52\r
95c95ac0 53 if (PcdFspApiVersion == 1) {\r
d8043ce9 54 PeiFspInitV1 (FspHeader);\r
a33a2f62 55 } else {\r
d8043ce9 56 PeiFspInitV2 (FspHeader);\r
a33a2f62
JY
57 }\r
58\r
59 return EFI_SUCCESS;\r
60}\r