#\r
DEFINE SECURE_BOOT_ENABLE = FALSE\r
DEFINE SMM_REQUIRE = FALSE\r
+ DEFINE SOURCE_DEBUG_ENABLE = FALSE\r
DEFINE TPM2_ENABLE = FALSE\r
DEFINE TPM2_CONFIG_ENABLE = FALSE\r
- DEFINE USE_LEGACY_ISA_STACK = FALSE\r
\r
#\r
# Network definition\r
GCC:RELEASE_*_*_CC_FLAGS = -DMDEPKG_NDEBUG\r
INTEL:RELEASE_*_*_CC_FLAGS = /D MDEPKG_NDEBUG\r
MSFT:RELEASE_*_*_CC_FLAGS = /D MDEPKG_NDEBUG\r
-!if $(TOOL_CHAIN_TAG) != "XCODE5"\r
+!if $(TOOL_CHAIN_TAG) != "XCODE5" && $(TOOL_CHAIN_TAG) != "CLANGPDB"\r
GCC:*_*_*_CC_FLAGS = -mno-mmx -mno-sse\r
!endif\r
\r
[BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER]\r
GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000\r
XCODE:*_*_*_DLINK_FLAGS =\r
+ CLANGPDB:*_*_*_DLINK_FLAGS = /ALIGN:4096\r
\r
# Force PE/COFF sections to be aligned at 4KB boundaries to support page level\r
# protection of DXE_SMM_DRIVER/SMM_CORE modules\r
[BuildOptions.common.EDKII.DXE_SMM_DRIVER, BuildOptions.common.EDKII.SMM_CORE]\r
GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000\r
XCODE:*_*_*_DLINK_FLAGS =\r
+ CLANGPDB:*_*_*_DLINK_FLAGS = /ALIGN:4096\r
\r
################################################################################\r
#\r
CustomizedDisplayLib|MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.inf\r
FrameBufferBltLib|MdeModulePkg/Library/FrameBufferBltLib/FrameBufferBltLib.inf\r
\r
-!ifdef $(SOURCE_DEBUG_ENABLE)\r
+!if $(SOURCE_DEBUG_ENABLE) == TRUE\r
PeCoffExtraActionLib|SourceLevelDebugPkg/Library/PeCoffExtraActionLibDebug/PeCoffExtraActionLibDebug.inf\r
DebugCommunicationLib|SourceLevelDebugPkg/Library/DebugCommunicationLibSerialPort/DebugCommunicationLibSerialPort.inf\r
!else\r
\r
!if $(SECURE_BOOT_ENABLE) == TRUE\r
PlatformSecureLib|OvmfPkg/Library/PlatformSecureLib/PlatformSecureLib.inf\r
- TpmMeasurementLib|SecurityPkg/Library/DxeTpmMeasurementLib/DxeTpmMeasurementLib.inf\r
AuthVariableLib|SecurityPkg/Library/AuthVariableLib/AuthVariableLib.inf\r
!else\r
- TpmMeasurementLib|MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurementLibNull.inf\r
AuthVariableLib|MdeModulePkg/Library/AuthVariableLibNull/AuthVariableLibNull.inf\r
!endif\r
VarCheckLib|MdeModulePkg/Library/VarCheckLib/VarCheckLib.inf\r
SmbusLib|MdePkg/Library/BaseSmbusLibNull/BaseSmbusLibNull.inf\r
OrderedCollectionLib|MdePkg/Library/BaseOrderedCollectionRedBlackTreeLib/BaseOrderedCollectionRedBlackTreeLib.inf\r
XenHypercallLib|OvmfPkg/Library/XenHypercallLib/XenHypercallLib.inf\r
+ XenPlatformLib|OvmfPkg/Library/XenPlatformLib/XenPlatformLib.inf\r
\r
!if $(TPM2_ENABLE) == TRUE\r
Tpm2CommandLib|SecurityPkg/Library/Tpm2CommandLib/Tpm2CommandLib.inf\r
Tcg2PhysicalPresenceLib|OvmfPkg/Library/Tcg2PhysicalPresenceLibQemu/DxeTcg2PhysicalPresenceLib.inf\r
Tcg2PpVendorLib|SecurityPkg/Library/Tcg2PpVendorLibNull/Tcg2PpVendorLibNull.inf\r
+ TpmMeasurementLib|SecurityPkg/Library/DxeTpmMeasurementLib/DxeTpmMeasurementLib.inf\r
!else\r
Tcg2PhysicalPresenceLib|OvmfPkg/Library/Tcg2PhysicalPresenceLibNull/DxeTcg2PhysicalPresenceLib.inf\r
+ TpmMeasurementLib|MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurementLibNull.inf\r
!endif\r
\r
[LibraryClasses.common]\r
!endif\r
ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf\r
ExtractGuidedSectionLib|MdePkg/Library/BaseExtractGuidedSectionLib/BaseExtractGuidedSectionLib.inf\r
-!ifdef $(SOURCE_DEBUG_ENABLE)\r
+!if $(SOURCE_DEBUG_ENABLE) == TRUE\r
DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/SecPeiDebugAgentLib.inf\r
!endif\r
HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf\r
PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf\r
ResourcePublicationLib|MdePkg/Library/PeiResourcePublicationLib/PeiResourcePublicationLib.inf\r
ExtractGuidedSectionLib|MdePkg/Library/PeiExtractGuidedSectionLib/PeiExtractGuidedSectionLib.inf\r
-!ifdef $(SOURCE_DEBUG_ENABLE)\r
+!if $(SOURCE_DEBUG_ENABLE) == TRUE\r
DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/SecPeiDebugAgentLib.inf\r
!endif\r
CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/PeiCpuExceptionHandlerLib.inf\r
DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformDebugLibIoPort.inf\r
!endif\r
ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf\r
-!ifdef $(SOURCE_DEBUG_ENABLE)\r
+!if $(SOURCE_DEBUG_ENABLE) == TRUE\r
DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf\r
!endif\r
CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf\r
!else\r
LockBoxLib|OvmfPkg/Library/LockBoxLib/LockBoxDxeLib.inf\r
!endif\r
-!ifdef $(SOURCE_DEBUG_ENABLE)\r
+!if $(SOURCE_DEBUG_ENABLE) == TRUE\r
DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf\r
!endif\r
PciLib|OvmfPkg/Library/DxePciLibI440FxQ35/DxePciLibI440FxQ35.inf\r
DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformDebugLibIoPort.inf\r
!endif\r
CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/SmmCpuExceptionHandlerLib.inf\r
-!ifdef $(SOURCE_DEBUG_ENABLE)\r
+!if $(SOURCE_DEBUG_ENABLE) == TRUE\r
DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/SmmDebugAgentLib.inf\r
!endif\r
BaseCryptLib|CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf\r
gEfiMdeModulePkgTokenSpaceGuid.PcdConOutGopSupport|TRUE\r
gEfiMdeModulePkgTokenSpaceGuid.PcdConOutUgaSupport|FALSE\r
gEfiMdeModulePkgTokenSpaceGuid.PcdInstallAcpiSdtProtocol|TRUE\r
+!ifdef $(CSM_ENABLE)\r
+ gUefiOvmfPkgTokenSpaceGuid.PcdCsmEnable|TRUE\r
+!endif\r
!if $(SMM_REQUIRE) == TRUE\r
gUefiOvmfPkgTokenSpaceGuid.PcdSmmSmramRequire|TRUE\r
gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmEnableBspElection|FALSE\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdEnableVariableRuntimeCache|FALSE\r
!endif\r
\r
[PcdsFixedAtBuild]\r
# DEBUG_ERROR 0x80000000 // Error\r
gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F\r
\r
-!ifdef $(SOURCE_DEBUG_ENABLE)\r
+!if $(SOURCE_DEBUG_ENABLE) == TRUE\r
gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x17\r
!else\r
gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2F\r
# the PCIEXBAR register.\r
#\r
# On Q35 machine types that QEMU intends to support in the long term, QEMU\r
- # never lets the RAM below 4 GB exceed 2 GB.\r
- gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0x80000000\r
+ # never lets the RAM below 4 GB exceed 2816 MB.\r
+ gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0xB0000000\r
\r
-!ifdef $(SOURCE_DEBUG_ENABLE)\r
+!if $(SOURCE_DEBUG_ENABLE) == TRUE\r
gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdDebugLoadImageMethod|0x2\r
!endif\r
\r
#\r
!include NetworkPkg/NetworkPcds.dsc.inc\r
\r
- gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdShellFile|{ 0x83, 0xA5, 0x04, 0x7C, 0x3E, 0x9E, 0x1C, 0x4F, 0xAD, 0x65, 0xE0, 0x52, 0x68, 0xD0, 0xB4, 0xD1 }\r
-\r
!if $(SMM_REQUIRE) == TRUE\r
gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmStackSize|0x4000\r
!endif\r
\r
# UefiCpuPkg PCDs related to initial AP bringup and general AP management.\r
gUefiCpuPkgTokenSpaceGuid.PcdCpuMaxLogicalProcessorNumber|64\r
- gUefiCpuPkgTokenSpaceGuid.PcdCpuApInitTimeOutInMicroSeconds|50000\r
+ gUefiCpuPkgTokenSpaceGuid.PcdCpuBootLogicalProcessorNumber|0\r
\r
# Set memory encryption mask\r
gEfiMdeModulePkgTokenSpaceGuid.PcdPteMemoryEncryptionAddressOrMask|0x0\r
\r
!if $(SMM_REQUIRE) == TRUE\r
gUefiOvmfPkgTokenSpaceGuid.PcdQ35TsegMbytes|8\r
+ gUefiOvmfPkgTokenSpaceGuid.PcdQ35SmramAtDefaultSmbase|FALSE\r
gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmSyncMode|0x01\r
gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmApSyncTimeout|100000\r
!endif\r
gEfiSecurityPkgTokenSpaceGuid.PcdTpmInstanceGuid|{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\r
!endif\r
\r
+[PcdsDynamicHii]\r
+!if $(TPM2_ENABLE) == TRUE && $(TPM2_CONFIG_ENABLE) == TRUE\r
+ gEfiSecurityPkgTokenSpaceGuid.PcdTcgPhysicalPresenceInterfaceVer|L"TCG2_VERSION"|gTcg2ConfigFormSetGuid|0x0|"1.3"|NV,BS\r
+ gEfiSecurityPkgTokenSpaceGuid.PcdTpm2AcpiTableRev|L"TCG2_VERSION"|gTcg2ConfigFormSetGuid|0x8|3|NV,BS\r
+!endif\r
+\r
################################################################################\r
#\r
# Components Section - list of all EDK II Modules needed by this Platform.\r
NULL|SecurityPkg/Library/HashInstanceLibSha256/HashInstanceLibSha256.inf\r
NULL|SecurityPkg/Library/HashInstanceLibSha384/HashInstanceLibSha384.inf\r
NULL|SecurityPkg/Library/HashInstanceLibSha512/HashInstanceLibSha512.inf\r
+ NULL|SecurityPkg/Library/HashInstanceLibSm3/HashInstanceLibSm3.inf\r
}\r
-!if $(TPM2_CONFIG_ENABLE) == TRUE\r
- SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigDxe.inf\r
-!endif\r
!endif\r
\r
#\r
<LibraryClasses>\r
!ifdef $(CSM_ENABLE)\r
NULL|OvmfPkg/Csm/CsmSupportLib/CsmSupportLib.inf\r
- NULL|IntelFrameworkModulePkg/Library/LegacyBootManagerLib/LegacyBootManagerLib.inf\r
+ NULL|OvmfPkg/Csm/LegacyBootManagerLib/LegacyBootManagerLib.inf\r
!endif\r
}\r
MdeModulePkg/Logo/LogoDxe.inf\r
NULL|MdeModulePkg/Library/BootManagerUiLib/BootManagerUiLib.inf\r
NULL|MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanceManagerUiLib.inf\r
!ifdef $(CSM_ENABLE)\r
- NULL|IntelFrameworkModulePkg/Library/LegacyBootManagerLib/LegacyBootManagerLib.inf\r
- NULL|IntelFrameworkModulePkg/Library/LegacyBootMaintUiLib/LegacyBootMaintUiLib.inf\r
+ NULL|OvmfPkg/Csm/LegacyBootManagerLib/LegacyBootManagerLib.inf\r
+ NULL|OvmfPkg/Csm/LegacyBootMaintUiLib/LegacyBootMaintUiLib.inf\r
!endif\r
}\r
OvmfPkg/VirtioPciDeviceDxe/VirtioPciDeviceDxe.inf\r
MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf\r
MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf\r
\r
+!ifndef $(CSM_ENABLE)\r
OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf\r
+!endif\r
OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf\r
OvmfPkg/VirtioGpuDxe/VirtioGpu.inf\r
\r
#\r
# ISA Support\r
#\r
-!if $(USE_LEGACY_ISA_STACK) == FALSE\r
OvmfPkg/SioBusDxe/SioBusDxe.inf\r
MdeModulePkg/Bus/Pci/PciSioSerialDxe/PciSioSerialDxe.inf\r
MdeModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2KeyboardDxe.inf\r
-!else\r
- PcAtChipsetPkg/IsaAcpiDxe/IsaAcpi.inf\r
- IntelFrameworkModulePkg/Bus/Isa/IsaBusDxe/IsaBusDxe.inf\r
- IntelFrameworkModulePkg/Bus/Isa/IsaSerialDxe/IsaSerialDxe.inf\r
- IntelFrameworkModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2keyboardDxe.inf\r
-!endif\r
\r
#\r
# SMBIOS Support\r
MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf\r
\r
!ifdef $(CSM_ENABLE)\r
- IntelFrameworkModulePkg/Csm/BiosThunk/VideoDxe/VideoDxe.inf {\r
+ OvmfPkg/Csm/BiosThunk/VideoDxe/VideoDxe.inf {\r
<LibraryClasses>\r
PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf\r
}\r
- IntelFrameworkModulePkg/Csm/LegacyBiosDxe/LegacyBiosDxe.inf\r
+ OvmfPkg/Csm/LegacyBiosDxe/LegacyBiosDxe.inf\r
OvmfPkg/Csm/Csm16/Csm16.inf\r
!endif\r
\r
}\r
!endif\r
\r
+ #\r
+ # TPM2 support\r
+ #\r
!if $(TPM2_ENABLE) == TRUE\r
SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.inf {\r
<LibraryClasses>\r
NULL|SecurityPkg/Library/HashInstanceLibSha256/HashInstanceLibSha256.inf\r
NULL|SecurityPkg/Library/HashInstanceLibSha384/HashInstanceLibSha384.inf\r
NULL|SecurityPkg/Library/HashInstanceLibSha512/HashInstanceLibSha512.inf\r
+ NULL|SecurityPkg/Library/HashInstanceLibSm3/HashInstanceLibSm3.inf\r
}\r
+!if $(TPM2_CONFIG_ENABLE) == TRUE\r
+ SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigDxe.inf\r
+!endif\r
!endif\r