#\r
# Copyright (c) 2011-2015, ARM Limited. All rights reserved.\r
+# Copyright (c) 2015, Intel Corporation. All rights reserved.\r
#\r
# This program and the accompanying materials\r
# are licensed and made available under the terms and conditions of the BSD License\r
#\r
#\r
\r
+[Defines]\r
+ USE_ARM_BDS = FALSE\r
+ SECURE_BOOT_ENABLE = FALSE\r
+\r
+[BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER]\r
+ GCC:*_*_ARM_DLINK_FLAGS = -z common-page-size=0x1000\r
+ GCC:*_*_AARCH64_DLINK_FLAGS = -z common-page-size=0x10000\r
+\r
[LibraryClasses.common]\r
!if $(TARGET) == RELEASE\r
DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf\r
ArmDisassemblerLib|ArmPkg/Library/ArmDisassemblerLib/ArmDisassemblerLib.inf\r
DmaLib|ArmPkg/Library/ArmDmaLib/ArmDmaLib.inf\r
ArmGicLib|ArmPkg/Drivers/ArmGic/ArmGicLib.inf\r
+ ArmGicArchLib|ArmPkg/Library/ArmGicArchLib/ArmGicArchLib.inf\r
ArmPlatformStackLib|ArmPlatformPkg/Library/ArmPlatformStackLib/ArmPlatformStackLib.inf\r
ArmSmcLib|ArmPkg/Library/ArmSmcLib/ArmSmcLib.inf\r
ArmGenericTimerCounterLib|ArmPkg/Library/ArmGenericTimerPhyCounterLib/ArmGenericTimerPhyCounterLib.inf\r
FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf\r
SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf\r
\r
+ #\r
+ # Secure Boot dependencies\r
+ #\r
+!if $(SECURE_BOOT_ENABLE) == TRUE\r
+ IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf\r
+ OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf\r
+ TpmMeasurementLib|SecurityPkg/Library/DxeTpmMeasurementLib/DxeTpmMeasurementLib.inf\r
+ AuthVariableLib|SecurityPkg/Library/AuthVariableLib/AuthVariableLib.inf\r
+ BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf\r
+\r
+ # re-use the UserPhysicalPresent() dummy implementation from the ovmf tree\r
+ PlatformSecureLib|OvmfPkg/Library/PlatformSecureLib/PlatformSecureLib.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
+\r
+!if $(USE_ARM_BDS) == FALSE\r
+ CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf\r
+ GenericBdsLib|IntelFrameworkModulePkg/Library/GenericBdsLib/GenericBdsLib.inf\r
+ PlatformBdsLib|ArmPlatformPkg/Library/PlatformIntelBdsLib/PlatformIntelBdsLib.inf\r
+ CustomizedDisplayLib|MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.inf\r
+!endif\r
+\r
[LibraryClasses.common.SEC]\r
ArmPlatformSecExtraActionLib|ArmPlatformPkg/Library/DebugSecExtraActionLib/DebugSecExtraActionLib.inf\r
ArmPlatformGlobalVariableLib|ArmPlatformPkg/Library/ArmPlatformGlobalVariableLib/Sec/SecArmPlatformGlobalVariableLib.inf\r
!ifdef $(EDK2_SKIP_PEICORE)\r
PrePiLib|EmbeddedPkg/Library/PrePiLib/PrePiLib.inf\r
ExtractGuidedSectionLib|EmbeddedPkg/Library/PrePiExtractGuidedSectionLib/PrePiExtractGuidedSectionLib.inf\r
- LzmaDecompressLib|IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf\r
+ LzmaDecompressLib|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf\r
MemoryAllocationLib|EmbeddedPkg/Library/PrePiMemoryAllocationLib/PrePiMemoryAllocationLib.inf\r
HobLib|EmbeddedPkg/Library/PrePiHobLib/PrePiHobLib.inf\r
PrePiHobListPointerLib|ArmPlatformPkg/Library/PrePiHobListPointerLib/PrePiHobListPointerLib.inf\r
PerformanceLib|MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf\r
- MemoryInitPeiLib|ArmPlatformPkg/MemoryInitPei/MemoryInitPeiLib.inf\r
!endif\r
\r
# Trustzone Support\r
ArmTrustedMonitorLib|ArmPlatformPkg/Library/ArmTrustedMonitorLibNull/ArmTrustedMonitorLibNull.inf\r
\r
+ ArmGicArchLib|ArmPkg/Library/ArmGicArchSecLib/ArmGicArchSecLib.inf\r
+\r
[LibraryClasses.common.PEI_CORE]\r
HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf\r
PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf\r
ArmPlatformGlobalVariableLib|ArmPlatformPkg/Library/ArmPlatformGlobalVariableLib/Pei/PeiArmPlatformGlobalVariableLib.inf\r
PeiServicesTablePointerLib|ArmPlatformPkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointerLib.inf\r
\r
+[LibraryClasses.common.SEC, LibraryClasses.common.PEIM]\r
+ MemoryInitPeiLib|ArmPlatformPkg/MemoryInitPei/MemoryInitPeiLib.inf\r
+\r
[LibraryClasses.common.DXE_CORE]\r
HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf\r
MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf\r
MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf\r
ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf\r
CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf\r
+ ArmPlatformSysConfigLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressSysConfigRuntimeLib/ArmVExpressSysConfigRuntimeLib.inf\r
+!if $(SECURE_BOOT_ENABLE) == TRUE\r
+ BaseCryptLib|CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf\r
+!endif\r
+\r
+[LibraryClasses.AARCH64.DXE_RUNTIME_DRIVER]\r
+ #\r
+ # PSCI support in EL3 may not be available if we are not running under a PSCI\r
+ # compliant secure firmware, but since the default VExpress EfiResetSystemLib\r
+ # cannot be supported at runtime (due to the fact that the syscfg MMIO registers\r
+ # cannot be runtime remapped), it is our best bet to get ResetSystem functionality\r
+ # on these platforms.\r
+ #\r
+ EfiResetSystemLib|ArmPkg/Library/ArmPsciResetSystemLib/ArmPsciResetSystemLib.inf\r
\r
[LibraryClasses.ARM, LibraryClasses.AARCH64]\r
#\r
#\r
# ARM OS Loader\r
#\r
- # Versatile Express machine type (ARM VERSATILE EXPRESS = 2272) required for ARM Linux:\r
- gArmTokenSpaceGuid.PcdArmMachineType|2272\r
gArmPlatformTokenSpaceGuid.PcdDefaultBootDescription|L"Linux from NorFlash"\r
- gArmPlatformTokenSpaceGuid.PcdDefaultBootDevicePath|L"VenHw(E7223039-5836-41E1-B542-D7EC736C5E59)/MemoryMapped(0x0,0xED000000,0xED400000)"\r
- gArmPlatformTokenSpaceGuid.PcdDefaultBootType|1\r
+ gArmPlatformTokenSpaceGuid.PcdDefaultBootDevicePath|L"VenHw(E7223039-5836-41E1-B542-D7EC736C5E59)/Image"\r
\r
# Use the serial console (ConIn & ConOut) and the Graphic driver (ConOut)\r
gArmPlatformTokenSpaceGuid.PcdDefaultConOutPaths|L"VenHw(D3987D4B-971A-435F-8CAF-4967EB627241)/Uart(38400,8,N,1)/VenPcAnsi();VenHw(CE660500-824D-11E0-AC72-0002A5D5C51B)"\r
gArmPlatformTokenSpaceGuid.PcdDefaultConInPaths|L"VenHw(D3987D4B-971A-435F-8CAF-4967EB627241)/Uart(38400,8,N,1)/VenPcAnsi()"\r
- gArmPlatformTokenSpaceGuid.PcdPlatformBootTimeOut|10\r
+ gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|10\r
\r
# RunAxf support via Dynamic Shell Command protocol\r
# We want to use the Shell Libraries but don't want it to initialise\r
# Shell.\r
gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE\r
\r
+!if $(USE_ARM_BDS) == FALSE\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdResetOnMemoryTypeInformationChange|FALSE\r
+ gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdShellFile|{ 0x83, 0xA5, 0x04, 0x7C, 0x3E, 0x9E, 0x1C, 0x4F, 0xAD, 0x65, 0xE0, 0x52, 0x68, 0xD0, 0xB4, 0xD1 }\r
+!endif\r
+\r
+!if $(SECURE_BOOT_ENABLE) == TRUE\r
+ # override the default values from SecurityPkg to ensure images from all sources are verified in secure boot\r
+ gEfiSecurityPkgTokenSpaceGuid.PcdOptionRomImageVerificationPolicy|0x04\r
+ gEfiSecurityPkgTokenSpaceGuid.PcdFixedMediaImageVerificationPolicy|0x04\r
+ gEfiSecurityPkgTokenSpaceGuid.PcdRemovableMediaImageVerificationPolicy|0x04\r
+!endif\r
+\r
[Components.common]\r
MdeModulePkg/Universal/PCD/Dxe/Pcd.inf\r
\r
MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf\r
MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf\r
MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf\r
- MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf\r
MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf\r
MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf\r
MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf\r
# FDT installation\r
#\r
EmbeddedPkg/Drivers/FdtPlatformDxe/FdtPlatformDxe.inf\r
+\r
+ # Legacy Linux Loader\r
+ ArmPkg/Application/LinuxLoader/LinuxLoader.inf\r