DEFINE SECURE_BOOT_ENABLE = FALSE\r
DEFINE TPM2_ENABLE = FALSE\r
DEFINE TPM2_CONFIG_ENABLE = FALSE\r
+ DEFINE CAVIUM_ERRATUM_27456 = FALSE\r
\r
#\r
# Network definition\r
QemuLoadImageLib|OvmfPkg/Library/GenericQemuLoadImageLib/GenericQemuLoadImageLib.inf\r
\r
TimerLib|ArmPkg/Library/ArmArchTimerLib/ArmArchTimerLib.inf\r
- NorFlashPlatformLib|ArmVirtPkg/Library/NorFlashQemuLib/NorFlashQemuLib.inf\r
+ VirtNorFlashPlatformLib|ArmVirtPkg/Library/NorFlashQemuLib/NorFlashQemuLib.inf\r
\r
CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf\r
BootLogoLib|MdeModulePkg/Library/BootLogoLib/BootLogoLib.inf\r
UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf\r
\r
[BuildOptions]\r
- GCC:*_*_AARCH64_CC_XIPFLAGS = -mno-strict-align\r
+!if $(CAVIUM_ERRATUM_27456) == TRUE\r
+ GCC:*_*_AARCH64_PP_FLAGS = -DCAVIUM_ERRATUM_27456\r
+!else\r
+ GCC:*_*_AARCH64_CC_XIPFLAGS ==\r
+!endif\r
\r
!include NetworkPkg/NetworkBuildOptions.dsc.inc\r
\r
# Shadowing PEI modules is absolutely pointless when the NOR flash is emulated\r
gEfiMdeModulePkgTokenSpaceGuid.PcdShadowPeimOnBoot|FALSE\r
\r
+ # System Memory Size -- 128 MB initially, actual size will be fetched from DT\r
+ gArmTokenSpaceGuid.PcdSystemMemorySize|0x8000000\r
+\r
[PcdsFixedAtBuild.AARCH64]\r
# Clearing BIT0 in this PCD prevents installing a 32-bit SMBIOS entry point,\r
# if the entry point version is >= 3.0. AARCH64 OSes cannot assume the\r
# enumeration to complete before installing ACPI tables.\r
gEfiMdeModulePkgTokenSpaceGuid.PcdPciDisableBusEnumeration|TRUE\r
\r
- # System Memory Size -- 1 MB initially, actual size will be fetched from DT\r
- gArmTokenSpaceGuid.PcdSystemMemorySize|0x00100000\r
-\r
gArmTokenSpaceGuid.PcdArmArchTimerSecIntrNum|0x0\r
gArmTokenSpaceGuid.PcdArmArchTimerIntrNum|0x0\r
gArmTokenSpaceGuid.PcdArmArchTimerVirtIntrNum|0x0\r
#\r
# TPM2 support\r
#\r
- gEfiSecurityPkgTokenSpaceGuid.PcdTpmBaseAddress|0x0\r
!if $(TPM2_ENABLE) == TRUE\r
+ gEfiSecurityPkgTokenSpaceGuid.PcdTpmBaseAddress|0x0\r
gEfiSecurityPkgTokenSpaceGuid.PcdTpmInstanceGuid|{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}\r
gEfiSecurityPkgTokenSpaceGuid.PcdTpm2HashMask|0\r
+!else\r
+[PcdsPatchableInModule]\r
+ # make this PCD patchable instead of dynamic when TPM support is not enabled\r
+ # this permits setting the PCD in unreachable code without pulling in dynamic PCD support\r
+ gEfiSecurityPkgTokenSpaceGuid.PcdTpmBaseAddress|0x0\r
!endif\r
\r
[PcdsDynamicHii]\r
\r
gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|L"Timeout"|gEfiGlobalVariableGuid|0x0|5\r
\r
+[LibraryClasses.common.PEI_CORE, LibraryClasses.common.PEIM]\r
+!if $(TPM2_ENABLE) == TRUE\r
+ PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf\r
+!else\r
+ PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
+!endif\r
+\r
################################################################################\r
#\r
# Components Section - list of all EDK II Modules needed by this Platform\r
#\r
ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf\r
MdeModulePkg/Core/Pei/PeiMain.inf\r
- MdeModulePkg/Universal/PCD/Pei/Pcd.inf {\r
- <LibraryClasses>\r
- PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
- }\r
ArmPlatformPkg/PlatformPei/PlatformPeim.inf\r
ArmVirtPkg/MemoryInitPei/MemoryInitPeim.inf {\r
<LibraryClasses>\r
ArmPkg/Drivers/CpuPei/CpuPei.inf\r
\r
!if $(TPM2_ENABLE) == TRUE\r
+ MdeModulePkg/Universal/PCD/Pei/Pcd.inf {\r
+ <LibraryClasses>\r
+ PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
+ }\r
MdeModulePkg/Universal/ResetSystemPei/ResetSystemPei.inf {\r
<LibraryClasses>\r
ResetSystemLib|ArmVirtPkg/Library/ArmVirtPsciResetSystemPeiLib/ArmVirtPsciResetSystemPeiLib.inf\r
<LibraryClasses>\r
NULL|ArmVirtPkg/Library/ArmVirtTimerFdtClientLib/ArmVirtTimerFdtClientLib.inf\r
}\r
- ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.inf\r
+ OvmfPkg/VirtNorFlashDxe/VirtNorFlashDxe.inf\r
MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf\r
\r
#\r