]> git.proxmox.com Git - mirror_edk2.git/blobdiff - CorebootPayloadPkg/CorebootPayloadPkgIa32.dsc
BaseTools/Capsule: Do not support -o with --dump-info
[mirror_edk2.git] / CorebootPayloadPkg / CorebootPayloadPkgIa32.dsc
index e7254236a4ac0bea974a0428a8b28a4b593a307b..b6cdb697a5b0abe98acfe08d3d459a642c3623bc 100644 (file)
@@ -1,16 +1,16 @@
 ## @file\r
 # Coreboot Payload Package\r
 #\r
-# Provides drivers and definitions to create uefi payload for coreboot. \r
+# Provides drivers and definitions to create uefi payload for coreboot.\r
 #\r
-# Copyright (c) 2014 - 2016, Intel Corporation. All rights reserved.<BR>
-# This program and the accompanying materials are licensed and made available under \r
-# the terms and conditions of the BSD License that accompanies this distribution.  \r
+# Copyright (c) 2014 - 2017, Intel Corporation. All rights reserved.<BR>\r
+# This program and the accompanying materials are licensed and made available under\r
+# the terms and conditions of the BSD License that accompanies this distribution.\r
 # The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php.                                                                          \r
-# \r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,                     \r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.  \r
+# http://opensource.org/licenses/bsd-license.php.\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
 #\r
 ##\r
 \r
   PLATFORM_NAME                       = CorebootPayloadPkg\r
   PLATFORM_GUID                       = F71608AB-D63D-4491-B744-A99998C8CD96\r
   PLATFORM_VERSION                    = 0.1\r
-  DSC_SPECIFICATION                   = 0x00010005  \r
+  DSC_SPECIFICATION                   = 0x00010005\r
   SUPPORTED_ARCHITECTURES             = IA32\r
   BUILD_TARGETS                       = DEBUG|RELEASE|NOOPT\r
   SKUID_IDENTIFIER                    = DEFAULT\r
   OUTPUT_DIRECTORY                    = Build/CorebootPayloadPkgIA32\r
   FLASH_DEFINITION                    = CorebootPayloadPkg/CorebootPayloadPkg.fdf\r
-  \r
+\r
   DEFINE SECURE_BOOT_ENABLE      = FALSE\r
   DEFINE SOURCE_DEBUG_ENABLE     = FALSE\r
-  \r
+\r
+  #\r
+  # CPU options\r
+  #\r
+  DEFINE MAX_LOGICAL_PROCESSORS  = 64\r
+\r
+  #\r
+  # PCI options\r
+  #\r
+  DEFINE PCIE_BASE                        = 0xE0000000\r
+\r
+  #\r
+  # Serial port set up\r
+  #\r
+  DEFINE BAUD_RATE                        = 115200\r
+  DEFINE SERIAL_CLOCK_RATE                = 1843200\r
+  DEFINE SERIAL_LINE_CONTROL              = 3 # 8-bits, no parity\r
+  DEFINE SERIAL_HARDWARE_FLOW_CONTROL     = FALSE\r
+  DEFINE SERIAL_DETECT_CABLE              = FALSE\r
+  DEFINE SERIAL_FIFO_CONTROL              = 7 # Enable FIFO\r
+  DEFINE SERIAL_EXTENDED_TX_FIFO_SIZE     = 16\r
+  DEFINE UART_DEFAULT_BAUD_RATE           = $(BAUD_RATE)\r
+  DEFINE UART_DEFAULT_DATA_BITS           = 8\r
+  DEFINE UART_DEFAULT_PARITY              = 1\r
+  DEFINE UART_DEFAULT_STOP_BITS           = 1\r
+  DEFINE DEFAULT_TERMINAL_TYPE            = 0\r
+\r
+  #\r
+  #  typedef struct {\r
+  #    UINT16  VendorId;          ///< Vendor ID to match the PCI device.  The value 0xFFFF terminates the list of entries.\r
+  #    UINT16  DeviceId;          ///< Device ID to match the PCI device\r
+  #    UINT32  ClockRate;         ///< UART clock rate.  Set to 0 for default clock rate of 1843200 Hz\r
+  #    UINT64  Offset;            ///< The byte offset into to the BAR\r
+  #    UINT8   BarIndex;          ///< Which BAR to get the UART base address\r
+  #    UINT8   RegisterStride;    ///< UART register stride in bytes.  Set to 0 for default register stride of 1 byte.\r
+  #    UINT16  ReceiveFifoDepth;  ///< UART receive FIFO depth in bytes. Set to 0 for a default FIFO depth of 16 bytes.\r
+  #    UINT16  TransmitFifoDepth; ///< UART transmit FIFO depth in bytes. Set to 0 for a default FIFO depth of 16 bytes.\r
+  #    UINT8   Reserved[2];\r
+  #  } PCI_SERIAL_PARAMETER;\r
+  #\r
+  # Vendor FFFF Device 0000 Prog Interface 1, BAR #0, Offset 0, Stride = 1, Clock 1843200 (0x1c2000)\r
+  #\r
+  #                                           [Vendor]   [Device]  [----ClockRate---]  [------------Offset-----------] [Bar] [Stride] [RxFifo] [TxFifo]   [Rsvd]   [Vendor]\r
+  DEFINE PCI_SERIAL_PARAMETERS            = {0xff,0xff, 0x00,0x00, 0x0,0x20,0x1c,0x00, 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, 0x00,    0x01, 0x0,0x0, 0x0,0x0, 0x0,0x0, 0xff,0xff}\r
+\r
+  #\r
+  # Chipset options\r
+  #\r
+  DEFINE USE_HPET_TIMER                   = FALSE\r
+\r
+  #\r
+  # Shell options: [BUILD_SHELL, FULL_BIN, MIN_BIN, NONE, UEFI]\r
+  #\r
+  DEFINE SHELL_TYPE              = FULL_BIN\r
+\r
 [BuildOptions]\r
