#include <Protocol/PciEnumerationComplete.h>\r
#include <Library/ReportStatusCodeLib.h>\r
#include <Library/PerformanceLib.h>\r
-extern EFI_GUID gFspPerformanceDataGuid;\r
+extern EFI_GUID gFspPerformanceDataGuid;\r
\r
-EFI_PEI_PPI_DESCRIPTOR mPeiPostPciEnumerationPpi = {\r
+EFI_PEI_PPI_DESCRIPTOR mPeiPostPciEnumerationPpi = {\r
(EFI_PEI_PPI_DESCRIPTOR_PPI | EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST),\r
&gEfiPciEnumerationCompleteProtocolGuid,\r
NULL\r
};\r
\r
-EFI_PEI_PPI_DESCRIPTOR mPeiReadyToBootPpi = {\r
+EFI_PEI_PPI_DESCRIPTOR mPeiReadyToBootPpi = {\r
(EFI_PEI_PPI_DESCRIPTOR_PPI | EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST),\r
&gEfiEventReadyToBootGuid,\r
NULL\r
};\r
\r
-EFI_PEI_PPI_DESCRIPTOR mPeiEndOfFirmwarePpi = {\r
+EFI_PEI_PPI_DESCRIPTOR mPeiEndOfFirmwarePpi = {\r
(EFI_PEI_PPI_DESCRIPTOR_PPI | EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST),\r
&gFspEventEndOfFirmwareGuid,\r
NULL\r
EFI_STATUS\r
EFIAPI\r
FspNotificationHandler (\r
- IN UINT32 NotificationCode\r
+ IN UINT32 NotificationCode\r
)\r
{\r
- EFI_STATUS Status;\r
+ EFI_STATUS Status;\r
\r
- Status = EFI_SUCCESS;\r
+ Status = EFI_SUCCESS;\r
\r
switch (NotificationCode) {\r
- case EnumInitPhaseAfterPciEnumeration:\r
- //\r
- // Do POST PCI initialization if needed\r
- //\r
- DEBUG ((DEBUG_INFO | DEBUG_INIT, "FSP Post PCI Enumeration ...\n"));\r
- PeiServicesInstallPpi (&mPeiPostPciEnumerationPpi);\r
- break;\r
-\r
- case EnumInitPhaseReadyToBoot:\r
- //\r
- // Ready To Boot\r
- //\r
- DEBUG ((DEBUG_INFO| DEBUG_INIT, "FSP Ready To Boot ...\n"));\r
- PeiServicesInstallPpi (&mPeiReadyToBootPpi);\r
- break;\r
-\r
- case EnumInitPhaseEndOfFirmware:\r
- //\r
- // End of Firmware\r
- //\r
- DEBUG ((DEBUG_INFO| DEBUG_INIT, "FSP End of Firmware ...\n"));\r
- PeiServicesInstallPpi (&mPeiEndOfFirmwarePpi);\r
- break;\r
-\r
- default:\r
- Status = EFI_INVALID_PARAMETER;\r
- break;\r
+ case EnumInitPhaseAfterPciEnumeration:\r
+ //\r
+ // Do POST PCI initialization if needed\r
+ //\r
+ DEBUG ((DEBUG_INFO | DEBUG_INIT, "FSP Post PCI Enumeration ...\n"));\r
+ PeiServicesInstallPpi (&mPeiPostPciEnumerationPpi);\r
+ break;\r
+\r
+ case EnumInitPhaseReadyToBoot:\r
+ //\r
+ // Ready To Boot\r
+ //\r
+ DEBUG ((DEBUG_INFO| DEBUG_INIT, "FSP Ready To Boot ...\n"));\r
+ PeiServicesInstallPpi (&mPeiReadyToBootPpi);\r
+ break;\r
+\r
+ case EnumInitPhaseEndOfFirmware:\r
+ //\r
+ // End of Firmware\r
+ //\r
+ DEBUG ((DEBUG_INFO| DEBUG_INIT, "FSP End of Firmware ...\n"));\r
+ PeiServicesInstallPpi (&mPeiEndOfFirmwarePpi);\r
+ break;\r
+\r
+ default:\r
+ Status = EFI_INVALID_PARAMETER;\r
+ break;\r
}\r
\r
return Status;\r
VOID\r
EFIAPI\r
FspSiliconInitDone2 (\r
- IN EFI_STATUS Status\r
+ IN EFI_STATUS Status\r
)\r
{\r
- volatile EFI_STATUS FspStatus;\r
+ volatile EFI_STATUS FspStatus;\r
\r
FspStatus = Status;\r
//\r
Status = EFI_DEVICE_ERROR; // Force to known error.\r
break;\r
}\r
+\r
//\r
// This is the end of the FspSiliconInit API\r
// Give control back to the boot loader\r
VOID\r
EFIAPI\r
FspMemoryInitDone2 (\r
- IN EFI_STATUS Status,\r
- IN OUT VOID **HobListPtr\r
+ IN EFI_STATUS Status,\r
+ IN OUT VOID **HobListPtr\r
)\r
{\r
- FSP_GLOBAL_DATA *FspData;\r
- volatile EFI_STATUS FspStatus;\r
+ FSP_GLOBAL_DATA *FspData;\r
+ volatile EFI_STATUS FspStatus;\r
\r
FspStatus = Status;\r
//\r
if (HobListPtr == NULL) {\r
HobListPtr = (VOID **)GetFspApiParameter2 ();\r
}\r
+\r
if (HobListPtr != NULL) {\r
- *HobListPtr = (VOID *) GetHobList ();\r
+ *HobListPtr = (VOID *)GetHobList ();\r
}\r
+\r
//\r
// Convert to FSP EAS defined API return codes\r
//\r
Status = EFI_DEVICE_ERROR; // Force to known error.\r
break;\r
}\r
+\r
//\r
// This is the end of the FspMemoryInit API\r
// Give control back to the boot loader\r
DEBUG ((DEBUG_INFO | DEBUG_INIT, "FspMemoryInitApi() - [Status: 0x%08X] - End\n", Status));\r
SetFspMeasurePoint (FSP_PERF_ID_API_FSP_MEMORY_INIT_EXIT);\r
FspData = GetFspGlobalDataPointer ();\r
- PERF_START_EX(&gFspPerformanceDataGuid, "EventRec", NULL, (FspData->PerfData[0] & FSP_PERFORMANCE_DATA_TIMER_MASK), FSP_STATUS_CODE_TEMP_RAM_INIT | FSP_STATUS_CODE_COMMON_CODE| FSP_STATUS_CODE_API_ENTRY);\r
- PERF_END_EX(&gFspPerformanceDataGuid, "EventRec", NULL, (FspData->PerfData[1] & FSP_PERFORMANCE_DATA_TIMER_MASK), FSP_STATUS_CODE_TEMP_RAM_INIT | FSP_STATUS_CODE_COMMON_CODE | FSP_STATUS_CODE_API_EXIT);\r
- PERF_START_EX(&gFspPerformanceDataGuid, "EventRec", NULL, (FspData->PerfData[2] & FSP_PERFORMANCE_DATA_TIMER_MASK), FSP_STATUS_CODE_MEMORY_INIT | FSP_STATUS_CODE_COMMON_CODE | FSP_STATUS_CODE_API_ENTRY);\r
- PERF_END_EX(&gFspPerformanceDataGuid, "EventRec", NULL, 0, FSP_STATUS_CODE_MEMORY_INIT | FSP_STATUS_CODE_COMMON_CODE | FSP_STATUS_CODE_API_EXIT);\r
+ PERF_START_EX (&gFspPerformanceDataGuid, "EventRec", NULL, (FspData->PerfData[0] & FSP_PERFORMANCE_DATA_TIMER_MASK), FSP_STATUS_CODE_TEMP_RAM_INIT | FSP_STATUS_CODE_COMMON_CODE| FSP_STATUS_CODE_API_ENTRY);\r
+ PERF_END_EX (&gFspPerformanceDataGuid, "EventRec", NULL, (FspData->PerfData[1] & FSP_PERFORMANCE_DATA_TIMER_MASK), FSP_STATUS_CODE_TEMP_RAM_INIT | FSP_STATUS_CODE_COMMON_CODE | FSP_STATUS_CODE_API_EXIT);\r
+ PERF_START_EX (&gFspPerformanceDataGuid, "EventRec", NULL, (FspData->PerfData[2] & FSP_PERFORMANCE_DATA_TIMER_MASK), FSP_STATUS_CODE_MEMORY_INIT | FSP_STATUS_CODE_COMMON_CODE | FSP_STATUS_CODE_API_ENTRY);\r
+ PERF_END_EX (&gFspPerformanceDataGuid, "EventRec", NULL, 0, FSP_STATUS_CODE_MEMORY_INIT | FSP_STATUS_CODE_COMMON_CODE | FSP_STATUS_CODE_API_EXIT);\r
REPORT_STATUS_CODE (EFI_PROGRESS_CODE, FSP_STATUS_CODE_MEMORY_INIT | FSP_STATUS_CODE_COMMON_CODE | FSP_STATUS_CODE_API_EXIT);\r
if (GetFspGlobalDataPointer ()->FspMode == FSP_IN_API_MODE) {\r
do {\r
if (GetFspApiCallingIndex () == TempRamExitApiIndex) {\r
SetPhaseStatusCode (FSP_STATUS_CODE_TEMP_RAM_EXIT);\r
SetFspMeasurePoint (FSP_PERF_ID_API_TEMP_RAM_EXIT_ENTRY);\r
- PERF_START_EX(&gFspPerformanceDataGuid, "EventRec", NULL, 0, FSP_STATUS_CODE_TEMP_RAM_EXIT | FSP_STATUS_CODE_COMMON_CODE | FSP_STATUS_CODE_API_ENTRY);\r
+ PERF_START_EX (&gFspPerformanceDataGuid, "EventRec", NULL, 0, FSP_STATUS_CODE_TEMP_RAM_EXIT | FSP_STATUS_CODE_COMMON_CODE | FSP_STATUS_CODE_API_ENTRY);\r
REPORT_STATUS_CODE (EFI_PROGRESS_CODE, FSP_STATUS_CODE_TEMP_RAM_EXIT | FSP_STATUS_CODE_COMMON_CODE | FSP_STATUS_CODE_API_ENTRY);\r
DEBUG ((DEBUG_INFO | DEBUG_INIT, "TempRamExitApi() - Begin\n"));\r
} else {\r
SetPhaseStatusCode (FSP_STATUS_CODE_SILICON_INIT);\r
SetFspMeasurePoint (FSP_PERF_ID_API_FSP_SILICON_INIT_ENTRY);\r
- PERF_START_EX(&gFspPerformanceDataGuid, "EventRec", NULL, 0, FSP_STATUS_CODE_SILICON_INIT | FSP_STATUS_CODE_COMMON_CODE | FSP_STATUS_CODE_API_ENTRY);\r
+ PERF_START_EX (&gFspPerformanceDataGuid, "EventRec", NULL, 0, FSP_STATUS_CODE_SILICON_INIT | FSP_STATUS_CODE_COMMON_CODE | FSP_STATUS_CODE_API_ENTRY);\r
REPORT_STATUS_CODE (EFI_PROGRESS_CODE, FSP_STATUS_CODE_SILICON_INIT | FSP_STATUS_CODE_COMMON_CODE | FSP_STATUS_CODE_API_ENTRY);\r
DEBUG ((DEBUG_INFO | DEBUG_INIT, "FspSiliconInitApi() - Begin\n"));\r
}\r
VOID\r
EFIAPI\r
FspTempRamExitDone2 (\r
- IN EFI_STATUS Status\r
+ IN EFI_STATUS Status\r
)\r
{\r
//\r
- volatile EFI_STATUS FspStatus;\r
+ volatile EFI_STATUS FspStatus;\r
\r
FspStatus = Status;\r
// Convert to FSP EAS defined API return codes\r
Status = EFI_DEVICE_ERROR; // Force to known error.\r
break;\r
}\r
+\r
//\r
// This is the end of the TempRamExit API\r
// Give control back to the boot loader\r
//\r
DEBUG ((DEBUG_INFO | DEBUG_INIT, "TempRamExitApi() - [Status: 0x%08X] - End\n", Status));\r
SetFspMeasurePoint (FSP_PERF_ID_API_TEMP_RAM_EXIT_EXIT);\r
- PERF_END_EX(&gFspPerformanceDataGuid, "EventRec", NULL, 0, FSP_STATUS_CODE_TEMP_RAM_EXIT | FSP_STATUS_CODE_COMMON_CODE | FSP_STATUS_CODE_API_EXIT);\r
+ PERF_END_EX (&gFspPerformanceDataGuid, "EventRec", NULL, 0, FSP_STATUS_CODE_TEMP_RAM_EXIT | FSP_STATUS_CODE_COMMON_CODE | FSP_STATUS_CODE_API_EXIT);\r
REPORT_STATUS_CODE (EFI_PROGRESS_CODE, FSP_STATUS_CODE_TEMP_RAM_EXIT | FSP_STATUS_CODE_COMMON_CODE | FSP_STATUS_CODE_API_EXIT);\r
if (GetFspGlobalDataPointer ()->FspMode == FSP_IN_API_MODE) {\r
do {\r
}\r
} while (FspStatus != EFI_SUCCESS);\r
}\r
+\r
SetPhaseStatusCode (FSP_STATUS_CODE_SILICON_INIT);\r
SetFspMeasurePoint (FSP_PERF_ID_API_FSP_SILICON_INIT_ENTRY);\r
- PERF_START_EX(&gFspPerformanceDataGuid, "EventRec", NULL, 0, FSP_STATUS_CODE_SILICON_INIT | FSP_STATUS_CODE_COMMON_CODE | FSP_STATUS_CODE_API_ENTRY);\r
+ PERF_START_EX (&gFspPerformanceDataGuid, "EventRec", NULL, 0, FSP_STATUS_CODE_SILICON_INIT | FSP_STATUS_CODE_COMMON_CODE | FSP_STATUS_CODE_API_ENTRY);\r
REPORT_STATUS_CODE (EFI_PROGRESS_CODE, FSP_STATUS_CODE_SILICON_INIT | FSP_STATUS_CODE_COMMON_CODE | FSP_STATUS_CODE_API_ENTRY);\r
DEBUG ((DEBUG_INFO | DEBUG_INIT, "SiliconInitApi() - Begin\n"));\r
}\r
VOID\r
)\r
{\r
- EFI_STATUS Status;\r
- UINT32 NotificationValue;\r
- UINT32 NotificationCount;\r
- UINT8 Count;\r
- volatile EFI_STATUS FspStatus;\r
+ EFI_STATUS Status;\r
+ UINT32 NotificationValue;\r
+ UINT32 NotificationCount;\r
+ UINT8 Count;\r
+ volatile EFI_STATUS FspStatus;\r
\r
NotificationCount = 0;\r
- while (NotificationCount < sizeof(mFspNotifySequence) / sizeof(UINT32)) {\r
-\r
+ while (NotificationCount < sizeof (mFspNotifySequence) / sizeof (UINT32)) {\r
Count = (UINT8)((NotificationCount << 1) & 0x07);\r
SetFspMeasurePoint (FSP_PERF_ID_API_NOTIFY_POST_PCI_ENTRY + Count);\r
\r
REPORT_STATUS_CODE (EFI_PROGRESS_CODE, FSP_STATUS_CODE_POST_PCIE_ENUM_NOTIFICATION | FSP_STATUS_CODE_COMMON_CODE | FSP_STATUS_CODE_API_ENTRY);\r
} else if (NotificationCount == 1) {\r
SetPhaseStatusCode (FSP_STATUS_CODE_READY_TO_BOOT_NOTIFICATION);\r
- PERF_START_EX(&gFspPerformanceDataGuid, "EventRec", NULL, 0, FSP_STATUS_CODE_READY_TO_BOOT_NOTIFICATION | FSP_STATUS_CODE_COMMON_CODE | FSP_STATUS_CODE_API_ENTRY);\r
+ PERF_START_EX (&gFspPerformanceDataGuid, "EventRec", NULL, 0, FSP_STATUS_CODE_READY_TO_BOOT_NOTIFICATION | FSP_STATUS_CODE_COMMON_CODE | FSP_STATUS_CODE_API_ENTRY);\r
REPORT_STATUS_CODE (EFI_PROGRESS_CODE, FSP_STATUS_CODE_READY_TO_BOOT_NOTIFICATION | FSP_STATUS_CODE_COMMON_CODE | FSP_STATUS_CODE_API_ENTRY);\r
} else if (NotificationCount == 2) {\r
SetPhaseStatusCode (FSP_STATUS_CODE_END_OF_FIRMWARE_NOTIFICATION);\r
// Process Notification and Give control back to the boot loader framework caller\r
//\r
Status = FspNotificationHandler (NotificationValue);\r
- if (!EFI_ERROR(Status)) {\r
+ if (!EFI_ERROR (Status)) {\r
NotificationCount++;\r
}\r
}\r
SetFspMeasurePoint (FSP_PERF_ID_API_NOTIFY_POST_PCI_EXIT + Count);\r
\r
if ((NotificationCount - 1) == 0) {\r
- PERF_END_EX(&gFspPerformanceDataGuid, "EventRec", NULL, 0, FSP_STATUS_CODE_POST_PCIE_ENUM_NOTIFICATION | FSP_STATUS_CODE_COMMON_CODE | FSP_STATUS_CODE_API_EXIT);\r
+ PERF_END_EX (&gFspPerformanceDataGuid, "EventRec", NULL, 0, FSP_STATUS_CODE_POST_PCIE_ENUM_NOTIFICATION | FSP_STATUS_CODE_COMMON_CODE | FSP_STATUS_CODE_API_EXIT);\r
REPORT_STATUS_CODE (EFI_PROGRESS_CODE, FSP_STATUS_CODE_POST_PCIE_ENUM_NOTIFICATION | FSP_STATUS_CODE_COMMON_CODE | FSP_STATUS_CODE_API_EXIT);\r
} else if ((NotificationCount - 1) == 1) {\r
- PERF_END_EX(&gFspPerformanceDataGuid, "EventRec", NULL, 0, FSP_STATUS_CODE_READY_TO_BOOT_NOTIFICATION | FSP_STATUS_CODE_COMMON_CODE | FSP_STATUS_CODE_API_EXIT);\r
+ PERF_END_EX (&gFspPerformanceDataGuid, "EventRec", NULL, 0, FSP_STATUS_CODE_READY_TO_BOOT_NOTIFICATION | FSP_STATUS_CODE_COMMON_CODE | FSP_STATUS_CODE_API_EXIT);\r
REPORT_STATUS_CODE (EFI_PROGRESS_CODE, FSP_STATUS_CODE_READY_TO_BOOT_NOTIFICATION | FSP_STATUS_CODE_COMMON_CODE | FSP_STATUS_CODE_API_EXIT);\r
} else if ((NotificationCount - 1) == 2) {\r
- PERF_END_EX(&gFspPerformanceDataGuid, "EventRec", NULL, 0, FSP_STATUS_CODE_END_OF_FIRMWARE_NOTIFICATION | FSP_STATUS_CODE_COMMON_CODE | FSP_STATUS_CODE_API_EXIT);\r
+ PERF_END_EX (&gFspPerformanceDataGuid, "EventRec", NULL, 0, FSP_STATUS_CODE_END_OF_FIRMWARE_NOTIFICATION | FSP_STATUS_CODE_COMMON_CODE | FSP_STATUS_CODE_API_EXIT);\r
REPORT_STATUS_CODE (EFI_PROGRESS_CODE, FSP_STATUS_CODE_END_OF_FIRMWARE_NOTIFICATION | FSP_STATUS_CODE_COMMON_CODE | FSP_STATUS_CODE_API_EXIT);\r
}\r
+\r
if (GetFspGlobalDataPointer ()->FspMode == FSP_IN_API_MODE) {\r
FspStatus = Status;\r
do {\r
- SetFspApiReturnStatus(Status);\r
- Pei2LoaderSwitchStack();\r
+ SetFspApiReturnStatus (Status);\r
+ Pei2LoaderSwitchStack ();\r
if (Status != EFI_SUCCESS) {\r
DEBUG ((DEBUG_ERROR, "!!!ERROR: NotifyPhaseApi() [Phase: %08X] - Failed - [Status: 0x%08X]\n", NotificationValue, Status));\r
}\r
} while (FspStatus != EFI_SUCCESS);\r
}\r
}\r
+\r
//\r
// Control goes back to the PEI Core and it dispatches further PEIMs.\r
// DXEIPL is the final one to transfer control back to the boot loader.\r
VOID\r
EFIAPI\r
FspMemoryInitDone (\r
- IN OUT VOID **HobListPtr\r
+ IN OUT VOID **HobListPtr\r
)\r
{\r
FspMemoryInitDone2 (EFI_SUCCESS, HobListPtr);\r