/** @file This is the FSP driver that initializes the Intel PCH. Copyright (c) 2019 Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent **/ #include #include #include "PchInit.h" EFI_STATUS EFIAPI PchOnPciEnumCompleteFsp ( IN EFI_PEI_SERVICES **PeiServices, IN EFI_PEI_NOTIFY_DESCRIPTOR *NotifyDescriptor, IN VOID *Ppi ); STATIC EFI_PEI_NOTIFY_DESCRIPTOR mPchOnPciEnumCompleteNotifyList[] = { { (EFI_PEI_PPI_DESCRIPTOR_NOTIFY_CALLBACK | EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST), &gEfiPciEnumerationCompleteProtocolGuid, PchOnPciEnumCompleteFsp } }; /** FSP PchInit Module Entry Point for FSP\n @param[in] FileHandle PEIM's file handle @param[in] PeiServices An indirect pointer to the EFI_PEI_SERVICES table published by the PEI Foundation @retval EFI_SUCCESS The function completed successfully @retval EFI_OUT_OF_RESOURCES Do not have enough resources to initialize the driver **/ EFI_STATUS EFIAPI PchInitEntryPointFsp ( IN EFI_PEI_FILE_HANDLE FileHandle, IN CONST EFI_PEI_SERVICES **PeiServices ) { EFI_STATUS Status; DEBUG ((DEBUG_INFO, "PchInitEntryPointFsp() Start\n")); PchInitEntryPointCommon (); Status = PeiServicesNotifyPpi (mPchOnPciEnumCompleteNotifyList); ASSERT_EFI_ERROR (Status); DEBUG ((DEBUG_INFO, "PchInitEntryPointFsp() End\n")); return Status; } /** Fsp PCH initialization on PCI enumeration complete @param[in] PeiServices An indirect pointer to the EFI_PEI_SERVICES table published by the PEI Foundation @param[in] NotifyDescriptor Address of the notification descriptor data structure. @param[in] Ppi Address of the PPI that was installed. @retval EFI_SUCCESS The function completed successfully @retval EFI_OUT_OF_RESOURCES Do not have enough resources to initialize the driver **/ EFI_STATUS EFIAPI PchOnPciEnumCompleteFsp ( IN EFI_PEI_SERVICES **PeiServices, IN EFI_PEI_NOTIFY_DESCRIPTOR *NotifyDescriptor, IN VOID *Ppi ) { DEBUG ((DEBUG_INFO, "PchOnPciEnumCompleteFsp() Start\n")); PchOnPciEnumCompleteCommon (); DEBUG ((DEBUG_INFO, "PchOnPciEnumCompleteFsp() End\n")); return EFI_SUCCESS; }