#\r
-# Copyright (c) 2011-2012, ARM Limited. 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
-# which accompanies this distribution. The full text of the license may be found at \r
-# http://opensource.org/licenses/bsd-license.php \r
+# Copyright (c) 2011-2015, ARM Limited. All rights reserved.\r
#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
+# This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution. The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
#\r
#\r
\r
ArmLib|ArmPkg/Library/ArmLib/ArmV7/ArmV7Lib.inf\r
ArmCpuLib|ArmPkg/Drivers/ArmCpuLib/ArmCortexA15Lib/ArmCortexA15Lib.inf\r
ArmPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibRTSM/ArmVExpressLib.inf\r
- \r
+\r
ArmPlatformSysConfigLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressSysConfigLib/ArmVExpressSysConfigLib.inf\r
NorFlashPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/NorFlashArmVExpressLib/NorFlashArmVExpressLib.inf\r
LcdPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/PL111LcdArmVExpressLib/PL111LcdArmVExpressLib.inf\r
\r
#DebugAgentTimerLib|ArmPlatformPkg/ArmVExpressPkg/Library/DebugAgentTimerLib/DebugAgentTimerLib.inf\r
\r
- TimerLib|ArmPkg/Library/ArmArchTimerLib/ArmArchTimerLib.inf \r
+ TimerLib|ArmPkg/Library/ArmArchTimerLib/ArmArchTimerLib.inf\r
+\r
+ # Virtio Support\r
+ VirtioLib|OvmfPkg/Library/VirtioLib/VirtioLib.inf\r
+ VirtioMmioDeviceLib|OvmfPkg/Library/VirtioMmioDeviceLib/VirtioMmioDeviceLib.inf\r
\r
[LibraryClasses.common.SEC]\r
ArmLib|ArmPkg/Library/ArmLib/ArmV7/ArmV7LibSec.inf\r
ArmPlatformSecLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressSecLibRTSM/ArmVExpressSecLib.inf\r
ArmPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibRTSM/ArmVExpressLibSec.inf\r
\r
+[LibraryClasses.common.UEFI_DRIVER, LibraryClasses.common.UEFI_APPLICATION, LibraryClasses.common.DXE_RUNTIME_DRIVER, LibraryClasses.common.DXE_DRIVER]\r
+ PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf\r
+\r
[BuildOptions]\r
RVCT:*_*_ARM_PLATFORM_FLAGS == --cpu Cortex-A15 -I$(WORKSPACE)/ArmPlatformPkg/ArmVExpressPkg/Include -I$(WORKSPACE)/ArmPlatformPkg/ArmVExpressPkg/Include/Platform/RTSM\r
\r
- GCC:*_*_ARM_PLATFORM_FLAGS == -mcpu=cortex-a15 -mfpu=neon -I$(WORKSPACE)/ArmPlatformPkg/ArmVExpressPkg/Include -I$(WORKSPACE)/ArmPlatformPkg/ArmVExpressPkg/Include/Platform/RTSM\r
- \r
+ GCC:*_*_ARM_PLATFORM_FLAGS == -mcpu=cortex-a15 -I$(WORKSPACE)/ArmPlatformPkg/ArmVExpressPkg/Include -I$(WORKSPACE)/ArmPlatformPkg/ArmVExpressPkg/Include/Platform/RTSM\r
+\r
XCODE:*_*_ARM_PLATFORM_FLAGS = -I$(WORKSPACE)/ArmPlatformPkg/ArmVExpressPkg/Include -I$(WORKSPACE)/ArmPlatformPkg/ArmVExpressPkg/Include/Platform/RTSM\r
\r
################################################################################\r
################################################################################\r
\r
[PcdsFeatureFlag.common]\r
-!ifdef $(EDK2_SKIP_PEICORE)\r
+!ifdef EDK2_SKIP_PEICORE\r
gArmPlatformTokenSpaceGuid.PcdSystemMemoryInitializeInSec|TRUE\r
gArmPlatformTokenSpaceGuid.PcdSendSgiToBringUpSecondaryCores|TRUE\r
!endif\r
- \r
+\r
## If TRUE, Graphics Output Protocol will be installed on virtual handle created by ConsplitterDxe.\r
# It could be set FALSE to save size.\r
gEfiMdeModulePkgTokenSpaceGuid.PcdConOutGopSupport|TRUE\r
- \r
+\r
[PcdsFixedAtBuild.common]\r
gArmPlatformTokenSpaceGuid.PcdFirmwareVendor|"ARM Versatile Express"\r
- \r
gEmbeddedTokenSpaceGuid.PcdEmbeddedPrompt|"ArmVExpress-RTSM"\r
\r
+ gArmPlatformTokenSpaceGuid.PcdCoreCount|2\r
+\r
#\r
# NV Storage PCDs. Use base of 0x0C000000 for NOR1\r
#\r
+!if $(EDK2_ARMVE_SUPPORT_QEMU) == 1\r
+ # QEMU only models a single flash block size, so use larger blocks\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase|0x0FF00000\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize|0x00040000\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase|0x0FF40000\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize|0x00040000\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase|0x0FF80000\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize|0x00040000\r
+!else\r
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase|0x0FFC0000\r
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize|0x00010000\r
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase|0x0FFD0000\r
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize|0x00010000\r
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase|0x0FFE0000\r
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize|0x00010000\r
+!endif\r
\r
gArmTokenSpaceGuid.PcdVFPEnabled|1\r
- \r
+\r
# Stacks for MPCores in Secure World\r
gArmPlatformTokenSpaceGuid.PcdCPUCoresSecStackBase|0x2E009000\r
gArmPlatformTokenSpaceGuid.PcdCPUCoreSecPrimaryStackSize|0x1000\r
- \r
+\r
# Stacks for MPCores in Monitor Mode\r
gArmPlatformTokenSpaceGuid.PcdCPUCoresSecMonStackBase|0x2E008000\r
gArmPlatformTokenSpaceGuid.PcdCPUCoreSecMonStackSize|0x100\r
- \r
+\r
# Stacks for MPCores in Normal World\r
gArmPlatformTokenSpaceGuid.PcdCPUCoresStackBase|0x2E000000\r
gArmPlatformTokenSpaceGuid.PcdCPUCorePrimaryStackSize|0x4000\r
- \r
- # System Memory (1GB) \r
+\r
+ # System Memory (1GB)\r
gArmTokenSpaceGuid.PcdSystemMemoryBase|0x80000000\r
gArmTokenSpaceGuid.PcdSystemMemorySize|0x40000000\r
- \r
+\r
# Size of the region used by UEFI in permanent memory (Reserved 64MB)\r
gArmPlatformTokenSpaceGuid.PcdSystemMemoryUefiRegionSize|0x04000000\r
- \r
+\r
#\r
# ARM Pcds\r
#\r
gArmTokenSpaceGuid.PcdArmUncachedMemoryMask|0x0000000040000000\r
- \r
+\r
#\r
# ARM PrimeCell\r
#\r
\r
## SP805 Watchdog - Motherboard Watchdog\r
gArmPlatformTokenSpaceGuid.PcdSP805WatchdogBase|0x1C0F0000\r
- \r
+\r
## PL011 - Serial Terminal\r
gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase|0x1c090000\r
gEfiMdePkgTokenSpaceGuid.PcdUartDefaultBaudRate|38400\r
- gEfiMdePkgTokenSpaceGuid.PcdUartDefaultDataBits|8\r
- gEfiMdePkgTokenSpaceGuid.PcdUartDefaultParity|1\r
- gEfiMdePkgTokenSpaceGuid.PcdUartDefaultStopBits|1\r
\r
## PL031 RealTimeClock\r
gArmPlatformTokenSpaceGuid.PcdPL031RtcBase|0x1C170000\r
\r
## PL111 Versatile Express Motherboard controller\r
gArmPlatformTokenSpaceGuid.PcdPL111LcdBase|0x1C1F0000\r
- \r
+\r
## PL180 MMC/SD card controller\r
gArmPlatformTokenSpaceGuid.PcdPL180SysMciRegAddress|0x1C010048\r
gArmPlatformTokenSpaceGuid.PcdPL180MciBaseAddress|0x1C050000\r
- \r
+\r
#\r
- # ARM PL390 General Interrupt Controller\r
+ # ARM General Interrupt Controller\r
#\r
gArmTokenSpaceGuid.PcdGicDistributorBase|0x2C001000\r
gArmTokenSpaceGuid.PcdGicInterruptInterfaceBase|0x2C002000\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"SemiHosting"\r
- gArmPlatformTokenSpaceGuid.PcdDefaultBootDevicePath|L"VenHw(C5B9C74A-6D72-4719-99AB-C59F199091EB)/zImage"\r
- gArmPlatformTokenSpaceGuid.PcdDefaultBootArgument|""\r
- gArmPlatformTokenSpaceGuid.PcdDefaultBootType|1\r
+ gArmPlatformTokenSpaceGuid.PcdDefaultBootDescription|L"Linux from SemiHosting"\r
+ gArmPlatformTokenSpaceGuid.PcdDefaultBootDevicePath|L"Fv(12C68BE9-0996-49D3-8C5B-4957379027EE)/LinuxLoader.efi"\r
+ gArmPlatformTokenSpaceGuid.PcdDefaultBootArgument|L"VenHw(C5B9C74A-6D72-4719-99AB-C59F199091EB)/Image -c \"console=ttyAMA0,38400 earlyprintk debug verbose\""\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(407B4008-BF5B-11DF-9547-CF16E0D72085)"\r
gArmPlatformTokenSpaceGuid.PcdDefaultConInPaths|L"VenHw(D3987D4B-971A-435F-8CAF-4967EB627241)/Uart(38400,8,N,1)/VenPcAnsi()"\r
\r
#\r
- # ARM L2x0 PCDs\r
+ # ARM Architectural Timer Frequency\r
#\r
- gArmTokenSpaceGuid.PcdL2x0ControllerBase|0x1E00A000\r
- \r
+ gArmTokenSpaceGuid.PcdArmArchTimerFreqInHz|100000000\r
+\r
+[PcdsDynamicDefault.common]\r
#\r
- # ARM Architectual Timer Frequency\r
+ # The size of a dynamic PCD of the (VOID*) type can not be increased at run\r
+ # time from its size at build time. Set the "PcdFdtDevicePaths" PCD to a 128\r
+ # character "empty" string, to allow to be able to set FDT text device paths\r
+ # up to 128 characters long.\r
#\r
- gArmTokenSpaceGuid.PcdArmArchTimerFreqInHz|60000000\r
- \r
- \r
+ gEmbeddedTokenSpaceGuid.PcdFdtDevicePaths|L" "\r
+\r
################################################################################\r
#\r
# Components Section - list of all EDK II Modules needed by this Platform\r
#\r
################################################################################\r
[Components.common]\r
- \r
+\r
#\r
# SEC\r
#\r
ArmPlatformPkg/Sec/Sec.inf {\r
<LibraryClasses>\r
# Use the implementation which set the Secure bits\r
- ArmGicLib|ArmPkg/Drivers/PL390Gic/PL390GicSecLib.inf\r
+ ArmGicLib|ArmPkg/Drivers/ArmGic/ArmGicSecLib.inf\r
}\r
- \r
+\r
#\r
# PEI Phase modules\r
#\r
-!ifdef $(EDK2_SKIP_PEICORE)\r
+!ifdef EDK2_SKIP_PEICORE\r
ArmPlatformPkg/PrePi/PeiMPCore.inf {\r
<LibraryClasses>\r
ArmLib|ArmPkg/Library/ArmLib/ArmV7/ArmV7Lib.inf\r
MdeModulePkg/Universal/Variable/Pei/VariablePei.inf\r
MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf {\r
<LibraryClasses>\r
- NULL|IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf\r
+ NULL|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf\r
}\r
!endif\r
\r
#\r
# Architectural Protocols\r
#\r
- ArmPkg/Drivers/CpuDxe/CpuDxe.inf \r
+ ArmPkg/Drivers/CpuDxe/CpuDxe.inf\r
MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf\r
MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf\r
MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf\r
- MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf\r
+ MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf {\r
+ <LibraryClasses>\r
+ NULL|MdeModulePkg/Library/VarCheckUefiLib/VarCheckUefiLib.inf\r
+ }\r
MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf\r
- MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf \r
+ MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf\r
EmbeddedPkg/ResetRuntimeDxe/ResetRuntimeDxe.inf\r
EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf\r
EmbeddedPkg/MetronomeDxe/MetronomeDxe.inf\r
\r
MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf\r
\r
- ArmPkg/Drivers/PL390Gic/PL390GicDxe.inf\r
+ ArmPkg/Drivers/ArmGic/ArmGicDxe.inf\r
ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.inf\r
ArmPkg/Drivers/TimerDxe/TimerDxe.inf\r
ArmPlatformPkg/Drivers/LcdGraphicsOutputDxe/PL111LcdGraphicsOutputDxe.inf\r
ArmPlatformPkg/Drivers/SP805WatchdogDxe/SP805WatchdogDxe.inf\r
- \r
+\r
#\r
# Semi-hosting filesystem\r
#\r
ArmPkg/Filesystem/SemihostFs/SemihostFs.inf\r
- \r
+\r
#\r
# Multimedia Card Interface\r
#\r
EmbeddedPkg/Universal/MmcDxe/MmcDxe.inf\r
ArmPlatformPkg/Drivers/PL180MciDxe/PL180MciDxe.inf\r
- \r
+\r
+ #\r
+ # Platform Driver\r
+ #\r
+ ArmPlatformPkg/ArmVExpressPkg/ArmVExpressDxe/ArmFvpDxe.inf\r
+ OvmfPkg/VirtioBlkDxe/VirtioBlk.inf\r
+\r
#\r
# FAT filesystem + GPT/MBR partitioning\r
#\r
MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf\r
MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf\r
- FatPkg/EnhancedFatDxe/Fat.inf\r
MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf\r
\r
- #\r
- # Application\r
- # \r
- EmbeddedPkg/Ebl/Ebl.inf\r
-\r
-!ifdef $(EDK2_ARMVE_UEFI2_SHELL)\r
- ShellPkg/Application/Shell/Shell.inf {\r
- <LibraryClasses>\r
- ShellCommandLib|ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.inf\r
- NULL|ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.inf\r
- NULL|ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.inf\r
- NULL|ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.inf\r
- NULL|ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.inf\r
- NULL|ShellPkg/Library/UefiShellInstall1CommandsLib/UefiShellInstall1CommandsLib.inf\r
- NULL|ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.inf\r
- NULL|ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.inf\r
- HandleParsingLib|ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.inf\r
- FileHandleLib|ShellPkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf\r
- ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf\r
- SortLib|ShellPkg/Library/UefiSortLib/UefiSortLib.inf\r
-\r
- <PcdsFixedAtBuild>\r
- gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0xFF\r
- gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE\r
- gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|16000\r
- }\r
-!endif\r
-\r
#\r
# Bds\r
#\r