Home | History | Annotate | Download | only in EmulatorPkg
      1 ## @file

      2 # UEFI/PI Emulation Platform with UEFI HII interface supported.

      3 #

      4 # The Emulation Platform can be used to debug individual modules, prior to creating

      5 # a real platform. This also provides an example for how an DSC is created.

      6 #

      7 # Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR>

      8 # Portions copyright (c) 2010 - 2011, Apple Inc. All rights reserved.<BR>

      9 #

     10 # This program and the accompanying materials

     11 # are licensed and made available under the terms and conditions of the BSD License

     12 # which accompanies this distribution. The full text of the license may be found at

     13 # http://opensource.org/licenses/bsd-license.php

     14 #

     15 # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,

     16 # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.

     17 #

     18 ##

     19 
     20 [Defines]
     21   PLATFORM_NAME                  = EmulatorPkg
     22   PLATFORM_GUID                  = 05FD064D-1073-E844-936C-A0E16317107D
     23   PLATFORM_VERSION               = 0.3
     24   DSC_SPECIFICATION              = 0x00010005
     25 !if $(BUILD_32)
     26   OUTPUT_DIRECTORY               = Build/Emulator32
     27 !else
     28   OUTPUT_DIRECTORY               = Build/Emulator
     29 !endif
     30 
     31   SUPPORTED_ARCHITECTURES        = X64|IA32
     32   BUILD_TARGETS                  = DEBUG|RELEASE
     33   SKUID_IDENTIFIER               = DEFAULT
     34   FLASH_DEFINITION               = EmulatorPkg/EmulatorPkg.fdf
     35 
     36 [SkuIds]
     37   0|DEFAULT
     38 
     39 [LibraryClasses]
     40   #

     41   # Entry point

     42   #

     43   PeiCoreEntryPoint|MdePkg/Library/PeiCoreEntryPoint/PeiCoreEntryPoint.inf
     44   PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf
     45   DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
     46   UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
     47   UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf
     48   #

     49   # Basic

     50   #

     51   BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
     52   SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf
     53   PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
     54   CacheMaintenanceLib|MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.inf
     55   PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
     56   PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
     57   BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
     58 
     59   #

     60   # UEFI & PI

     61   #

     62   UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
     63   UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
     64   UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
     65   UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
     66   UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf
     67   HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
     68   DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
     69   UefiDecompressLib|IntelFrameworkModulePkg/Library/BaseUefiTianoCustomDecompressLib/BaseUefiTianoCustomDecompressLib.inf
     70 
     71   PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
     72   DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
     73   DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
     74   SmbiosLib|EmulatorPkg/Library/SmbiosLib/SmbiosLib.inf
     75 
     76   #

     77   # Generic Modules

     78   #

     79   UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf
     80   NetLib|MdeModulePkg/Library/DxeNetLib/DxeNetLib.inf
     81   IpIoLib|MdeModulePkg/Library/DxeIpIoLib/DxeIpIoLib.inf
     82   UdpIoLib|MdeModulePkg/Library/DxeUdpIoLib/DxeUdpIoLib.inf
     83   DpcLib|MdeModulePkg/Library/DxeDpcLib/DxeDpcLib.inf
     84   OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
     85   GenericBdsLib|IntelFrameworkModulePkg/Library/GenericBdsLib/GenericBdsLib.inf
     86   CustomizedDisplayLib|MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.inf
     87   SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf
     88   TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf
     89   SerialPortLib|MdePkg/Library/BaseSerialPortLibNull/BaseSerialPortLibNull.inf
     90   CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
     91   #

     92   # Platform

     93   #

     94   PlatformBdsLib|EmulatorPkg/Library/EmuBdsLib/EmuBdsLib.inf
     95   KeyMapLib|EmulatorPkg/Library/KeyMapLibNull/KeyMapLibNull.inf
     96 
     97   #

     98   # Misc

     99   #

    100   DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf
    101   PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf
    102   DebugAgentLib|MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf
    103   PeiServicesTablePointerLib|EmulatorPkg/Library/PeiServicesTablePointerLibMagicPage/PeiServicesTablePointerLibMagicPage.inf
    104   DebugLib|MdeModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf
    105   LockBoxLib|MdeModulePkg/Library/LockBoxNullLib/LockBoxNullLib.inf
    106   CpuExceptionHandlerLib|MdeModulePkg/Library/CpuExceptionHandlerLibNull/CpuExceptionHandlerLibNull.inf
    107   TpmMeasurementLib|MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurementLibNull.inf
    108   AuthVariableLib|MdeModulePkg/Library/AuthVariableLibNull/AuthVariableLibNull.inf
    109   VarCheckLib|MdeModulePkg/Library/VarCheckLib/VarCheckLib.inf
    110 
    111 [LibraryClasses.common.SEC]
    112   PeiServicesLib|EmulatorPkg/Library/SecPeiServicesLib/SecPeiServicesLib.inf
    113   PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
    114   PeCoffGetEntryPointLib|EmulatorPkg/Library/PeiEmuPeCoffGetEntryPointLib/PeiEmuPeCoffGetEntryPointLib.inf
    115   PeCoffExtraActionLib|EmulatorPkg/Library/PeiEmuPeCoffExtraActionLib/PeiEmuPeCoffExtraActionLib.inf
    116   SerialPortLib|EmulatorPkg/Library/PeiEmuSerialPortLib/PeiEmuSerialPortLib.inf
    117   PpiListLib|EmulatorPkg/Library/SecPpiListLib/SecPpiListLib.inf
    118   DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
    119   TimerLib|EmulatorPkg/Library/PeiTimerLib/PeiTimerLib.inf
    120 
    121 [LibraryClasses.common.USER_DEFINED, LibraryClasses.common.BASE]
    122   DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
    123   PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf
    124   MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
    125   PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
    126   PpiListLib|EmulatorPkg/Library/SecPpiListLib/SecPpiListLib.inf
    127   ThunkPpiList|EmulatorPkg/Library/ThunkPpiList/ThunkPpiList.inf
    128   ThunkProtocolList|EmulatorPkg/Library/ThunkProtocolList/ThunkProtocolList.inf
    129   PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
    130   PpiListLib|EmulatorPkg/Library/SecPpiListLib/SecPpiListLib.inf
    131   PeiServicesLib|EmulatorPkg/Library/SecPeiServicesLib/SecPeiServicesLib.inf
    132 
    133 
    134 [LibraryClasses.common.PEIM, LibraryClasses.common.PEI_CORE]
    135   HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
    136   MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
    137   ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
    138   PeCoffGetEntryPointLib|EmulatorPkg/Library/PeiEmuPeCoffGetEntryPointLib/PeiEmuPeCoffGetEntryPointLib.inf
    139   PeCoffExtraActionLib|EmulatorPkg/Library/PeiEmuPeCoffExtraActionLib/PeiEmuPeCoffExtraActionLib.inf
    140   ExtractGuidedSectionLib|MdePkg/Library/PeiExtractGuidedSectionLib/PeiExtractGuidedSectionLib.inf
    141   SerialPortLib|EmulatorPkg/Library/PeiEmuSerialPortLib/PeiEmuSerialPortLib.inf
    142   ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
    143   TimerLib|EmulatorPkg/Library/PeiTimerLib/PeiTimerLib.inf
    144 
    145 [LibraryClasses.common.PEI_CORE]
    146   PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
    147 
    148 [LibraryClasses.common.PEIM]
    149   PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf
    150 
    151 [LibraryClasses.common.DXE_CORE]
    152   HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf
    153   MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf
    154   ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
    155   PeCoffExtraActionLib|EmulatorPkg/Library/DxeEmuPeCoffExtraActionLib/DxeEmuPeCoffExtraActionLib.inf
    156   ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
    157   PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
    158   TimerLib|EmulatorPkg/Library/DxeCoreTimerLib/DxeCoreTimerLib.inf
    159   EmuThunkLib|EmulatorPkg/Library/DxeEmuLib/DxeEmuLib.inf
    160 
    161 [LibraryClasses.common.DXE_RUNTIME_DRIVER, LibraryClasses.common.UEFI_DRIVER, LibraryClasses.common.DXE_DRIVER, LibraryClasses.common.UEFI_APPLICATION]
    162   HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
    163   PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
    164   MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
    165   ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
    166   EmuThunkLib|EmulatorPkg/Library/DxeEmuLib/DxeEmuLib.inf
    167   PeCoffExtraActionLib|EmulatorPkg/Library/DxeEmuPeCoffExtraActionLib/DxeEmuPeCoffExtraActionLib.inf
    168   ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
    169   TimerLib|EmulatorPkg/Library/DxeTimerLib/DxeTimerLib.inf
    170 
    171 [LibraryClasses.common.UEFI_DRIVER]
    172   PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
    173 
    174 [LibraryClasses.common.UEFI_APPLICATION]
    175   PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
    176 
    177 
    178 [PcdsFeatureFlag]
    179   gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode|FALSE
    180   gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseSerial|TRUE
    181   gEfiMdeModulePkgTokenSpaceGuid.PcdPeiCoreImageLoaderSearchTeSectionFirst|FALSE
    182   gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplBuildPageTables|FALSE
    183 
    184 [PcdsFixedAtBuild]
    185   gEfiMdeModulePkgTokenSpaceGuid.PcdResetOnMemoryTypeInformationChange|FALSE
    186   gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000040
    187   gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x0f
    188   gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x1f
    189   gEfiMdeModulePkgTokenSpaceGuid.PcdMaxSizeNonPopulateCapsule|0x0
    190   gEfiMdeModulePkgTokenSpaceGuid.PcdMaxSizePopulateCapsule|0x0
    191 
    192   gEmulatorPkgTokenSpaceGuid.PcdEmuFirmwareFdSize|0x002a0000
    193   gEmulatorPkgTokenSpaceGuid.PcdEmuFirmwareBlockSize|0x10000
    194   gEmulatorPkgTokenSpaceGuid.PcdEmuFirmwareVolume|L"../FV/FV_RECOVERY.fd"
    195 
    196   gEmulatorPkgTokenSpaceGuid.PcdEmuMemorySize|L"64!64"
    197 
    198 !ifndef $(USE_OLD_SHELL)
    199   gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdShellFile|{ 0x83, 0xA5, 0x04, 0x7C, 0x3E, 0x9E, 0x1C, 0x4F, 0xAD, 0x65, 0xE0, 0x52, 0x68, 0xD0, 0xB4, 0xD1 }
    200 !endif
    201 
    202 #define BOOT_WITH_FULL_CONFIGURATION                  0x00

    203 #define BOOT_WITH_MINIMAL_CONFIGURATION               0x01

    204 #define BOOT_ASSUMING_NO_CONFIGURATION_CHANGES        0x02

    205 #define BOOT_WITH_FULL_CONFIGURATION_PLUS_DIAGNOSTICS 0x03

    206 #define BOOT_WITH_DEFAULT_SETTINGS                    0x04

    207 #define BOOT_ON_S4_RESUME                             0x05

    208 #define BOOT_ON_S5_RESUME                             0x06

    209 #define BOOT_ON_S2_RESUME                             0x10

    210 #define BOOT_ON_S3_RESUME                             0x11

    211 #define BOOT_ON_FLASH_UPDATE                          0x12

    212 #define BOOT_IN_RECOVERY_MODE                         0x20

    213   gEmulatorPkgTokenSpaceGuid.PcdEmuBootMode|0
    214 
    215   gEmulatorPkgTokenSpaceGuid.PcdEmuApCount|L"1"
    216 
    217   # For a CD-ROM/DVD use L"diag.dmg:RO:2048"

    218   gEmulatorPkgTokenSpaceGuid.PcdEmuVirtualDisk|L"disk.dmg:FW"
    219   gEmulatorPkgTokenSpaceGuid.PcdEmuGop|L"GOP Window"
    220   gEmulatorPkgTokenSpaceGuid.PcdEmuFileSystem|L".!../../../../EdkShellBinPkg/Bin"
    221   gEmulatorPkgTokenSpaceGuid.PcdEmuSerialPort|L"/dev/ttyS0"
    222   gEmulatorPkgTokenSpaceGuid.PcdEmuNetworkInterface|L"en0"
    223 
    224   gEmulatorPkgTokenSpaceGuid.PcdEmuCpuModel|L"Intel(R) Processor Model"
    225   gEmulatorPkgTokenSpaceGuid.PcdEmuCpuSpeed|L"3000"
    226 
    227   #  0-PCANSI, 1-VT100, 2-VT00+, 3-UTF8, 4-TTYTERM

    228   gEfiMdePkgTokenSpaceGuid.PcdDefaultTerminalType|1
    229 
    230 [PcdsDynamicDefault.common.DEFAULT]
    231   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase64|0
    232   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64|0
    233   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0
    234 
    235 [PcdsDynamicHii.common.DEFAULT]
    236   gEfiMdeModulePkgTokenSpaceGuid.PcdConOutColumn|L"Setup"|gEmuSystemConfigGuid|0x0|80
    237   gEfiMdeModulePkgTokenSpaceGuid.PcdConOutRow|L"Setup"|gEmuSystemConfigGuid|0x4|25
    238 
    239 
    240 [Components]
    241 !ifdef $(UNIX_SEC_BUILD)
    242   ##

    243   #  Emulator, OS POSIX application

    244   ##

    245   EmulatorPkg/Unix/Host/Host.inf
    246 !endif
    247 
    248 !ifndef $(SKIP_MAIN_BUILD)
    249   #

    250   # Generic SEC

    251   #

    252   EmulatorPkg/Sec/Sec.inf
    253 
    254   ##

    255   #  PEI Phase modules

    256   ##

    257   MdeModulePkg/Core/Pei/PeiMain.inf
    258   MdeModulePkg/Universal/PCD/Pei/Pcd.inf  {
    259    <LibraryClasses>
    260       PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
    261   }
    262   MdeModulePkg/Universal/ReportStatusCodeRouter/Pei/ReportStatusCodeRouterPei.inf
    263   MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCodeHandlerPei.inf
    264 
    265   IntelFrameworkModulePkg/Universal/StatusCode/Pei/StatusCodePei.inf
    266   EmulatorPkg/BootModePei/BootModePei.inf
    267   MdeModulePkg/Universal/FaultTolerantWritePei/FaultTolerantWritePei.inf
    268   MdeModulePkg/Universal/Variable/Pei/VariablePei.inf
    269   EmulatorPkg/AutoScanPei/AutoScanPei.inf
    270   EmulatorPkg/FirmwareVolumePei/FirmwareVolumePei.inf
    271   EmulatorPkg/FlashMapPei/FlashMapPei.inf
    272   EmulatorPkg/ThunkPpiToProtocolPei/ThunkPpiToProtocolPei.inf
    273   MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf
    274 
    275   ##

    276   #  DXE Phase modules

    277   ##

    278   MdeModulePkg/Core/Dxe/DxeMain.inf {
    279     <LibraryClasses>
    280       DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
    281       SerialPortLib|EmulatorPkg/Library/DxeEmuStdErrSerialPortLib/DxeEmuStdErrSerialPortLib.inf
    282       DxeEmuLib|EmulatorPkg/Library/DxeEmuLib/DxeEmuLib.inf
    283       NULL|MdeModulePkg/Library/DxeCrc32GuidedSectionExtractLib/DxeCrc32GuidedSectionExtractLib.inf
    284       NULL|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
    285   }
    286   MdeModulePkg/Universal/PCD/Dxe/Pcd.inf {
    287     <LibraryClasses>
    288       PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
    289   }
    290 
    291   MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe.inf
    292   MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf {
    293    <LibraryClasses>
    294       DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
    295       SerialPortLib|EmulatorPkg/Library/DxeEmuStdErrSerialPortLib/DxeEmuStdErrSerialPortLib.inf
    296   }
    297 
    298   MdeModulePkg/Universal/Metronome/Metronome.inf
    299   EmulatorPkg/RealTimeClockRuntimeDxe/RealTimeClock.inf
    300   EmulatorPkg/ResetRuntimeDxe/Reset.inf
    301   MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
    302   EmulatorPkg/FvbServicesRuntimeDxe/FvbServicesRuntimeDxe.inf
    303   MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
    304   MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
    305   MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf
    306   EmulatorPkg/EmuThunkDxe/EmuThunk.inf
    307   EmulatorPkg/CpuRuntimeDxe/Cpu.inf
    308   MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf
    309   EmulatorPkg/PlatformSmbiosDxe/PlatformSmbiosDxe.inf
    310   EmulatorPkg/TimerDxe/Timer.inf
    311 
    312 
    313   MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf {
    314     <LibraryClasses>
    315       NULL|MdeModulePkg/Library/VarCheckUefiLib/VarCheckUefiLib.inf
    316   }
    317   MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
    318   MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf
    319   MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
    320   MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
    321   MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
    322   MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
    323   MdeModulePkg/Universal/SerialDxe/SerialDxe.inf {
    324    <LibraryClasses>
    325       DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
    326       SerialPortLib|EmulatorPkg/Library/DxeEmuSerialPortLib/DxeEmuSerialPortLib.inf
    327   }
    328 
    329   MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
    330   IntelFrameworkModulePkg/Universal/BdsDxe/BdsDxe.inf
    331   MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
    332   #{

    333   #  <LibraryClasses>

    334   #    NULL|EmulatorPkg/Library/DevicePathTextLib/DevicePathTextLib.inf

    335   #}

    336 
    337   MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
    338   MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
    339   MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
    340   MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf
    341   MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf
    342   MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf
    343   IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/IdeBusDxe.inf
    344 
    345   EmulatorPkg/EmuBusDriverDxe/EmuBusDriverDxe.inf
    346   EmulatorPkg/EmuGopDxe/EmuGopDxe.inf
    347   EmulatorPkg/EmuSimpleFileSystemDxe/EmuSimpleFileSystemDxe.inf
    348   EmulatorPkg/EmuBlockIoDxe/EmuBlockIoDxe.inf
    349   EmulatorPkg/EmuSnpDxe/EmuSnpDxe.inf
    350 
    351   MdeModulePkg/Application/HelloWorld/HelloWorld.inf
    352 
    353   #

    354   # Network stack drivers

    355   #

    356   MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
    357   MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
    358   MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
    359   MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
    360   MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
    361   MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
    362   MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
    363   MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
    364   MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf
    365 
    366   MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf
    367   MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
    368   MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
    369   MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
    370   MdeModulePkg/Universal/PrintDxe/PrintDxe.inf
    371   MdeModulePkg/Universal/DriverSampleDxe/DriverSampleDxe.inf {
    372     <LibraryClasses>
    373       PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
    374   }
    375 
    376   FatPkg/EnhancedFatDxe/Fat.inf
    377 
    378 !ifndef $(USE_OLD_SHELL)
    379   ShellPkg/Application/Shell/Shell.inf {
    380     <LibraryClasses>
    381       ShellCommandLib|ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.inf
    382       NULL|ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.inf
    383       NULL|ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.inf
    384       NULL|ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.inf
    385       NULL|ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.inf
    386       NULL|ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.inf
    387       NULL|ShellPkg/Library/UefiShellInstall1CommandsLib/UefiShellInstall1CommandsLib.inf
    388       NULL|ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.inf
    389       NULL|ShellPkg/Library/UefiShellTftpCommandLib/UefiShellTftpCommandLib.inf
    390       HandleParsingLib|ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.inf
    391       ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf
    392       FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
    393       SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf
    394       PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
    395 #      SafeBlockIoLib|ShellPkg/Library/SafeBlockIoLib/SafeBlockIoLib.inf

    396 #      SafeOpenProtocolLib|ShellPkg/Library/SafeOpenProtocolLib/SafeOpenProtocolLib.inf

    397       BcfgCommandLib|ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.inf
    398       IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
    399 
    400     <PcdsFixedAtBuild>
    401       gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0xFF
    402       gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
    403       gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|8000
    404   }
    405 !endif
    406 
    407 !endif
    408 
    409