/** @file\r
This driver will register two callbacks to call fsp's notifies.\r
\r
- Copyright (c) 2014 - 2016, Intel Corporation. All rights reserved.<BR>\r
+ Copyright (c) 2014 - 2019, Intel Corporation. All rights reserved.<BR>\r
SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
**/\r
#include <Library/HobLib.h>\r
#include <FspStatusCode.h>\r
\r
-#define FSP_API_NOTIFY_PHASE_AFTER_PCI_ENUMERATION BIT16\r
+#define FSP_API_NOTIFY_PHASE_AFTER_PCI_ENUMERATION BIT16\r
\r
typedef\r
EFI_STATUS\r
-(EFIAPI * ADD_PERFORMANCE_RECORDS)(\r
+(EFIAPI *ADD_PERFORMANCE_RECORDS)(\r
IN CONST VOID *HobStart\r
);\r
\r
struct _ADD_PERFORMANCE_RECORD_PROTOCOL {\r
- ADD_PERFORMANCE_RECORDS AddPerformanceRecords;\r
+ ADD_PERFORMANCE_RECORDS AddPerformanceRecords;\r
};\r
\r
typedef struct _ADD_PERFORMANCE_RECORD_PROTOCOL ADD_PERFORMANCE_RECORD_PROTOCOL;\r
\r
-extern EFI_GUID gAddPerfRecordProtocolGuid;\r
-extern EFI_GUID gFspHobGuid;\r
-extern EFI_GUID gFspApiPerformanceGuid;\r
+extern EFI_GUID gAddPerfRecordProtocolGuid;\r
+extern EFI_GUID gFspHobGuid;\r
+extern EFI_GUID gFspApiPerformanceGuid;\r
\r
-EFI_EVENT mExitBootServicesEvent = NULL;\r
+static EFI_EVENT mExitBootServicesEvent = NULL;\r
\r
/**\r
Relocate this image under 4G memory.\r
**/\r
EFI_STATUS\r
RelocateImageUnder4GIfNeeded (\r
- IN EFI_HANDLE ImageHandle,\r
- IN EFI_SYSTEM_TABLE *SystemTable\r
+ IN EFI_HANDLE ImageHandle,\r
+ IN EFI_SYSTEM_TABLE *SystemTable\r
);\r
\r
/**\r
IN VOID *Context\r
)\r
{\r
- NOTIFY_PHASE_PARAMS NotifyPhaseParams;\r
- EFI_STATUS Status;\r
- VOID *Interface;\r
+ NOTIFY_PHASE_PARAMS NotifyPhaseParams;\r
+ EFI_STATUS Status;\r
+ VOID *Interface;\r
\r
//\r
// Try to locate it because gEfiPciEnumerationCompleteProtocolGuid will trigger it once when registration.\r
&Interface\r
);\r
if (EFI_ERROR (Status)) {\r
- return ;\r
+ return;\r
}\r
\r
NotifyPhaseParams.Phase = EnumInitPhaseAfterPciEnumeration;\r
- PERF_START_EX(&gFspApiPerformanceGuid, "EventRec", NULL, 0, FSP_STATUS_CODE_POST_PCIE_ENUM_NOTIFICATION | FSP_STATUS_CODE_COMMON_CODE | FSP_STATUS_CODE_API_ENTRY);\r
+ PERF_START_EX (&gFspApiPerformanceGuid, "EventRec", NULL, 0, FSP_STATUS_CODE_POST_PCIE_ENUM_NOTIFICATION | FSP_STATUS_CODE_COMMON_CODE | FSP_STATUS_CODE_API_ENTRY);\r
Status = CallFspNotifyPhase (&NotifyPhaseParams);\r
- PERF_END_EX(&gFspApiPerformanceGuid, "EventRec", NULL, 0, FSP_STATUS_CODE_POST_PCIE_ENUM_NOTIFICATION | FSP_STATUS_CODE_COMMON_CODE | FSP_STATUS_CODE_API_EXIT);\r
+ PERF_END_EX (&gFspApiPerformanceGuid, "EventRec", NULL, 0, FSP_STATUS_CODE_POST_PCIE_ENUM_NOTIFICATION | FSP_STATUS_CODE_COMMON_CODE | FSP_STATUS_CODE_API_EXIT);\r
\r
//\r
// Reset the system if FSP API returned FSP_STATUS_RESET_REQUIRED status\r
//\r
if ((Status >= FSP_STATUS_RESET_REQUIRED_COLD) && (Status <= FSP_STATUS_RESET_REQUIRED_8)) {\r
- DEBUG((DEBUG_INFO, "FSP NotifyPhase AfterPciEnumeration requested reset 0x%x\n", Status));\r
- CallFspWrapperResetSystem ((UINT32)Status);\r
+ DEBUG ((DEBUG_INFO, "FSP NotifyPhase AfterPciEnumeration requested reset 0x%x\n", Status));\r
+ CallFspWrapperResetSystem (Status);\r
}\r
\r
if (Status != EFI_SUCCESS) {\r
- DEBUG((DEBUG_ERROR, "FSP NotifyPhase AfterPciEnumeration failed, status: 0x%x\n", Status));\r
+ DEBUG ((DEBUG_ERROR, "FSP NotifyPhase AfterPciEnumeration failed, status: 0x%x\n", Status));\r
} else {\r
- DEBUG((DEBUG_INFO, "FSP NotifyPhase AfterPciEnumeration Success.\n"));\r
+ DEBUG ((DEBUG_INFO, "FSP NotifyPhase AfterPciEnumeration Success.\n"));\r
}\r
}\r
\r
IN VOID *Context\r
)\r
{\r
- NOTIFY_PHASE_PARAMS NotifyPhaseParams;\r
- EFI_STATUS Status;\r
+ NOTIFY_PHASE_PARAMS NotifyPhaseParams;\r
+ EFI_STATUS Status;\r
\r
gBS->CloseEvent (Event);\r
\r
NotifyPhaseParams.Phase = EnumInitPhaseReadyToBoot;\r
- PERF_START_EX(&gFspApiPerformanceGuid, "EventRec", NULL, 0, FSP_STATUS_CODE_READY_TO_BOOT_NOTIFICATION | FSP_STATUS_CODE_COMMON_CODE | FSP_STATUS_CODE_API_ENTRY);\r
+ PERF_START_EX (&gFspApiPerformanceGuid, "EventRec", NULL, 0, FSP_STATUS_CODE_READY_TO_BOOT_NOTIFICATION | FSP_STATUS_CODE_COMMON_CODE | FSP_STATUS_CODE_API_ENTRY);\r
Status = CallFspNotifyPhase (&NotifyPhaseParams);\r
- PERF_END_EX(&gFspApiPerformanceGuid, "EventRec", NULL, 0, FSP_STATUS_CODE_READY_TO_BOOT_NOTIFICATION | FSP_STATUS_CODE_COMMON_CODE | FSP_STATUS_CODE_API_EXIT);\r
+ PERF_END_EX (&gFspApiPerformanceGuid, "EventRec", NULL, 0, FSP_STATUS_CODE_READY_TO_BOOT_NOTIFICATION | FSP_STATUS_CODE_COMMON_CODE | FSP_STATUS_CODE_API_EXIT);\r
\r
//\r
// Reset the system if FSP API returned FSP_STATUS_RESET_REQUIRED status\r
//\r
if ((Status >= FSP_STATUS_RESET_REQUIRED_COLD) && (Status <= FSP_STATUS_RESET_REQUIRED_8)) {\r
- DEBUG((DEBUG_INFO, "FSP NotifyPhase ReadyToBoot requested reset 0x%x\n", Status));\r
- CallFspWrapperResetSystem ((UINT32)Status);\r
+ DEBUG ((DEBUG_INFO, "FSP NotifyPhase ReadyToBoot requested reset 0x%x\n", Status));\r
+ CallFspWrapperResetSystem (Status);\r
}\r
\r
if (Status != EFI_SUCCESS) {\r
- DEBUG((DEBUG_ERROR, "FSP NotifyPhase ReadyToBoot failed, status: 0x%x\n", Status));\r
+ DEBUG ((DEBUG_ERROR, "FSP NotifyPhase ReadyToBoot failed, status: 0x%x\n", Status));\r
} else {\r
- DEBUG((DEBUG_INFO, "FSP NotifyPhase ReadyToBoot Success.\n"));\r
+ DEBUG ((DEBUG_INFO, "FSP NotifyPhase ReadyToBoot Success.\n"));\r
}\r
}\r
\r
IN VOID *Context\r
)\r
{\r
- NOTIFY_PHASE_PARAMS NotifyPhaseParams;\r
- EFI_STATUS Status;\r
- ADD_PERFORMANCE_RECORD_PROTOCOL *AddPerfRecordInterface;\r
- EFI_PEI_HOB_POINTERS Hob;\r
- VOID **FspHobListPtr;\r
+ NOTIFY_PHASE_PARAMS NotifyPhaseParams;\r
+ EFI_STATUS Status;\r
+ ADD_PERFORMANCE_RECORD_PROTOCOL *AddPerfRecordInterface;\r
+ EFI_PEI_HOB_POINTERS Hob;\r
+ VOID **FspHobListPtr;\r
\r
gBS->CloseEvent (Event);\r
\r
NotifyPhaseParams.Phase = EnumInitPhaseEndOfFirmware;\r
- PERF_START_EX(&gFspApiPerformanceGuid, "EventRec", NULL, 0, FSP_STATUS_CODE_END_OF_FIRMWARE_NOTIFICATION | FSP_STATUS_CODE_COMMON_CODE | FSP_STATUS_CODE_API_ENTRY);\r
+ PERF_START_EX (&gFspApiPerformanceGuid, "EventRec", NULL, 0, FSP_STATUS_CODE_END_OF_FIRMWARE_NOTIFICATION | FSP_STATUS_CODE_COMMON_CODE | FSP_STATUS_CODE_API_ENTRY);\r
Status = CallFspNotifyPhase (&NotifyPhaseParams);\r
- PERF_END_EX(&gFspApiPerformanceGuid, "EventRec", NULL, 0, FSP_STATUS_CODE_END_OF_FIRMWARE_NOTIFICATION | FSP_STATUS_CODE_COMMON_CODE | FSP_STATUS_CODE_API_EXIT);\r
+ PERF_END_EX (&gFspApiPerformanceGuid, "EventRec", NULL, 0, FSP_STATUS_CODE_END_OF_FIRMWARE_NOTIFICATION | FSP_STATUS_CODE_COMMON_CODE | FSP_STATUS_CODE_API_EXIT);\r
\r
//\r
// Reset the system if FSP API returned FSP_STATUS_RESET_REQUIRED status\r
//\r
if ((Status >= FSP_STATUS_RESET_REQUIRED_COLD) && (Status <= FSP_STATUS_RESET_REQUIRED_8)) {\r
- DEBUG((DEBUG_INFO, "FSP NotifyPhase EndOfFirmware requested reset 0x%x\n", Status));\r
- CallFspWrapperResetSystem ((UINT32)Status);\r
+ DEBUG ((DEBUG_INFO, "FSP NotifyPhase EndOfFirmware requested reset 0x%x\n", Status));\r
+ CallFspWrapperResetSystem (Status);\r
}\r
\r
if (Status != EFI_SUCCESS) {\r
- DEBUG((DEBUG_ERROR, "FSP NotifyPhase EndOfFirmware failed, status: 0x%x\n", Status));\r
+ DEBUG ((DEBUG_ERROR, "FSP NotifyPhase EndOfFirmware failed, status: 0x%x\n", Status));\r
} else {\r
- DEBUG((DEBUG_INFO, "FSP NotifyPhase EndOfFirmware Success.\n"));\r
+ DEBUG ((DEBUG_INFO, "FSP NotifyPhase EndOfFirmware Success.\n"));\r
}\r
+\r
Status = gBS->LocateProtocol (\r
&gAddPerfRecordProtocolGuid,\r
NULL,\r
- (VOID**) &AddPerfRecordInterface\r
+ (VOID **)&AddPerfRecordInterface\r
);\r
if (EFI_ERROR (Status)) {\r
- DEBUG((DEBUG_INFO, "gAddPerfRecordProtocolGuid - Locate protocol failed\n"));\r
+ DEBUG ((DEBUG_INFO, "gAddPerfRecordProtocolGuid - Locate protocol failed\n"));\r
return;\r
} else {\r
Hob.Raw = GetFirstGuidHob (&gFspHobGuid);\r
EFI_STATUS\r
EFIAPI\r
FspWrapperNotifyDxeEntryPoint (\r
- IN EFI_HANDLE ImageHandle,\r
- IN EFI_SYSTEM_TABLE *SystemTable\r
+ IN EFI_HANDLE ImageHandle,\r
+ IN EFI_SYSTEM_TABLE *SystemTable\r
)\r
{\r
- EFI_STATUS Status;\r
- EFI_EVENT ReadyToBootEvent;\r
- VOID *Registration;\r
- EFI_EVENT ProtocolNotifyEvent;\r
- UINT32 FspApiMask;\r
+ EFI_STATUS Status;\r
+ EFI_EVENT ReadyToBootEvent;\r
+ VOID *Registration;\r
+ EFI_EVENT ProtocolNotifyEvent;\r
+ UINT32 FspApiMask;\r
\r
//\r
// Load this driver's image to memory\r
\r
return EFI_SUCCESS;\r
}\r
-\r