]> git.proxmox.com Git - mirror_edk2.git/blobdiff - CorebootPayloadPkg/CorebootPayloadPkgIa32.dsc
MdeModulePkg-DxeCore: rename CoreGetMemoryMapPropertiesTable
[mirror_edk2.git] / CorebootPayloadPkg / CorebootPayloadPkgIa32.dsc
index 00a584234f2f610909236f9721efef128bb087cf..7db4e15edc9234c10454a321dce1957d51a04735 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, 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
+# Copyright (c) 2014 - 2016, 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
+  # 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
+  # Shell options: [BUILD_SHELL, FULL_BIN, MIN_BIN, NONE, UEFI]\r
+  #\r
+  DEFINE SHELL_TYPE              = FULL_BIN\r
+\r
 [BuildOptions]\r
   GCC:*_UNIXGCC_*_CC_FLAGS       = -DMDEPKG_NDEBUG\r
   GCC:RELEASE_*_*_CC_FLAGS       = -DMDEPKG_NDEBUG\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
   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
+\r
   #\r
   # Generic Modules\r
   #\r
   SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf\r
   GenericBdsLib|IntelFrameworkModulePkg/Library/GenericBdsLib/GenericBdsLib.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|CorebootPayloadPkg/Library/SerialPortLib/SerialPortLib.inf\r
+  SerialPortLib|CorebootModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550.inf\r
+  PlatformHookLib|CorebootPayloadPkg/Library/PlatformHookLib/PlatformHookLib.inf\r
   PlatformBdsLib|CorebootPayloadPkg/Library/PlatformBdsLib/PlatformBdsLib.inf\r
-  \r
+\r
   #\r
   # Misc\r
   #\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
   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
   CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf\r
-  \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
   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
+  gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize|0x10000\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdMaxHardwareErrorVariableSize|0x8000\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdVariableStoreSize|0x10000\r
+\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdVpdBaseAddress|0x0\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
 !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
-!if $(SOURCE_DEBUG_ENABLE)\r
-  gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdDebugLoadImageMethod|0x2\r
-!endif\r
+  #\r
+  # The following parameters are set by Library/PlatformHookLib\r
+  #\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdSerialUseMmio|FALSE\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
+  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.PcdFlashNvStorageFtwWorkingBase|0\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase|0\r
 \r
-\r
 ################################################################################\r
 #\r
 # Components Section - list of all EDK II Modules needed by this Platform.\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
       PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
   }\r
   IntelFrameworkModulePkg/Universal/StatusCode/Pei/StatusCodePei.inf\r
-  \r
-  CorebootModulePkg/CbSupportPei/CbSupportPei.inf \r
+\r
+  CorebootModulePkg/CbSupportPei/CbSupportPei.inf\r
   MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf\r
 \r
 [Components.IA32]\r
     <LibraryClasses>\r
       NULL|IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf\r
   }\r
-  \r
+\r
   #\r
   # Components that produce the architectural protocols\r
   #\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
+\r
   IntelFrameworkModulePkg/Universal/StatusCode/RuntimeDxe/StatusCodeRuntimeDxe.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
+  CorebootModulePkg/PciRootBridgeNoEnumerationDxe/PciRootBridgeNoEnumeration.inf\r
+  CorebootModulePkg/PciBusNoEnumerationDxe/PciBusNoEnumeration.inf\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
-  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
-  CorebootPayloadPkg/SerialDxe/SerialDxe.inf\r
-  \r
+  MdeModulePkg/Universal/SerialDxe/SerialDxe.inf\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
+[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
+  # 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
+\r
+[Components.IA32]\r
+  ShellPkg/Application/Shell/Shell.inf {\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
+      NULL|ShellPkg/Library/UefiShellTftpCommandLib/UefiShellTftpCommandLib.inf\r
+\r
+    #------------------------------\r
+    #  Performance command\r
+    #------------------------------\r
+\r
+    <LibraryClasses>\r
+      NULL|ShellPkg/Library/UefiDpLib/UefiDpLib.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
+      FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf\r
+      HandleParsingLib|ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.inf\r
+      NetLib|MdeModulePkg/Library/DxeNetLib/DxeNetLib.inf\r
+      PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf\r
+      ShellCEntryLib|ShellPkg/Library/UefiShellCEntryLib/UefiShellCEntryLib.inf\r
+      ShellCommandLib|ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.inf\r
+      ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf\r
+      SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf\r
+  }\r
+\r
+!endif\r