VirtualBox

source: vbox/trunk/src/VBox/Devices/EFI/Firmware/IntelFspWrapperPkg/FspInitPei/FspInitPei.c@ 58464

Last change on this file since 58464 was 58464, checked in by vboxsync, 9 years ago

EFI/Firmware: Export new files and directories.

  • Property svn:eol-style set to native
File size: 1.9 KB
Line 
1/** @file
2 This PEIM initialize FSP.
3
4 Copyright (c) 2014 - 2015, 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
16#include "FspInitPei.h"
17
18/**
19 This is the entrypoint of PEIM
20
21 @param[in] FileHandle Handle of the file being invoked.
22 @param[in] PeiServices Describes the list of possible PEI Services.
23
24 @retval EFI_SUCCESS if it completed successfully.
25**/
26EFI_STATUS
27EFIAPI
28FspPeiEntryPoint (
29 IN EFI_PEI_FILE_HANDLE FileHandle,
30 IN CONST EFI_PEI_SERVICES **PeiServices
31 )
32{
33 FSP_INFO_HEADER *FspHeader;
34 UINT8 PcdFspApiVersion;
35
36 DEBUG ((DEBUG_INFO, "FspPeiEntryPoint\n"));
37 PcdFspApiVersion = 1;
38
39 FspHeader = FspFindFspHeader (PcdGet32 (PcdFlashFvFspBase));
40 DEBUG ((DEBUG_INFO, "FspHeader - 0x%x\n", FspHeader));
41 if (FspHeader == NULL) {
42 return EFI_DEVICE_ERROR;
43 }
44
45 ASSERT (FspHeader->TempRamInitEntryOffset != 0);
46 ASSERT (FspHeader->FspInitEntryOffset != 0);
47 ASSERT (FspHeader->NotifyPhaseEntryOffset != 0);
48
49 if ((PcdGet8 (PcdFspApiVersion) >= 2) &&
50 (FspHeader->HeaderRevision >= FSP_HEADER_REVISION_2) &&
51 (FspHeader->ApiEntryNum >= 6) ) {
52 ASSERT (FspHeader->FspMemoryInitEntryOffset != 0);
53 ASSERT (FspHeader->TempRamExitEntryOffset != 0);
54 ASSERT (FspHeader->FspSiliconInitEntryOffset != 0);
55 PcdFspApiVersion = PcdGet8 (PcdFspApiVersion);
56 }
57 DEBUG ((DEBUG_INFO, "PcdFspApiVersion - 0x%x\n", PcdFspApiVersion));
58
59 if (PcdFspApiVersion == 1) {
60 PeiFspInitV1 (FspHeader);
61 } else {
62 PeiFspInitV2 (FspHeader);
63 }
64
65 return EFI_SUCCESS;
66}
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette