audk/QuarkPlatformPkg/Platform/Pei/PlatformInit/PlatformEarlyInit.inf

201 lines
7.8 KiB
INI

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