+  *_*_*_CC_FLAGS                 = -D DISABLE_NEW_DEPRECATED_INTERFACES\r
   GCC:*_UNIXGCC_*_CC_FLAGS       = -DMDEPKG_NDEBUG\r
   GCC:RELEASE_*_*_CC_FLAGS       = -DMDEPKG_NDEBUG\r
   INTEL:RELEASE_*_*_CC_FLAGS     = /D MDEPKG_NDEBUG\r
   MSFT:RELEASE_*_*_CC_FLAGS      = /D MDEPKG_NDEBUG\r
 \r
+[BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER]\r
+  MSFT:*_*_*_DLINK_FLAGS         = /ALIGN:4096\r
+\r
 ################################################################################\r
 #\r
 # SKU Identification section - list of all SKU IDs supported by this Platform.\r
   #\r
   # Basic\r
   #\r
-  BaseLib|MdePkg/Library/BaseLib/BaseLib.inf  \r
+  BaseLib|MdePkg/Library/BaseLib/BaseLib.inf\r
   BaseMemoryLib|MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf\r
   SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf\r
   PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf\r
   CpuLib|MdePkg/Library/BaseCpuLib/BaseCpuLib.inf\r
   IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf\r
+!if $(PCIE_BASE) == 0\r
   PciLib|MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf\r
   PciCf8Lib|MdePkg/Library/BasePciCf8Lib/BasePciCf8Lib.inf\r
+!else\r
+  PciLib|MdePkg/Library/BasePciLibPciExpress/BasePciLibPciExpress.inf\r
+  PciExpressLib|MdePkg/Library/BasePciExpressLib/BasePciExpressLib.inf\r
+!endif\r
+  PciSegmentLib|MdePkg/Library/BasePciSegmentLibPci/BasePciSegmentLibPci.inf\r
   PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf\r
   PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf\r
   CacheMaintenanceLib|MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.inf\r
-  \r
+\r
   #\r
   # UEFI & PI\r
   #\r
   DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf\r
   DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf\r
   UefiCpuLib|UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.inf\r
-  \r
+  SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf\r
+\r
   #\r
   # Generic Modules\r
   #\r
   OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf\r
   CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf\r
   SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf\r
-  GenericBdsLib|IntelFrameworkModulePkg/Library/GenericBdsLib/GenericBdsLib.inf\r
+  UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf\r
   CustomizedDisplayLib|MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.inf\r
-  \r
+\r
   #\r
   # CPU\r
   #\r
   MtrrLib|UefiCpuPkg/Library/MtrrLib/MtrrLib.inf\r
