\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/AArch64/AArch64LibSec.inf\r
ArmPlatformSecLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressSecLibRTSM/ArmVExpressSecLib.inf\r
################################################################################\r
\r
[PcdsFeatureFlag.common]\r
-\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
+ # UEFI firmware is responsible to park the secondary cores on this platform.\r
+ # This PCD ensures the secondary cores are parked into the AArch64 Linux parking protocol.\r
+ gArmTokenSpaceGuid.PcdArmLinuxSpinTable|TRUE\r
+\r
[PcdsFixedAtBuild.common]\r
gArmPlatformTokenSpaceGuid.PcdFirmwareVendor|"ARM Versatile Express"\r
gEmbeddedTokenSpaceGuid.PcdEmbeddedPrompt|"ArmVExpress-RTSM"\r
\r
## Trustzone enable (to make the transition from EL3 to EL2 in ArmPlatformPkg/Sec)\r
gArmTokenSpaceGuid.PcdTrustzoneSupport|TRUE\r
- \r
+\r
#\r
# ARM PrimeCell\r
#\r
## PL180 MMC/SD card controller\r
gArmPlatformTokenSpaceGuid.PcdPL180SysMciRegAddress|0x1C010048\r
gArmPlatformTokenSpaceGuid.PcdPL180MciBaseAddress|0x1C050000\r
- \r
+\r
#\r
# ARM General Interrupt Controller\r
#\r
gArmPlatformTokenSpaceGuid.PcdDefaultConInPaths|L"VenHw(D3987D4B-971A-435F-8CAF-4967EB627241)/Uart(38400,8,N,1)/VenPcAnsi()"\r
\r
#\r
- # ARM Architectual Timer Frequency\r
+ # ARM Architectural Timer Frequency\r
#\r
- # Set model tick to 120Mhz. This depends a lot on workstation performance.\r
- gArmTokenSpaceGuid.PcdArmArchTimerFreqInHz|120000000\r
+ # Set model tick to 100Mhz. This depends a lot on workstation performance.\r
+ gArmTokenSpaceGuid.PcdArmArchTimerFreqInHz|100000000\r
\r
################################################################################\r
#\r
# Use the implementation which set the Secure bits\r
ArmGicLib|ArmPkg/Drivers/ArmGic/ArmGicSecLib.inf\r
}\r
- \r
+\r
#\r
# PEI Phase modules\r
#\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