mirror of
				https://github.com/acidanthera/audk.git
				synced 2025-11-03 21:17:23 +01:00 
			
		
		
		
	Current CorebootPayloadPkg uses PciHostBridge and PciBusNoEnumeration driver. It will cause the PCI bus resource incorrectly set in root bridge instance. As a result all PCI devices behind a PCI bridge will not show up in Shell 'PCI' command. To resolve it use PciRootBridgeNoEnumeration driver instead. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Maurice Ma <maurice.ma@intel.com> Reviewed-by: Prince Agyeman <prince.agyeman@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17408 6f19259b-4bc3-4df7-8a09-765794883524
		
			
				
	
	
		
			279 lines
		
	
	
		
			9.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			279 lines
		
	
	
		
			9.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
## @file
 | 
						|
# Coreboot Payload Package
 | 
						|
#
 | 
						|
# Provides drivers and definitions to create uefi payload for coreboot. 
 | 
						|
#
 | 
						|
# Copyright (c) 2014, Intel Corporation. All rights reserved.<BR>
 | 
						|
# This program and the accompanying materials are licensed and made available under 
 | 
						|
# the terms and conditions of the BSD License that 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.  
 | 
						|
#
 | 
						|
##
 | 
						|
 | 
						|
################################################################################
 | 
						|
[FD.UefiPayload]
 | 
						|
BaseAddress   = 0x800000|gUefiCorebootModulePkgTokenSpaceGuid.PcdPayloadFdMemBase
 | 
						|
Size          = 0x410000|gUefiCorebootModulePkgTokenSpaceGuid.PcdPayloadFdMemSize
 | 
						|
ErasePolarity = 1
 | 
						|
BlockSize     = 0x1000
 | 
						|
NumBlocks     = 0x410
 | 
						|
 | 
						|
0x00000000|0x030000
 | 
						|
FV = PEIFV
 | 
						|
 | 
						|
0x00030000|0x3E0000
 | 
						|
FV = DXEFV
 | 
						|
 | 
						|
################################################################################
 | 
						|
[FV.PEIFV]
 | 
						|
BlockSize          = 0x1000
 | 
						|
FvAlignment        = 16
 | 
						|
ERASE_POLARITY     = 1
 | 
						|
MEMORY_MAPPED      = TRUE
 | 
						|
STICKY_WRITE       = TRUE
 | 
						|
LOCK_CAP           = TRUE
 | 
						|
LOCK_STATUS        = TRUE
 | 
						|
WRITE_DISABLED_CAP = TRUE
 | 
						|
WRITE_ENABLED_CAP  = TRUE
 | 
						|
WRITE_STATUS       = TRUE
 | 
						|
WRITE_LOCK_CAP     = TRUE
 | 
						|
WRITE_LOCK_STATUS  = TRUE
 | 
						|
READ_DISABLED_CAP  = TRUE
 | 
						|
READ_ENABLED_CAP   = TRUE
 | 
						|
READ_STATUS        = TRUE
 | 
						|
READ_LOCK_CAP      = TRUE
 | 
						|
READ_LOCK_STATUS   = TRUE
 | 
						|
 | 
						|
INF CorebootModulePkg/SecCore/SecCore.inf
 | 
						|
 | 
						|
INF MdeModulePkg/Core/Pei/PeiMain.inf
 | 
						|
INF MdeModulePkg/Universal/PCD/Pei/Pcd.inf
 | 
						|
INF IntelFrameworkModulePkg/Universal/StatusCode/Pei/StatusCodePei.inf
 | 
						|
INF CorebootModulePkg/CbSupportPei/CbSupportPei.inf
 | 
						|
INF MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf
 | 
						|
 | 
						|
################################################################################
 | 
						|
 | 
						|
[FV.DXEFV]
 | 
						|
BlockSize          = 0x1000
 | 
						|
FvAlignment        = 16
 | 
						|
ERASE_POLARITY     = 1
 | 
						|
MEMORY_MAPPED      = TRUE
 | 
						|
STICKY_WRITE       = TRUE
 | 
						|
LOCK_CAP           = TRUE
 | 
						|
LOCK_STATUS        = TRUE
 | 
						|
WRITE_DISABLED_CAP = TRUE
 | 
						|
WRITE_ENABLED_CAP  = TRUE
 | 
						|
WRITE_STATUS       = TRUE
 | 
						|
WRITE_LOCK_CAP     = TRUE
 | 
						|
WRITE_LOCK_STATUS  = TRUE
 | 
						|
READ_DISABLED_CAP  = TRUE
 | 
						|
READ_ENABLED_CAP   = TRUE
 | 
						|
READ_STATUS        = TRUE
 | 
						|
READ_LOCK_CAP      = TRUE
 | 
						|
READ_LOCK_STATUS   = TRUE
 | 
						|
 | 
						|
#
 | 
						|
# DXE Phase modules
 | 
						|
#
 | 
						|
INF MdeModulePkg/Core/Dxe/DxeMain.inf
 | 
						|
INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
 | 
						|
INF IntelFrameworkModulePkg/Universal/StatusCode/RuntimeDxe/StatusCodeRuntimeDxe.inf
 | 
						|
 | 
						|