-  LocalApicLib|UefiCpuPkg/Library/BaseXApicLib/BaseXApicLib.inf  \r
-  \r
+  LocalApicLib|UefiCpuPkg/Library/BaseXApicLib/BaseXApicLib.inf\r
+\r
   #\r
   # Platform\r
   #\r
   TimerLib|CorebootPayloadPkg/Library/AcpiTimerLib/AcpiTimerLib.inf\r
   ResetSystemLib|CorebootPayloadPkg/Library/ResetSystemLib/ResetSystemLib.inf\r
-  SerialPortLib|MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550.inf\r
+  SerialPortLib|CorebootModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550.inf\r
   PlatformHookLib|CorebootPayloadPkg/Library/PlatformHookLib/PlatformHookLib.inf\r
-  PlatformBdsLib|CorebootPayloadPkg/Library/PlatformBdsLib/PlatformBdsLib.inf\r
-  \r
+  PlatformBootManagerLib|CorebootPayloadPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf\r
+  IoApicLib|PcAtChipsetPkg/Library/BaseIoApicLib/BaseIoApicLib.inf\r
+  CbPlatformSupportLib|CorebootModulePkg/Library/CbPlatformSupportLibNull/CbPlatformSupportLibNull.inf\r
+\r
   #\r
   # Misc\r
   #\r
   DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf\r
   PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf\r
-  PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
 !if $(SOURCE_DEBUG_ENABLE) == TRUE\r
   PeCoffExtraActionLib|SourceLevelDebugPkg/Library/PeCoffExtraActionLibDebug/PeCoffExtraActionLibDebug.inf\r
   DebugCommunicationLib|SourceLevelDebugPkg/Library/DebugCommunicationLibSerialPort/DebugCommunicationLibSerialPort.inf\r
 !else\r
   PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf\r
-  DebugAgentLib|MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf  \r
+  DebugAgentLib|MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf\r
 !endif\r
   CbParseLib|CorebootModulePkg/Library/CbParseLib/CbParseLib.inf\r
-  DebugLib|IntelFrameworkModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf\r
+  DebugLib|MdeModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf\r
+  LockBoxLib|MdeModulePkg/Library/LockBoxNullLib/LockBoxNullLib.inf\r
+  FileExplorerLib|MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf\r
 \r
 [LibraryClasses.IA32.SEC]\r
   DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf\r
   HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf\r
   MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf\r
   ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf\r
-  ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf  \r
+  ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf\r
 !if $(SOURCE_DEBUG_ENABLE)\r
   DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf\r
-!endif \r
+!endif\r
   CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf\r
 \r
-[LibraryClasses.common.DXE_DRIVER]  \r
+[LibraryClasses.common.DXE_DRIVER]\r
   PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf\r
   HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf\r
   MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf\r
   ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf\r
   ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf\r
+!if $(SOURCE_DEBUG_ENABLE)\r
+  DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf\r
+!endif\r
   CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf\r
-  \r
+  MpInitLib|UefiCpuPkg/Library/MpInitLib/DxeMpInitLib.inf\r
+\r
 [LibraryClasses.common.DXE_RUNTIME_DRIVER]\r
   PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf\r
   HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf\r
   MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf\r
   ReportStatusCodeLib|MdeModulePkg/Library/RuntimeDxeReportStatusCodeLib/RuntimeDxeReportStatusCodeLib.inf\r
-  \r
+\r
 [LibraryClasses.common.UEFI_DRIVER,LibraryClasses.common.UEFI_APPLICATION]\r
-  PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
+  PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf\r
   MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf\r
   ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf\r
-  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf  \r
-  \r
+  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf\r
+\r
 ################################################################################\r
 #\r
 # Pcd Section - list of all EDK II PCD Entries defined by this Platform.\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdConOutUgaSupport|FALSE\r
 \r
 [PcdsFixedAtBuild]\r
