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

      2 #  EFI/Framework Open Virtual Machine Firmware (OVMF) platform

      3 #

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

      5 #

      6 #  This program and the accompanying materials

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

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

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

     10 #

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

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

     13 #

     14 ##

     15 
     16 ################################################################################

     17 #

     18 # Defines Section - statements that will be processed to create a Makefile.

     19 #

     20 ################################################################################

     21 [Defines]
     22   PLATFORM_NAME                  = Ovmf
     23   PLATFORM_GUID                  = 5a9e7754-d81b-49ea-85ad-69eaa7b1539b
     24   PLATFORM_VERSION               = 0.1
     25   DSC_SPECIFICATION              = 0x00010005
     26   OUTPUT_DIRECTORY               = Build/Ovmf3264
     27   SUPPORTED_ARCHITECTURES        = IA32|X64
     28   BUILD_TARGETS                  = DEBUG|RELEASE
     29   SKUID_IDENTIFIER               = DEFAULT
     30   FLASH_DEFINITION               = OvmfPkg/OvmfPkgIa32X64.fdf
     31 
     32   #

     33   # Defines for default states.  These can be changed on the command line.

     34   # -D FLAG=VALUE

     35   #

     36   DEFINE SECURE_BOOT_ENABLE      = FALSE
     37   DEFINE NETWORK_IP6_ENABLE      = FALSE
     38   DEFINE HTTP_BOOT_ENABLE        = FALSE
     39   DEFINE SMM_REQUIRE             = FALSE
     40 
     41 [BuildOptions]
     42   GCC:*_UNIXGCC_*_CC_FLAGS             = -DMDEPKG_NDEBUG
     43   GCC:RELEASE_*_*_CC_FLAGS             = -DMDEPKG_NDEBUG
     44   INTEL:RELEASE_*_*_CC_FLAGS           = /D MDEPKG_NDEBUG
     45   MSFT:RELEASE_*_*_CC_FLAGS            = /D MDEPKG_NDEBUG
     46   GCC:*_*_*_CC_FLAGS                   = -mno-mmx -mno-sse
     47 !ifdef $(SOURCE_DEBUG_ENABLE)
     48   MSFT:*_*_X64_GENFW_FLAGS  = --keepexceptiontable
     49   GCC:*_*_X64_GENFW_FLAGS   = --keepexceptiontable
     50   INTEL:*_*_X64_GENFW_FLAGS = --keepexceptiontable
     51 !endif
     52 
     53 [BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER]
     54   GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000
     55   
     56 ################################################################################

     57 #

     58 # SKU Identification section - list of all SKU IDs supported by this Platform.

     59 #

     60 ################################################################################

     61 [SkuIds]
     62   0|DEFAULT
     63 
     64 ################################################################################

     65 #

     66 # Library Class section - list of all Library Classes needed by this Platform.

     67 #

     68 ################################################################################

     69 [LibraryClasses]
     70   PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
     71   TimerLib|OvmfPkg/Library/AcpiTimerLib/BaseAcpiTimerLib.inf
     72   PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
     73   BaseMemoryLib|MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf
     74   BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
     75   SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf
     76   CpuLib|MdePkg/Library/BaseCpuLib/BaseCpuLib.inf
     77   PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf
     78   PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
     79   CacheMaintenanceLib|MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.inf
     80   UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf
     81   UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf
     82   HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
     83   GenericBdsLib|IntelFrameworkModulePkg/Library/GenericBdsLib/GenericBdsLib.inf
     84   CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
     85   DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
     86   DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
     87   PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
     88   PciCf8Lib|MdePkg/Library/BasePciCf8Lib/BasePciCf8Lib.inf
     89   PciLib|MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf
     90   IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
     91   OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
     92   SerialPortLib|PcAtChipsetPkg/Library/SerialIoLib/SerialIoLib.inf
     93   MtrrLib|UefiCpuPkg/Library/MtrrLib/MtrrLib.inf
     94   UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
     95   UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
     96   UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
     97   UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
     98   UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf
     99   DevicePathLib|MdePkg/Library/UefiDevicePathLibDevicePathProtocol/UefiDevicePathLibDevicePathProtocol.inf
    100   NvVarsFileLib|OvmfPkg/Library/NvVarsFileLib/NvVarsFileLib.inf
    101   FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
    102   UefiCpuLib|UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.inf
    103   SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf
    104   NetLib|MdeModulePkg/Library/DxeNetLib/DxeNetLib.inf
    105   IpIoLib|MdeModulePkg/Library/DxeIpIoLib/DxeIpIoLib.inf
    106   UdpIoLib|MdeModulePkg/Library/DxeUdpIoLib/DxeUdpIoLib.inf
    107   DpcLib|MdeModulePkg/Library/DxeDpcLib/DxeDpcLib.inf
    108   UefiUsbLib|MdePkg/Library/UefiUsbLib/UefiUsbLib.inf
    109   SerializeVariablesLib|OvmfPkg/Library/SerializeVariablesLib/SerializeVariablesLib.inf
    110   QemuFwCfgLib|OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgLib.inf
    111   VirtioLib|OvmfPkg/Library/VirtioLib/VirtioLib.inf
    112   LoadLinuxLib|OvmfPkg/Library/LoadLinuxLib/LoadLinuxLib.inf
    113 !if $(SMM_REQUIRE) == FALSE
    114   LockBoxLib|OvmfPkg/Library/LockBoxLib/LockBoxBaseLib.inf
    115 !endif
    116   CustomizedDisplayLib|MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.inf
    117 
    118 !ifdef $(SOURCE_DEBUG_ENABLE)
    119   PeCoffExtraActionLib|SourceLevelDebugPkg/Library/PeCoffExtraActionLibDebug/PeCoffExtraActionLibDebug.inf
    120   DebugCommunicationLib|SourceLevelDebugPkg/Library/DebugCommunicationLibSerialPort/DebugCommunicationLibSerialPort.inf
    121 !else
    122   PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf
    123   DebugAgentLib|MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf
    124 !endif
    125 
    126   ResetSystemLib|OvmfPkg/Library/ResetSystemLib/ResetSystemLib.inf
    127   LocalApicLib|UefiCpuPkg/Library/BaseXApicX2ApicLib/BaseXApicX2ApicLib.inf
    128   DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf
    129 
    130 !if $(SECURE_BOOT_ENABLE) == TRUE
    131   PlatformSecureLib|OvmfPkg/Library/PlatformSecureLib/PlatformSecureLib.inf
    132   IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
    133   OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf
    134   TpmMeasurementLib|SecurityPkg/Library/DxeTpmMeasurementLib/DxeTpmMeasurementLib.inf
    135   AuthVariableLib|SecurityPkg/Library/AuthVariableLib/AuthVariableLib.inf
    136 !if $(NETWORK_IP6_ENABLE) == TRUE
    137   TcpIoLib|MdeModulePkg/Library/DxeTcpIoLib/DxeTcpIoLib.inf
    138 !endif
    139 !else
    140   TpmMeasurementLib|MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurementLibNull.inf
    141   AuthVariableLib|MdeModulePkg/Library/AuthVariableLibNull/AuthVariableLibNull.inf
    142 !endif
    143   VarCheckLib|MdeModulePkg/Library/VarCheckLib/VarCheckLib.inf
    144 
    145 !if $(HTTP_BOOT_ENABLE) == TRUE
    146   HttpLib|MdeModulePkg/Library/DxeHttpLib/DxeHttpLib.inf
    147 !endif
    148 
    149   S3BootScriptLib|MdeModulePkg/Library/PiDxeS3BootScriptLib/DxeS3BootScriptLib.inf
    150   SmbusLib|MdePkg/Library/BaseSmbusLibNull/BaseSmbusLibNull.inf
    151   OrderedCollectionLib|MdePkg/Library/BaseOrderedCollectionRedBlackTreeLib/BaseOrderedCollectionRedBlackTreeLib.inf
    152   XenHypercallLib|OvmfPkg/Library/XenHypercallLib/XenHypercallLib.inf
    153 
    154 [LibraryClasses.common]
    155 !if $(SECURE_BOOT_ENABLE) == TRUE
    156   BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
    157 !endif
    158 
    159 [LibraryClasses.common.SEC]
    160   TimerLib|OvmfPkg/Library/AcpiTimerLib/BaseRomAcpiTimerLib.inf
    161   QemuFwCfgLib|OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgSecLib.inf
    162 !ifdef $(DEBUG_ON_SERIAL_PORT)
    163   DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
    164 !else
    165   DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformDebugLibIoPort.inf
    166 !endif
    167   ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
    168   ExtractGuidedSectionLib|MdePkg/Library/BaseExtractGuidedSectionLib/BaseExtractGuidedSectionLib.inf
    169 !ifdef $(SOURCE_DEBUG_ENABLE)
    170   DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/SecPeiDebugAgentLib.inf
    171 !endif
    172   HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
    173   PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
    174   PeiServicesTablePointerLib|MdePkg/Library/PeiServicesTablePointerLibIdt/PeiServicesTablePointerLibIdt.inf
    175   MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
    176   CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/SecPeiCpuExceptionHandlerLib.inf
    177 
    178 [LibraryClasses.common.PEI_CORE]
    179   HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
    180   PeiServicesTablePointerLib|MdePkg/Library/PeiServicesTablePointerLibIdt/PeiServicesTablePointerLibIdt.inf
    181   PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
    182   MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
    183   PeiCoreEntryPoint|MdePkg/Library/PeiCoreEntryPoint/PeiCoreEntryPoint.inf
    184   ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
    185   OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
    186   PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
    187 !ifdef $(DEBUG_ON_SERIAL_PORT)
    188   DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
    189 !else
    190   DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformDebugLibIoPort.inf
    191 !endif
    192   PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
    193 
    194 [LibraryClasses.common.PEIM]
    195   HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
    196   PeiServicesTablePointerLib|MdePkg/Library/PeiServicesTablePointerLibIdt/PeiServicesTablePointerLibIdt.inf
    197   PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
    198   MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
    199   PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf
    200   ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
    201   OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
    202   PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
    203 !ifdef $(DEBUG_ON_SERIAL_PORT)
    204   DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
    205 !else
    206   DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformDebugLibIoPort.inf
    207 !endif
    208   PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
    209   PeiResourcePublicationLib|MdePkg/Library/PeiResourcePublicationLib/PeiResourcePublicationLib.inf
    210   ExtractGuidedSectionLib|MdePkg/Library/PeiExtractGuidedSectionLib/PeiExtractGuidedSectionLib.inf
    211 !ifdef $(SOURCE_DEBUG_ENABLE)
    212   DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/SecPeiDebugAgentLib.inf
    213 !endif
    214 
    215 [LibraryClasses.common.DXE_CORE]
    216   HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf
    217   DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
    218   MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf
    219   ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
    220 !ifdef $(DEBUG_ON_SERIAL_PORT)
    221   DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
    222 !else
    223   DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformDebugLibIoPort.inf
    224 !endif
    225   ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
    226 !ifdef $(SOURCE_DEBUG_ENABLE)
    227   DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf
    228 !endif
    229   CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf
    230   PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
    231 
    232 [LibraryClasses.common.DXE_RUNTIME_DRIVER]
    233   PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
    234   TimerLib|OvmfPkg/Library/AcpiTimerLib/DxeAcpiTimerLib.inf
    235   HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
    236   DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
    237   MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
    238   ReportStatusCodeLib|MdeModulePkg/Library/RuntimeDxeReportStatusCodeLib/RuntimeDxeReportStatusCodeLib.inf
    239 !ifdef $(DEBUG_ON_SERIAL_PORT)
    240   DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
    241 !else
    242   DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformDebugLibIoPort.inf
    243 !endif
    244   UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
    245 !if $(SECURE_BOOT_ENABLE) == TRUE
    246   BaseCryptLib|CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf
    247 !endif
    248 
    249 [LibraryClasses.common.UEFI_DRIVER]
    250   PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
    251   TimerLib|OvmfPkg/Library/AcpiTimerLib/DxeAcpiTimerLib.inf
    252   HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
    253   DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
    254   MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
    255   ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
    256 !ifdef $(DEBUG_ON_SERIAL_PORT)
    257   DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
    258 !else
    259   DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformDebugLibIoPort.inf
    260 !endif
    261   UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf
    262 
    263 [LibraryClasses.common.DXE_DRIVER]
    264   PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
    265   TimerLib|OvmfPkg/Library/AcpiTimerLib/DxeAcpiTimerLib.inf
    266   HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
    267   MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
    268   ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
    269   UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf
    270 !ifdef $(DEBUG_ON_SERIAL_PORT)
    271   DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
    272 !else
    273   DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformDebugLibIoPort.inf
    274 !endif
    275   NetLib|MdeModulePkg/Library/DxeNetLib/DxeNetLib.inf
    276   IpIoLib|MdeModulePkg/Library/DxeIpIoLib/DxeIpIoLib.inf
    277   UdpIoLib|MdeModulePkg/Library/DxeUdpIoLib/DxeUdpIoLib.inf
    278   DpcLib|MdeModulePkg/Library/DxeDpcLib/DxeDpcLib.inf
    279   PlatformBdsLib|OvmfPkg/Library/PlatformBdsLib/PlatformBdsLib.inf
    280   CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf
    281 !if $(SMM_REQUIRE) == TRUE
    282   LockBoxLib|MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxDxeLib.inf
    283 !else
    284   LockBoxLib|OvmfPkg/Library/LockBoxLib/LockBoxDxeLib.inf
    285 !endif
    286 !ifdef $(SOURCE_DEBUG_ENABLE)
    287   DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf
    288 !endif
    289   QemuBootOrderLib|OvmfPkg/Library/QemuBootOrderLib/QemuBootOrderLib.inf
    290 
    291 [LibraryClasses.common.UEFI_APPLICATION]
    292   PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
    293   TimerLib|OvmfPkg/Library/AcpiTimerLib/DxeAcpiTimerLib.inf
    294   HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
    295   MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
    296 !ifdef $(DEBUG_ON_SERIAL_PORT)
    297   DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
    298 !else
    299   DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformDebugLibIoPort.inf
    300 !endif
    301 
    302 [LibraryClasses.common.DXE_SMM_DRIVER]
    303   PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
    304   TimerLib|OvmfPkg/Library/AcpiTimerLib/DxeAcpiTimerLib.inf
    305   MemoryAllocationLib|MdePkg/Library/SmmMemoryAllocationLib/SmmMemoryAllocationLib.inf
    306   ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
    307   HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
    308   SmmMemLib|MdePkg/Library/SmmMemLib/SmmMemLib.inf
    309   SmmServicesTableLib|MdePkg/Library/SmmServicesTableLib/SmmServicesTableLib.inf
    310 !ifdef $(DEBUG_ON_SERIAL_PORT)
    311   DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
    312 !else
    313   DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformDebugLibIoPort.inf
    314 !endif
    315   CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/SmmCpuExceptionHandlerLib.inf
    316 !ifdef $(SOURCE_DEBUG_ENABLE)
    317   DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/SmmDebugAgentLib.inf
    318 !endif
    319   BaseCryptLib|CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf
    320 
    321 [LibraryClasses.common.SMM_CORE]
    322   PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
    323   TimerLib|OvmfPkg/Library/AcpiTimerLib/DxeAcpiTimerLib.inf
    324   SmmCorePlatformHookLib|MdeModulePkg/Library/SmmCorePlatformHookLibNull/SmmCorePlatformHookLibNull.inf
    325   MemoryAllocationLib|MdeModulePkg/Library/PiSmmCoreMemoryAllocationLib/PiSmmCoreMemoryAllocationLib.inf
    326   ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
    327   HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
    328   SmmMemLib|MdePkg/Library/SmmMemLib/SmmMemLib.inf
    329   SmmServicesTableLib|MdeModulePkg/Library/PiSmmCoreSmmServicesTableLib/PiSmmCoreSmmServicesTableLib.inf
    330 !ifdef $(DEBUG_ON_SERIAL_PORT)
    331   DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
    332 !else
    333   DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformDebugLibIoPort.inf
    334 !endif
    335 
    336 ################################################################################

    337 #

    338 # Pcd Section - list of all EDK II PCD Entries defined by this Platform.

    339 #

    340 ################################################################################

    341 [PcdsFeatureFlag]
    342   gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseSerial|FALSE
    343   gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseMemory|TRUE
    344   gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSupportUefiDecompress|FALSE
    345   gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode|TRUE
    346   gEfiMdeModulePkgTokenSpaceGuid.PcdConOutGopSupport|TRUE
    347   gEfiMdeModulePkgTokenSpaceGuid.PcdConOutUgaSupport|FALSE
    348 !if $(SECURE_BOOT_ENABLE) == TRUE
    349   gUefiOvmfPkgTokenSpaceGuid.PcdSecureBootEnable|TRUE
    350 !endif
    351 !if $(SMM_REQUIRE) == TRUE
    352   gUefiOvmfPkgTokenSpaceGuid.PcdSmmSmramRequire|TRUE
    353   gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmEnableBspElection|FALSE
    354 !endif
    355 
    356 [PcdsFixedAtBuild]
    357   gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeMemorySize|1
    358   gEfiMdeModulePkgTokenSpaceGuid.PcdResetOnMemoryTypeInformationChange|FALSE
    359   gEfiMdePkgTokenSpaceGuid.PcdMaximumGuidedExtractHandler|0x10
    360   gEfiMdeModulePkgTokenSpaceGuid.PcdPeiCoreMaxFvSupported|6
    361   gEfiMdeModulePkgTokenSpaceGuid.PcdPeiCoreMaxPeimPerFv|32
    362   gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize|0x2000
    363   gEfiMdeModulePkgTokenSpaceGuid.PcdMaxHardwareErrorVariableSize|0x8000
    364   gEfiMdeModulePkgTokenSpaceGuid.PcdVariableStoreSize|0xe000
    365 
    366   gEfiMdeModulePkgTokenSpaceGuid.PcdVpdBaseAddress|0x0
    367 
    368   gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x07
    369   gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
    370 !ifdef $(SOURCE_DEBUG_ENABLE)
    371   gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x17
    372 !else
    373   gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2F
    374 !endif
    375 
    376 !ifdef $(SOURCE_DEBUG_ENABLE)
    377   gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdDebugLoadImageMethod|0x2
    378 !endif
    379 
    380 !ifndef $(USE_OLD_SHELL)
    381   gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdShellFile|{ 0x83, 0xA5, 0x04, 0x7C, 0x3E, 0x9E, 0x1C, 0x4F, 0xAD, 0x65, 0xE0, 0x52, 0x68, 0xD0, 0xB4, 0xD1 }
    382 !endif
    383 
    384 [PcdsFixedAtBuild.X64]
    385 !if $(SMM_REQUIRE) == TRUE
    386   gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmSyncMode|0x01
    387   gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmApSyncTimeout|100000
    388 !endif
    389 
    390 !if $(SECURE_BOOT_ENABLE) == TRUE
    391   gEfiSecurityPkgTokenSpaceGuid.PcdOptionRomImageVerificationPolicy|0x00
    392 !endif
    393 
    394   # IRQs 5, 9, 10, 11 are level-triggered

    395   gPcAtChipsetPkgTokenSpaceGuid.Pcd8259LegacyModeEdgeLevel|0x0E20
    396 
    397 ################################################################################

    398 #

    399 # Pcd Dynamic Section - list of all EDK II PCD Entries defined by this Platform

    400 #

    401 ################################################################################

    402 
    403 [PcdsDynamicDefault]
    404   gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0
    405   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0
    406   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase|0
    407   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase|0
    408   gEfiMdeModulePkgTokenSpaceGuid.PcdPciDisableBusEnumeration|FALSE
    409   gEfiMdeModulePkgTokenSpaceGuid.PcdVideoHorizontalResolution|800
    410   gEfiMdeModulePkgTokenSpaceGuid.PcdVideoVerticalResolution|600
    411   gUefiOvmfPkgTokenSpaceGuid.PcdOvmfHostBridgePciDevId|0
    412 
    413   gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|0
    414 
    415   # Set video resolution for text setup.

    416   gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoHorizontalResolution|640
    417   gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoVerticalResolution|480
    418 
    419   gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosVersion|0x0208
    420   gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosDocRev|0x0
    421   gUefiOvmfPkgTokenSpaceGuid.PcdQemuSmbiosValidated|FALSE
    422 
    423   # Noexec settings for DXE.

    424   gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack|FALSE
    425   gEfiMdeModulePkgTokenSpaceGuid.PcdPropertiesTableEnable|FALSE
    426 
    427 ################################################################################

    428 #

    429 # Components Section - list of all EDK II Modules needed by this Platform.

    430 #

    431 ################################################################################

    432 [Components.IA32]
    433   OvmfPkg/ResetVector/ResetVector.inf
    434 
    435   #

    436   # SEC Phase modules

    437   #

    438   OvmfPkg/Sec/SecMain.inf {
    439     <LibraryClasses>
    440       NULL|IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
    441   }
    442 
    443   #

    444   # PEI Phase modules

    445   #

    446   MdeModulePkg/Core/Pei/PeiMain.inf
    447   MdeModulePkg/Universal/PCD/Pei/Pcd.inf  {
    448     <LibraryClasses>
    449       PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
    450   }
    451   IntelFrameworkModulePkg/Universal/StatusCode/Pei/StatusCodePei.inf
    452   MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf {
    453     <LibraryClasses>
    454       PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf
    455   }
    456 
    457   OvmfPkg/PlatformPei/PlatformPei.inf {
    458     <LibraryClasses>
    459       PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf
    460   }
    461   UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume2Pei.inf {
    462     <LibraryClasses>
    463       PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf
    464 !if $(SMM_REQUIRE) == TRUE
    465       LockBoxLib|MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxPeiLib.inf
    466 !endif
    467   }
    468 !if $(SMM_REQUIRE) == TRUE
    469   OvmfPkg/SmmAccess/SmmAccessPei.inf {
    470     <LibraryClasses>
    471       PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf
    472   }
    473 !endif
    474 
    475 [Components.X64]
    476   #

    477   # DXE Phase modules

    478   #

    479   MdeModulePkg/Core/Dxe/DxeMain.inf {
    480     <LibraryClasses>
    481       NULL|IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
    482       DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
    483   }
    484 
    485   IntelFrameworkModulePkg/Universal/StatusCode/RuntimeDxe/StatusCodeRuntimeDxe.inf
    486   MdeModulePkg/Universal/PCD/Dxe/Pcd.inf  {
    487    <LibraryClasses>
    488       PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
    489   }
    490 
    491   MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
    492 
    493 !if $(SECURE_BOOT_ENABLE) == TRUE
    494   MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf {
    495     <LibraryClasses>
    496       NULL|SecurityPkg/Library/DxeImageVerificationLib/DxeImageVerificationLib.inf
    497 	}
    498 !else
    499   MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
    500 !endif
    501 
    502   MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
    503   PcAtChipsetPkg/8259InterruptControllerDxe/8259.inf
    504   UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
    505   UefiCpuPkg/CpuDxe/CpuDxe.inf
    506   PcAtChipsetPkg/8254TimerDxe/8254Timer.inf
    507   OvmfPkg/PciHostBridgeDxe/PciHostBridgeDxe.inf
    508   MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf {
    509     <LibraryClasses>
    510       PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
    511   }
    512   PcAtChipsetPkg/KbcResetDxe/Reset.inf
    513   MdeModulePkg/Universal/Metronome/Metronome.inf
    514   PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf
    515   IntelFrameworkModulePkg/Universal/BdsDxe/BdsDxe.inf {
    516     <LibraryClasses>
    517 !ifdef $(CSM_ENABLE)
    518       NULL|OvmfPkg/Csm/CsmSupportLib/CsmSupportLib.inf
    519 !endif
    520   }
    521 
    522   OvmfPkg/BlockMmioToBlockIoDxe/BlockIo.inf
    523   OvmfPkg/VirtioPciDeviceDxe/VirtioPciDeviceDxe.inf
    524   OvmfPkg/VirtioBlkDxe/VirtioBlk.inf
    525   OvmfPkg/VirtioScsiDxe/VirtioScsi.inf
    526   OvmfPkg/XenIoPciDxe/XenIoPciDxe.inf
    527   OvmfPkg/XenBusDxe/XenBusDxe.inf
    528   OvmfPkg/XenPvBlkDxe/XenPvBlkDxe.inf
    529   MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
    530   MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf
    531   MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
    532   MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
    533   MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
    534   MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf {
    535     <LibraryClasses>
    536       PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
    537   }
    538   MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
    539   MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf {
    540     <LibraryClasses>
    541       DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
    542       PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
    543   }
    544   MdeModulePkg/Universal/PrintDxe/PrintDxe.inf
    545   MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
    546   MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
    547   MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
    548   MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf
    549   MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf
    550   OvmfPkg/SataControllerDxe/SataControllerDxe.inf
    551   MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf
    552   MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf
    553   MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
    554   MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
    555   MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
    556   MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf
    557 
    558   OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf {
    559     <LibraryClasses>
    560       BltLib|OptionRomPkg/Library/FrameBufferBltLib/FrameBufferBltLib.inf
    561   }
    562 
    563   #

    564   # ISA Support

    565   #

    566   PcAtChipsetPkg/IsaAcpiDxe/IsaAcpi.inf
    567   IntelFrameworkModulePkg/Bus/Isa/IsaBusDxe/IsaBusDxe.inf
    568   IntelFrameworkModulePkg/Bus/Isa/IsaSerialDxe/IsaSerialDxe.inf
    569   IntelFrameworkModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2keyboardDxe.inf
    570   IntelFrameworkModulePkg/Bus/Isa/IsaFloppyDxe/IsaFloppyDxe.inf
    571 
    572   #

    573   # SMBIOS Support

    574   #

    575   MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf {
    576     <LibraryClasses>
    577       NULL|OvmfPkg/Library/SmbiosVersionLib/DetectSmbiosVersionLib.inf
    578   }
    579   OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.inf
    580 
    581   #

    582   # ACPI Support

    583   #

    584   MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf
    585   OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf
    586   OvmfPkg/AcpiTables/AcpiTables.inf
    587   OvmfPkg/AcpiS3SaveDxe/AcpiS3SaveDxe.inf
    588   MdeModulePkg/Universal/Acpi/S3SaveStateDxe/S3SaveStateDxe.inf
    589   MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/BootScriptExecutorDxe.inf
    590 
    591   #

    592   # Network Support

    593   #

    594   MdeModulePkg/Universal/Network/SnpDxe/SnpDxe.inf
    595   MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
    596   MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
    597   MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
    598   MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
    599   MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
    600   MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
    601   MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
    602   MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf
    603 !if $(NETWORK_IP6_ENABLE) == TRUE
    604   NetworkPkg/Ip6Dxe/Ip6Dxe.inf
    605   NetworkPkg/TcpDxe/TcpDxe.inf
    606   NetworkPkg/Udp6Dxe/Udp6Dxe.inf
    607   NetworkPkg/Dhcp6Dxe/Dhcp6Dxe.inf
    608   NetworkPkg/Mtftp6Dxe/Mtftp6Dxe.inf
    609   NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf
    610 !if $(SECURE_BOOT_ENABLE) == TRUE
    611   NetworkPkg/IScsiDxe/IScsiDxe.inf
    612 !else
    613   MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf
    614 !endif
    615 !else
    616   MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
    617   MdeModulePkg/Universal/Network/UefiPxeBcDxe/UefiPxeBcDxe.inf
    618   MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf
    619 !endif
    620 !if $(HTTP_BOOT_ENABLE) == TRUE
    621   NetworkPkg/DnsDxe/DnsDxe.inf
    622   NetworkPkg/HttpUtilitiesDxe/HttpUtilitiesDxe.inf
    623   NetworkPkg/HttpDxe/HttpDxe.inf
    624   NetworkPkg/HttpBootDxe/HttpBootDxe.inf
    625 !endif
    626   OvmfPkg/VirtioNetDxe/VirtioNet.inf
    627 
    628   #

    629   # Usb Support

    630   #

    631   MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf
    632   MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf
    633   MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf
    634   MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
    635   MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf
    636   MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
    637 
    638 !ifdef $(CSM_ENABLE)
    639   IntelFrameworkModulePkg/Csm/BiosThunk/VideoDxe/VideoDxe.inf {
    640     <LibraryClasses>
    641       PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
    642   }
    643   IntelFrameworkModulePkg/Csm/LegacyBiosDxe/LegacyBiosDxe.inf
    644   OvmfPkg/Csm/Csm16/Csm16.inf
    645 !endif
    646 
    647 !ifndef $(USE_OLD_SHELL)
    648   ShellPkg/Application/Shell/Shell.inf {
    649     <LibraryClasses>
    650       ShellCommandLib|ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.inf
    651       NULL|ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.inf
    652       NULL|ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.inf
    653       NULL|ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.inf
    654       NULL|ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.inf
    655       NULL|ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.inf
    656       NULL|ShellPkg/Library/UefiShellInstall1CommandsLib/UefiShellInstall1CommandsLib.inf
    657       NULL|ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.inf
    658       NULL|ShellPkg/Library/UefiShellTftpCommandLib/UefiShellTftpCommandLib.inf
    659       HandleParsingLib|ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.inf
    660       ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf
    661       FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
    662       SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf
    663       PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
    664 #      SafeBlockIoLib|ShellPkg/Library/SafeBlockIoLib/SafeBlockIoLib.inf

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

    666       BcfgCommandLib|ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.inf
    667 
    668     <PcdsFixedAtBuild>
    669       gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0xFF
    670       gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
    671       gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|8000
    672   }
    673 !endif
    674 
    675 !if $(SECURE_BOOT_ENABLE) == TRUE
    676   SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe.inf
    677 !endif
    678 
    679   OvmfPkg/PlatformDxe/Platform.inf
    680 
    681 !if $(SMM_REQUIRE) == TRUE
    682   OvmfPkg/SmmAccess/SmmAccess2Dxe.inf
    683   OvmfPkg/SmmControl2Dxe/SmmControl2Dxe.inf
    684   UefiCpuPkg/CpuS3DataDxe/CpuS3DataDxe.inf
    685 
    686   #

    687   # SMM Initial Program Load (a DXE_RUNTIME_DRIVER)

    688   #

    689   MdeModulePkg/Core/PiSmmCore/PiSmmIpl.inf
    690 
    691   #

    692   # SMM_CORE

    693   #

    694   MdeModulePkg/Core/PiSmmCore/PiSmmCore.inf
    695 
    696   #

    697   # Privileged drivers (DXE_SMM_DRIVER modules)

    698   #

    699   UefiCpuPkg/CpuIo2Smm/CpuIo2Smm.inf
    700   MdeModulePkg/Universal/LockBox/SmmLockBox/SmmLockBox.inf {
    701     <LibraryClasses>
    702       LockBoxLib|MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxSmmLib.inf
    703   }
    704   UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf {
    705     <LibraryClasses>
    706       SmmCpuPlatformHookLib|UefiCpuPkg/Library/SmmCpuPlatformHookLibNull/SmmCpuPlatformHookLibNull.inf
    707       SmmCpuFeaturesLib|OvmfPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLib.inf
    708   }
    709 
    710   #

    711   # Variable driver stack (SMM)

    712   #

    713   OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FvbServicesSmm.inf
    714   MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteSmm.inf
    715   MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmm.inf {
    716     <LibraryClasses>
    717       NULL|MdeModulePkg/Library/VarCheckUefiLib/VarCheckUefiLib.inf
    718   }
    719   MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmmRuntimeDxe.inf
    720 
    721 !else
    722 
    723   #

    724   # Variable driver stack (non-SMM)

    725   #

    726   OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FvbServicesRuntimeDxe.inf
    727   OvmfPkg/EmuVariableFvbRuntimeDxe/Fvb.inf {
    728     <LibraryClasses>
    729       PlatformFvbLib|OvmfPkg/Library/EmuVariableFvbLib/EmuVariableFvbLib.inf
    730   }
    731   MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf
    732   MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf {
    733     <LibraryClasses>
    734       NULL|MdeModulePkg/Library/VarCheckUefiLib/VarCheckUefiLib.inf
    735   }
    736 !endif
    737