VirtualBox

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

最後變更 在這個檔案從70372是 58466,由 vboxsync 提交於 9 年 前

EFI/Firmware: Merged in the svn:eol-style, svn:mime-type and trailing whitespace cleanup that was done after the initial UDK2014.SP1 import: svn merge /vendor/edk2/UDK2014.SP1 /vendor/edk2/current .

  • 屬性 svn:eol-style 設為 native
檔案大小: 2.6 KB
 
1/** @file
2 In EndOfPei notify, it will call FspNotifyPhase API.
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 function handles S3 resume task at the end of PEI
20
21 @param[in] PeiServices Pointer to PEI Services Table.
22 @param[in] NotifyDesc Pointer to the descriptor for the Notification event that
23 caused this function to execute.
24 @param[in] Ppi Pointer to the PPI data associated with this function.
25
26 @retval EFI_STATUS Always return EFI_SUCCESS
27**/
28EFI_STATUS
29EFIAPI
30S3EndOfPeiNotify (
31 IN EFI_PEI_SERVICES **PeiServices,
32 IN EFI_PEI_NOTIFY_DESCRIPTOR *NotifyDesc,
33 IN VOID *Ppi
34 );
35
36EFI_PEI_NOTIFY_DESCRIPTOR mS3EndOfPeiNotifyDesc = {
37 (EFI_PEI_PPI_DESCRIPTOR_NOTIFY_CALLBACK | EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST),
38 &gEfiEndOfPeiSignalPpiGuid,
39 S3EndOfPeiNotify
40};
41
42/**
43 This function handles S3 resume task at the end of PEI
44
45 @param[in] PeiServices Pointer to PEI Services Table.
46 @param[in] NotifyDesc Pointer to the descriptor for the Notification event that
47 caused this function to execute.
48 @param[in] Ppi Pointer to the PPI data associated with this function.
49
50 @retval EFI_STATUS Always return EFI_SUCCESS
51**/
52EFI_STATUS
53EFIAPI
54S3EndOfPeiNotify (
55 IN EFI_PEI_SERVICES **PeiServices,
56 IN EFI_PEI_NOTIFY_DESCRIPTOR *NotifyDesc,
57 IN VOID *Ppi
58 )
59{
60 NOTIFY_PHASE_PARAMS NotifyPhaseParams;
61 EFI_STATUS Status;
62 FSP_INFO_HEADER *FspHeader;
63
64 FspHeader = FspFindFspHeader (PcdGet32 (PcdFlashFvFspBase));
65 if (FspHeader == NULL) {
66 return EFI_DEVICE_ERROR;
67 }
68
69 DEBUG ((DEBUG_INFO, "S3EndOfPeiNotify enter\n"));
70
71 NotifyPhaseParams.Phase = EnumInitPhaseAfterPciEnumeration;
72 Status = CallFspNotifyPhase (FspHeader, &NotifyPhaseParams);
73 DEBUG((DEBUG_INFO, "FSP S3NotifyPhase AfterPciEnumeration status: 0x%x\n", Status));
74
75 NotifyPhaseParams.Phase = EnumInitPhaseReadyToBoot;
76 Status = CallFspNotifyPhase (FspHeader, &NotifyPhaseParams);
77 DEBUG((DEBUG_INFO, "FSP S3NotifyPhase ReadyToBoot status: 0x%x\n", Status));
78
79 return EFI_SUCCESS;
80}
注意: 瀏覽 TracBrowser 來幫助您使用儲存庫瀏覽器

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