-  gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x7\r
-  gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F\r
-!if $(SOURCE_DEBUG_ENABLE)\r
-  gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x17\r
-!else\r
-  gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2F\r
-!endif\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize|0x10000\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdMaxHardwareErrorVariableSize|0x8000\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdVariableStoreSize|0x10000\r
-  \r
-  gEfiMdeModulePkgTokenSpaceGuid.PcdVpdBaseAddress|0x0  \r
+\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdVpdBaseAddress|0x0\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdBootManagerMenuFile|{ 0x21, 0xaa, 0x2c, 0x46, 0x14, 0x76, 0x03, 0x45, 0x83, 0x6e, 0x8a, 0xb6, 0xf4, 0x66, 0x23, 0x31 }\r
+\r
+  gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|$(PCIE_BASE)\r
 \r
 !if $(SOURCE_DEBUG_ENABLE)\r
   gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdDebugLoadImageMethod|0x2\r
 !endif\r
 \r
 [PcdsPatchableInModule.common]\r
+  gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x7\r
+  gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F\r
+!if $(SOURCE_DEBUG_ENABLE)\r
+  gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x17\r
+!else\r
+  gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2F\r
+!endif\r
+\r
+  #\r
+  # The following parameters are set by Library/PlatformHookLib\r
+  #\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdSerialUseMmio|FALSE\r
-  gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase|0x03F8\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase|0x3f8\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdSerialBaudRate|$(BAUD_RATE)\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterStride|1\r
+\r
+  #\r
+  # Enable these parameters to be set on the command line\r
+  #\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdSerialClockRate|$(SERIAL_CLOCK_RATE)\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdSerialLineControl|$(SERIAL_LINE_CONTROL)\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdSerialUseHardwareFlowControl|$(SERIAL_HARDWARE_FLOW_CONTROL)\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdSerialDetectCable|$(SERIAL_DETECT_CABLE)\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdSerialFifoControl|$(SERIAL_FIFO_CONTROL)\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdSerialExtendedTxFifoSize|$(SERIAL_EXTENDED_TX_FIFO_SIZE)\r
+\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdPciDisableBusEnumeration|TRUE\r
+  gEfiMdePkgTokenSpaceGuid.PcdUartDefaultBaudRate|$(UART_DEFAULT_BAUD_RATE)\r
+  gEfiMdePkgTokenSpaceGuid.PcdUartDefaultDataBits|$(UART_DEFAULT_DATA_BITS)\r
+  gEfiMdePkgTokenSpaceGuid.PcdUartDefaultParity|$(UART_DEFAULT_PARITY)\r
+  gEfiMdePkgTokenSpaceGuid.PcdUartDefaultStopBits|$(UART_DEFAULT_STOP_BITS)\r
+  gEfiMdePkgTokenSpaceGuid.PcdDefaultTerminalType|$(DEFAULT_TERMINAL_TYPE)\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdPciSerialParameters|$(PCI_SERIAL_PARAMETERS)\r
+\r
+  gUefiCpuPkgTokenSpaceGuid.PcdCpuMaxLogicalProcessorNumber|$(MAX_LOGICAL_PROCESSORS)\r
+\r
+  #\r
+  # Set the proper Shell file GUID\r
+  #\r
+  !if $(SHELL_TYPE) == FULL_BIN\r
+  # c57ad6b7-0515-40a8-9d21-551652854e37\r
+  gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdShellFile|{ 0xB7, 0xD6, 0x7A, 0xC5, 0x15, 0x05, 0xA8, 0x40, 0x9D, 0x21, 0x55, 0x16, 0x52, 0x85, 0x4E, 0x37 }\r
+  !else\r
+  # 7C04A583-9E3E-4f1c-AD65-E05268D0B4D1\r
+  gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdShellFile|{ 0x83, 0xA5, 0x04, 0x7C, 0x3E, 0x9E, 0x1c, 0x4f, 0xAD, 0x65, 0xE0, 0x52, 0x68, 0xD0, 0xB4, 0xD1 }\r
+  !endif\r
 \r
 ################################################################################\r
 #\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase|0\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase|0\r
+  gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|3\r
 \r
+  ## This PCD defines the video horizontal resolution.\r
+  #  This PCD could be set to 0 then video resolution could be at highest resolution.\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdVideoHorizontalResolution|0\r
+  ## This PCD defines the video vertical resolution.\r
+  #  This PCD could be set to 0 then video resolution could be at highest resolution.\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdVideoVerticalResolution|0\r
+\r
+  ## The PCD is used to specify the video horizontal resolution of text setup.\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoHorizontalResolution|0\r
+  ## The PCD is used to specify the video vertical resolution of text setup.\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoVerticalResolution|0\r
 \r
 ################################################################################\r
 #\r
   # SEC Core\r
   #\r
   CorebootModulePkg/SecCore/SecCore.inf\r
