+++ /dev/null
-## @file\r
-# This is the Platform PEIM to initialize whole platform on PEI phase.\r
-#\r
-# This PEIM includes 3 parts, pre memory initialization, MRC\r
-# wrapper and post memory initialization.\r
-# On pre memory, following action is performed,\r
-# 1. Initizluize GMCH.\r
-# 2. Detect boot mode.\r
-# 3. Detect video adapter to determine whether we need pre allocated\r
-# memory.\r
-#\r
-# After that MRC wrapper calls MRC to initialize memory and install a PPI\r
-# notify to do post memory\r
-# initialization. MRC wrapper performance following actions,\r
-# 1. Install EFI Memory.\r
-# 2. Create HOB of system memory.\r
-#\r
-# On post memory, following action is performed,\r
-# 1. QNC initialization after MRC.\r
-# 2. SIO initialization.\r
-# 3. Install ResetSystem and FinvFv PPI, relocate Stall to memory on\r
-# recovery boot mode.\r
-# 4. Set MTRR for PEI\r
-# 5. Create FV HOB and Flash HOB\r
-# 6. Install RecoveryModule and AtaController PPI if on recovery boot mode.\r
-#\r
-# This PEIM does not have any register access directly, it depends on\r
-# IntelQNCLib, QNCAccess libraries to access Chipset\r
-# registers.\r
-#\r
-# Platform.c - Provide main flow and entrypoint of PEIM.\r
-# MemoryCallback.c - Includes a memory call back function notified when\r
-# MRC is done.\r
-# Recovery.c - provides the platform recoveyr functionality.\r
-# MrcWrapper.c - Contains the logic to call MRC PPI and do Framework\r
-# memory specific stuff like build memory map, build\r
-# resource description hob for DXE phase,etc.\r
-# Bootmode.c - Detect boot mode.\r
-# Copyright (c) 2013 - 2019 Intel Corporation.\r
-#\r
-# SPDX-License-Identifier: BSD-2-Clause-Patent\r
-#\r
-##\r
-\r
-[Defines]\r
- INF_VERSION = 0x00010005\r
- BASE_NAME = PlatformEarlyInitPei\r
- FILE_GUID = 9618C0DC-50A4-496c-994F-7241F282ED01\r
- MODULE_TYPE = PEIM\r
- VERSION_STRING = 1.0\r
- ENTRY_POINT = PeiInitPlatform\r
-\r
-#\r
-# The following information is for reference only and not required by the build tools.\r
-#\r
-# VALID_ARCHITECTURES = IA32 X64\r
-#\r
-\r
-[Sources]\r
- Generic/Recovery.c\r
- PlatformErratas.c\r
- MrcWrapper.c\r
- MrcWrapper.h\r
- PlatformEarlyInit.c\r
- PlatformEarlyInit.h\r
- MemoryCallback.c\r
- BootMode.c\r
- CommonHeader.h\r
- PeiFvSecurity.c\r
- PeiFvSecurity.h\r
-\r
-[Packages]\r
- MdePkg/MdePkg.dec\r
- MdeModulePkg/MdeModulePkg.dec\r
- UefiCpuPkg/UefiCpuPkg.dec\r
- IntelFrameworkPkg/IntelFrameworkPkg.dec\r
- IntelFrameworkModulePkg/IntelFrameworkModulePkg.dec\r
- QuarkPlatformPkg/QuarkPlatformPkg.dec\r
- QuarkSocPkg/QuarkSocPkg.dec\r
-\r
-[LibraryClasses]\r
- ResetSystemLib\r
- PrintLib\r
- TimerLib\r
- PcdLib\r
- IntelQNCLib\r
- ReportStatusCodeLib\r
- PciLib\r
- PciExpressLib\r
- IoLib\r
- PciCf8Lib\r
- HobLib\r
- BaseMemoryLib\r
- PeiServicesTablePointerLib\r
- PeiServicesLib\r
- BaseLib\r
- PeimEntryPoint\r
- DebugLib\r
- MemoryAllocationLib\r
- PerformanceLib\r
- CacheMaintenanceLib\r
- MtrrLib\r
- QNCAccessLib\r
- PlatformHelperLib\r
- PlatformPcieHelperLib\r
- I2cLib\r
-\r
-[Guids]\r
- gEfiMemoryConfigDataGuid # ALWAYS_CONSUMED L"MemoryConfig"\r
- gEfiAcpiVariableGuid # ALWAYS_CONSUMED L"AcpiGlobalVariab"\r
- gEfiMemoryTypeInformationGuid # ALWAYS_CONSUMED L"MemoryTypeInformation"\r
- gEfiMemoryConfigDataGuid # SOMETIMES_PRODUCED Hob: GUID_EXTENSION\r
- gEfiSmmPeiSmramMemoryReserveGuid # ALWAYS_PRODUCED Hob: GUID_EXTENSION\r
- gEfiFirmwareFileSystem2Guid # ALWAYS_CONSUMED\r
- gEfiCapsuleGuid # ALWAYS_CONSUMED\r
- gPeiCapsuleOnDataCDGuid\r
- gPeiCapsuleOnFatIdeDiskGuid\r
- gPeiCapsuleOnFatUsbDiskGuid\r
- gEfiMemoryOverwriteControlDataGuid # SOMETIMES_CONSUMED\r
- gEfiQuarkCapsuleGuid\r
-\r
-[Ppis]\r
- gQNCMemoryInitPpiGuid # PPI ALWAYS_CONSUMED\r
- gEfiPeiMemoryDiscoveredPpiGuid # PPI ALWAYS_PRODUCED\r
- gPeiAtaControllerPpiGuid # PPI SOMETIMES_PRODUCED\r
- gEfiPeiStallPpiGuid # PPI ALWAYS_PRODUCED\r
- gEfiPeiDeviceRecoveryModulePpiGuid # PPI SOMETIMES_CONSUMED\r
- gEfiPeiRecoveryModulePpiGuid # PPI SOMETIMES_PRODUCED\r
- gEfiPeiResetPpiGuid # PPI ALWAYS_PRODUCED\r
- gEfiPeiReadOnlyVariable2PpiGuid # PPI ALWAYS_CONSUMED\r
- gEfiPeiBootInRecoveryModePpiGuid # PPI SOMETIMES_PRODUCED\r
- gEfiPeiMasterBootModePpiGuid # PPI ALWAYS_PRODUCED\r
- gEfiPeiFirmwareVolumeInfoPpiGuid\r
- gEfiEndOfPeiSignalPpiGuid\r
- gEfiPeiVirtualBlockIoPpiGuid\r
- gPeiCapsulePpiGuid # PPI ALWAYS_CONSUMED\r
-\r
-[FeaturePcd]\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdRecoveryOnFatUsbDisk\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdRecoveryOnDataCD\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdRecoveryOnFatFloppyDisk\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdRecoveryOnIdeDisk\r
- gQuarkPlatformTokenSpaceGuid.WaitIfResetDueToError\r
-\r
-[Pcd]\r
- gQuarkPlatformTokenSpaceGuid.PcdEsramStage1Base\r
- gQuarkPlatformTokenSpaceGuid.PcdFlashAreaSize\r
- gQuarkPlatformTokenSpaceGuid.PcdFlashAreaBaseAddress\r
- gQuarkPlatformTokenSpaceGuid.PcdEccScrubBlkSize\r
- gQuarkPlatformTokenSpaceGuid.PcdEccScrubInterval\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize\r
- gQuarkPlatformTokenSpaceGuid.PcdFlashQNCMicrocodeSize\r
- gEfiQuarkNcSocIdTokenSpaceGuid.PcdPmbaIoBaseAddress\r
- gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress\r
- gEfiQuarkNcSocIdTokenSpaceGuid.PcdPciHostBridgeIoBase\r
- gEfiQuarkNcSocIdTokenSpaceGuid.PcdPciHostBridgeIoSize\r
- gEfiQuarkSCSocIdTokenSpaceGuid.PcdIohUartFunctionNumber\r
- gEfiQuarkSCSocIdTokenSpaceGuid.PcdIohUartBusNumber\r
- gEfiQuarkSCSocIdTokenSpaceGuid.PcdIohUartDevNumber\r
- gEfiQuarkSCSocIdTokenSpaceGuid.PcdIohGpioBusNumber\r
- gEfiQuarkSCSocIdTokenSpaceGuid.PcdIohGpioDevNumber\r
- gEfiQuarkSCSocIdTokenSpaceGuid.PcdIohGpioFunctionNumber\r
- gEfiQuarkSCSocIdTokenSpaceGuid.PcdIohGpioBarRegister\r
- gEfiQuarkSCSocIdTokenSpaceGuid.PcdIohGpioMmioBase\r
- gEfiQuarkSCSocIdTokenSpaceGuid.PcdIohMac0MmioBase\r
- gEfiQuarkSCSocIdTokenSpaceGuid.PcdIohMac1MmioBase\r
- gEfiQuarkSCSocIdTokenSpaceGuid.PcdPeiQNCUsbControllerMemoryBaseAddress\r
- gEfiQuarkNcSocIdTokenSpaceGuid.PcdRcbaMmioBaseAddress\r
- gEfiQuarkNcSocIdTokenSpaceGuid.PcdPciHostBridgeMemory32Base\r
- gEfiQuarkNcSocIdTokenSpaceGuid.PcdPciHostBridgeMemory32Size\r
- gEfiQuarkNcSocIdTokenSpaceGuid.PcdPciHostBridgeMemory64Base\r
- gEfiQuarkNcSocIdTokenSpaceGuid.PcdPciHostBridgeMemory64Size\r
- gEfiQuarkNcSocIdTokenSpaceGuid.PcdPciExpressSize\r
- gEfiQuarkNcSocIdTokenSpaceGuid.PcdGbaIoBaseAddress\r
- gEfiQuarkNcSocIdTokenSpaceGuid.PcdQuarkMicrocodeFile\r
- gEfiQuarkNcSocIdTokenSpaceGuid.PcdTSegSize\r
- gEfiQuarkNcSocIdTokenSpaceGuid.PcdESramMemorySize\r
- gQuarkPlatformTokenSpaceGuid.PcdFlashFvRecoverySize\r
- gQuarkPlatformTokenSpaceGuid.PcdFlashFvRecoveryBase\r
- gQuarkPlatformTokenSpaceGuid.PcdFlashFvMainSize\r
- gQuarkPlatformTokenSpaceGuid.PcdFlashFvMainBase\r
- gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdBootState\r
- gQuarkPlatformTokenSpaceGuid.PcdFlashFvPayloadBase\r
- gQuarkPlatformTokenSpaceGuid.PcdFlashFvPayloadSize\r
- gQuarkPlatformTokenSpaceGuid.PcdEnableFastBoot\r
- gQuarkPlatformTokenSpaceGuid.PcdPlatformType\r
- gEfiQuarkNcSocIdTokenSpaceGuid.PcdMrcParameters\r
- gEfiQuarkSCSocIdTokenSpaceGuid.PcdIohEthernetMac0\r
- gEfiQuarkSCSocIdTokenSpaceGuid.PcdIohEthernetMac1\r
-\r
-[Depex]\r
- gEfiPeiReadOnlyVariable2PpiGuid AND gQNCMemoryInitPpiGuid\r