INF MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
 | 
						|
INF UefiCpuPkg/CpuDxe/CpuDxe.inf
 | 
						|
INF IntelFrameworkModulePkg/Universal/BdsDxe/BdsDxe.inf
 | 
						|
INF PcAtChipsetPkg/8254TimerDxe/8254Timer.inf
 | 
						|
INF MdeModulePkg/Universal/Metronome/Metronome.inf
 | 
						|
INF MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
 | 
						|
INF MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
 | 
						|
INF MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
 | 
						|
INF MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf
 | 
						|
INF MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf  
 | 
						|
INF PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf 
 | 
						|
INF MdeModulePkg/Universal/Variable/EmuRuntimeDxe/EmuVariableRuntimeDxe.inf
 | 
						|
 | 
						|
INF UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
 | 
						|
INF MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
 | 
						|
INF MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf
 | 
						|
INF PcAtChipsetPkg/8259InterruptControllerDxe/8259.inf 
 | 
						|
INF MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
 | 
						|
INF MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf 
 | 
						|
INF MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
 | 
						|
INF CorebootModulePkg/CbSupportDxe/CbSupportDxe.inf 
 | 
						|
 | 
						|
INF MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf
 | 
						|
#
 | 
						|
# PCI Support
 | 
						|
#
 | 
						|
INF DuetPkg/PciRootBridgeNoEnumerationDxe/PciRootBridgeNoEnumeration.inf
 | 
						|
INF DuetPkg/PciBusNoEnumerationDxe/PciBusNoEnumeration.inf 
 | 
						|
 | 
						|
#
 | 
						|
# ISA Support
 | 
						|
#
 | 
						|
INF CorebootPayloadPkg/SerialDxe/SerialDxe.inf
 | 
						|
 | 
						|
#
 | 
						|
# Console Support
 | 
						|
#
 | 
						|
INF MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
 | 
						|
INF MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
 | 
						|
INF MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
 | 
						|
INF MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
 | 
						|
 | 
						|
#
 | 
						|
# SCSI/ATA/IDE/DISK Support
 | 
						|
#
 | 
						|
INF MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
 | 
						|
INF MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
 | 
						|
INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
 | 
						|
INF DuetPkg/SataControllerDxe/SataControllerDxe.inf  
 | 
						|
INF MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf
 | 
						|
INF MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf
 | 
						|
INF MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf
 | 
						|
INF MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf
 | 
						|
 | 
						|
!if $(ARCH) == IA32
 | 
						|
INF RuleOverride = BINARY USE = IA32 FatBinPkg/EnhancedFatDxe/Fat.inf
 | 
						|
!else
 | 
						|
INF RuleOverride = BINARY USE = X64 FatBinPkg/EnhancedFatDxe/Fat.inf
 | 
						|
!endif
 | 
						|
 | 
						|
#
 | 
						|
# Usb Support
 | 
						|
#
 | 
						|
INF MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf
 | 
						|
INF MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf
 | 
						|
INF MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf
 | 
						|
INF MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
 | 
						|
INF MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf
 | 
						|
INF MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
 | 
						|
 | 
						|
#
 | 
						|
# Shell
 | 
						|
#
 | 
						|
#!if $(ARCH) == IA32
 | 
						|
#INF  RuleOverride = BINARY USE = IA32 ShellBinPkg/UefiShell/UefiShell.inf
 | 
						|
#!else
 | 
						|
#INF  RuleOverride = BINARY USE = X64 ShellBinPkg/UefiShell/UefiShell.inf
 | 
						|
#!endif
 | 
						|
#
 | 
						|
!if $(ARCH) == IA32
 | 
						|
INF  RuleOverride = BINARY USE = IA32 EdkShellBinPkg/FullShell/FullShell.inf
 | 
						|
!else
 | 
						|
INF  RuleOverride = BINARY USE = X64 EdkShellBinPkg/FullShell/FullShell.inf
 | 
						|
!endif
 | 
						|
 | 
						|
FILE FREEFORM    = PCD(gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLogoFile) {
 | 
						|
  SECTION RAW = MdeModulePkg/Logo/Logo.bmp
 | 
						|
}
 | 
						|
 | 
						|
#
 | 
						|
# Framebuffer Gop 
 | 
						|
#
 | 
						|
INF CorebootPayloadPkg/FbGop/FbGop.inf
 | 
						|
 | 
						|
################################################################################
 | 
						|
#
 | 
						|
# Rules are use with the [FV] section's module INF type to define
 | 
						|
# how an FFS file is created for a given INF file. The following Rule are the default
 | 
						|
# rules for the different module type. User can add the customized rules to define the
 | 
						|
# content of the FFS file.
 | 
						|
#
 | 
						|
################################################################################
 | 
						|
 | 
						|
[Rule.Common.SEC]
 | 
						|
  FILE SEC = $(NAMED_GUID) {
 | 
						|
    PE32     PE32   Align=32    $(INF_OUTPUT)/$(MODULE_NAME).efi
 | 
						|
  }
 | 
						|
 | 
						|