-  \r
+\r
   #\r
   # PEI Core\r
   #\r
   MdeModulePkg/Core/Pei/PeiMain.inf\r
-  \r
+\r
   #\r
   # PEIM\r
   #\r
     <LibraryClasses>\r
       PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
   }\r
-  IntelFrameworkModulePkg/Universal/StatusCode/Pei/StatusCodePei.inf\r
-  \r
-  CorebootModulePkg/CbSupportPei/CbSupportPei.inf \r
+  MdeModulePkg/Universal/ReportStatusCodeRouter/Pei/ReportStatusCodeRouterPei.inf\r
+  MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCodeHandlerPei.inf\r
+\r
+  CorebootModulePkg/CbSupportPei/CbSupportPei.inf\r
   MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf\r
 \r
 [Components.IA32]\r
   #\r
   MdeModulePkg/Core/Dxe/DxeMain.inf {\r
     <LibraryClasses>\r
-      NULL|IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf\r
+      NULL|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf\r
   }\r
-  \r
+\r
   #\r
   # Components that produce the architectural protocols\r
   #\r
   MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf\r
   UefiCpuPkg/CpuDxe/CpuDxe.inf\r
-  IntelFrameworkModulePkg/Universal/BdsDxe/BdsDxe.inf\r
+  MdeModulePkg/Universal/BdsDxe/BdsDxe.inf\r
+  MdeModulePkg/Application/UiApp/UiApp.inf {\r
+    <LibraryClasses>\r
+      NULL|MdeModulePkg/Library/DeviceManagerUiLib/DeviceManagerUiLib.inf\r
+      NULL|MdeModulePkg/Library/BootManagerUiLib/BootManagerUiLib.inf\r
+      NULL|MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanceManagerUiLib.inf\r
+  }\r
+!if $(USE_HPET_TIMER) == TRUE\r
+  PcAtChipsetPkg/HpetTimerDxe/HpetTimerDxe.inf\r
+!else\r
   PcAtChipsetPkg/8254TimerDxe/8254Timer.inf\r
+!endif\r
   MdeModulePkg/Universal/Metronome/Metronome.inf\r
   MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf\r
   MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf\r
   MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf\r
   MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf\r
-  MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf  \r
-  PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf \r
+  MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf\r
+  PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf\r
   MdeModulePkg/Universal/Variable/EmuRuntimeDxe/EmuVariableRuntimeDxe.inf\r
-  \r
+\r
   #\r
-  # Following are the DXE drivers \r
+  # Following are the DXE drivers\r
   #\r
   MdeModulePkg/Universal/PCD/Dxe/Pcd.inf {\r
     <LibraryClasses>\r
       PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
   }\r
-  \r
-  IntelFrameworkModulePkg/Universal/StatusCode/RuntimeDxe/StatusCodeRuntimeDxe.inf\r
+\r
+  MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe.inf\r
+  MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf\r
   UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf\r
   MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf\r
   MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf\r
-  PcAtChipsetPkg/8259InterruptControllerDxe/8259.inf \r
+  PcAtChipsetPkg/8259InterruptControllerDxe/8259.inf\r
   MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf\r
-  MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf \r
+  MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf\r
   MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf\r
-  \r
-  CorebootModulePkg/CbSupportDxe/CbSupportDxe.inf \r
-  \r
+\r
+  CorebootModulePkg/CbSupportDxe/CbSupportDxe.inf\r
+\r
   #\r
   # SMBIOS Support\r
   #\r
   MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf\r
-  \r
+\r
   #\r
   # ACPI Support\r
   #\r
-  MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf  \r
-  \r
+  MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf\r
+\r
   #\r
   # PCI Support\r
   #\r
-  DuetPkg/PciRootBridgeNoEnumerationDxe/PciRootBridgeNoEnumeration.inf\r
-  DuetPkg/PciBusNoEnumerationDxe/PciBusNoEnumeration.inf \r
-  \r
+  MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf\r
+  MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf {\r
+    <LibraryClasses>\r
+      PciHostBridgeLib|CorebootPayloadPkg/Library/PciHostBridgeLib/PciHostBridgeLib.inf\r
+  }\r
+\r
   #\r
   # SCSI/ATA/IDE/DISK Support\r
   #\r
   MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf\r
   MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf\r
   MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf\r
-  FatPkg/EnhancedFatDxe/Fat.inf
-  DuetPkg/SataControllerDxe/SataControllerDxe.inf  \r
+  FatPkg/EnhancedFatDxe/Fat.inf\r
+  CorebootModulePkg/SataControllerDxe/SataControllerDxe.inf\r
   MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf\r
-  MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf \r
+  MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf\r
   MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf\r
   MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf\r
-  \r
+\r
+  #\r
+  # SD/eMMC Support\r
+  #\r
+  MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdMmcPciHcDxe.inf\r
+  MdeModulePkg/Bus/Sd/EmmcDxe/EmmcDxe.inf\r
+  MdeModulePkg/Bus/Sd/SdDxe/SdDxe.inf\r
+\r
   #\r
   # Usb Support\r
   #\r
   MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf\r
   MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf\r
   MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf\r
-  \r
+\r
+  #\r
+  # OHCI support\r
+  #\r
+  QuarkSocPkg/QuarkSouthCluster/Usb/Ohci/Dxe/OhciDxe.inf\r
+\r
   #\r
   # ISA Support\r
   #\r
   MdeModulePkg/Universal/SerialDxe/SerialDxe.inf\r
-  \r
+\r
   #\r
   # Console Support\r
   #\r
   MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf\r
   MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf\r
   MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf\r
-  \r
-  \r
+\r
   #\r
-  # Framebuffer Gop \r
+  # Framebuffer Gop\r
   #\r
   CorebootPayloadPkg/FbGop/FbGop.inf\r
-  \r
-     \r
\ No newline at end of file
+\r
+  #------------------------------\r
+  #  Build the shell\r
+  #------------------------------\r
+\r
+!if $(SHELL_TYPE) == BUILD_SHELL\r
+\r
+  #\r
+  # Shell Lib\r
+  #\r
+[LibraryClasses]\r
+  BcfgCommandLib|ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.inf\r
+  DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf\r
+  FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf\r
+  ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf\r
+  NetLib|MdeModulePkg/Library/DxeNetLib/DxeNetLib.inf\r
+\r
+[Components.IA32]\r
+  ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf {\r
+    <PcdsFixedAtBuild>\r
+      ## This flag is used to control initialization of the shell library\r
+      #  This should be FALSE for compiling the dynamic command.\r
+      gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE\r
+  }\r
+  ShellPkg/DynamicCommand/DpDynamicCommand/DpDynamicCommand.inf {\r
+    <PcdsFixedAtBuild>\r
+      ## This flag is used to control initialization of the shell library\r
+      #  This should be FALSE for compiling the dynamic command.\r
+      gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE\r
+  }\r
+  ShellPkg/Application/Shell/Shell.inf {\r
+    <PcdsFixedAtBuild>\r
+      ## This flag is used to control initialization of the shell library\r
+      #  This should be FALSE for compiling the shell application itself only.\r
+      gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE\r
+\r
+    #------------------------------\r
+    #  Basic commands\r
+    #------------------------------\r
+\r
+    <LibraryClasses>\r
+      NULL|ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.inf\r
+      NULL|ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.inf\r
+      NULL|ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.inf\r
+      NULL|ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.inf\r
+      NULL|ShellPkg/Library/UefiShellInstall1CommandsLib/UefiShellInstall1CommandsLib.inf\r
+      NULL|ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.inf\r
+\r
+    #------------------------------\r
+    #  Networking commands\r
+    #------------------------------\r
+\r
+    <LibraryClasses>\r
+      NULL|ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.inf\r
+\r
+    #------------------------------\r
+    #  Support libraries\r
+    #------------------------------\r
+\r
+    <LibraryClasses>\r
+      DebugLib|MdePkg/Library/UefiDebugLibConOut/UefiDebugLibConOut.inf\r
+      DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf\r
+      HandleParsingLib|ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.inf\r
+      PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf\r
+      ShellCEntryLib|ShellPkg/Library/UefiShellCEntryLib/UefiShellCEntryLib.inf\r
+      ShellCommandLib|ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.inf\r
+      SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf\r
+  }\r
+\r
+!endif\r