[Rule.Common.PEI_CORE]
 | 
						|
  FILE PEI_CORE = $(NAMED_GUID) {
 | 
						|
    PE32     PE32   Align=32    $(INF_OUTPUT)/$(MODULE_NAME).efi
 | 
						|
    UI       STRING ="$(MODULE_NAME)" Optional
 | 
						|
    VERSION  STRING ="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
 | 
						|
  }
 | 
						|
 | 
						|
[Rule.Common.PEIM]
 | 
						|
  FILE PEIM = $(NAMED_GUID) {
 | 
						|
     PEI_DEPEX PEI_DEPEX Optional        $(INF_OUTPUT)/$(MODULE_NAME).depex
 | 
						|
     PE32      PE32   Align=32           $(INF_OUTPUT)/$(MODULE_NAME).efi
 | 
						|
     UI       STRING="$(MODULE_NAME)" Optional
 | 
						|
     VERSION  STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
 | 
						|
  }
 | 
						|
 | 
						|
[Rule.Common.DXE_CORE]
 | 
						|
  FILE DXE_CORE = $(NAMED_GUID) {
 | 
						|
    PE32     PE32           $(INF_OUTPUT)/$(MODULE_NAME).efi
 | 
						|
    UI       STRING="$(MODULE_NAME)" Optional
 | 
						|
    VERSION  STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
 | 
						|
  }
 | 
						|
 | 
						|
[Rule.Common.DXE_DRIVER]
 | 
						|
  FILE DRIVER = $(NAMED_GUID) {
 | 
						|
    DXE_DEPEX    DXE_DEPEX Optional      $(INF_OUTPUT)/$(MODULE_NAME).depex
 | 
						|
    PE32     PE32                    $(INF_OUTPUT)/$(MODULE_NAME).efi
 | 
						|
    UI       STRING="$(MODULE_NAME)" Optional
 | 
						|
    VERSION  STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
 | 
						|
  }
 | 
						|
 | 
						|
[Rule.Common.DXE_RUNTIME_DRIVER]
 | 
						|
  FILE DRIVER = $(NAMED_GUID) {
 | 
						|
    DXE_DEPEX    DXE_DEPEX Optional      $(INF_OUTPUT)/$(MODULE_NAME).depex
 | 
						|
    PE32     PE32                    $(INF_OUTPUT)/$(MODULE_NAME).efi
 | 
						|
    UI       STRING="$(MODULE_NAME)" Optional
 | 
						|
    VERSION  STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
 | 
						|
  }
 | 
						|
 | 
						|
[Rule.Common.UEFI_DRIVER]
 | 
						|
  FILE DRIVER = $(NAMED_GUID) {
 | 
						|
    DXE_DEPEX    DXE_DEPEX Optional      $(INF_OUTPUT)/$(MODULE_NAME).depex
 | 
						|
    PE32     PE32                    $(INF_OUTPUT)/$(MODULE_NAME).efi
 | 
						|
    UI       STRING="$(MODULE_NAME)" Optional
 | 
						|
    VERSION  STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
 | 
						|
  }
 | 
						|
 | 
						|
[Rule.Common.UEFI_DRIVER.BINARY]
 | 
						|
  FILE DRIVER = $(NAMED_GUID) {
 | 
						|
    DXE_DEPEX DXE_DEPEX Optional      |.depex
 | 
						|
    PE32      PE32                    |.efi
 | 
						|
    UI        STRING="$(MODULE_NAME)" Optional
 | 
						|
    VERSION   STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
 | 
						|
  }
 | 
						|
 | 
						|
[Rule.Common.UEFI_APPLICATION]
 | 
						|
  FILE APPLICATION = $(NAMED_GUID) {
 | 
						|
    PE32     PE32                    $(INF_OUTPUT)/$(MODULE_NAME).efi
 | 
						|
    UI       STRING="$(MODULE_NAME)" Optional
 | 
						|
    VERSION  STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
 | 
						|
  }
 | 
						|
 | 
						|
[Rule.Common.UEFI_APPLICATION.BINARY]
 | 
						|
  FILE APPLICATION = $(NAMED_GUID) {
 | 
						|
    PE32      PE32                    |.efi
 | 
						|
    UI        STRING="$(MODULE_NAME)" Optional
 | 
						|
    VERSION   STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
 | 
						|
  }
 | 
						|
 | 
						|
[Rule.Common.USER_DEFINED.ACPITABLE]
 | 
						|
  FILE FREEFORM = $(NAMED_GUID) {
 | 
						|
    RAW ACPI               |.acpi
 | 
						|
    RAW ASL                |.aml
 | 
						|
  }
 | 
						|
 | 
						|
[Rule.Common.USER_DEFINED.CSM]
 | 
						|
  FILE FREEFORM = $(NAMED_GUID) {
 | 
						|
    RAW BIN                |.bin
 | 
						|
  }
 | 
						|
 | 
						|
[Rule.Common.SEC.RESET_VECTOR]
 | 
						|
  FILE RAW = $(NAMED_GUID) {
 | 
						|
    RAW RAW                |.raw
 | 
						|
  }
 | 
						|
 |