]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-RTSM-A15_MPCore.dsc
ArmPlatformPkg/ArmVExpressPkg: Add build option to support VExpress A15 QEMU emulation
[mirror_edk2.git] / ArmPlatformPkg / ArmVExpressPkg / ArmVExpress-RTSM-A15_MPCore.dsc
index 0001f8a05da2cb198a27955fbe272af797b02803..7d6fe69830c0619d26705e68fce50787af086c8b 100644 (file)
 \r
   TimerLib|ArmPkg/Library/ArmArchTimerLib/ArmArchTimerLib.inf \r
 \r
+  # Virtio Support
+  VirtioLib|OvmfPkg/Library/VirtioLib/VirtioLib.inf
+  VirtioMmioDeviceLib|OvmfPkg/Library/VirtioMmioDeviceLib/VirtioMmioDeviceLib.inf
+
 [LibraryClasses.common.SEC]\r
   ArmLib|ArmPkg/Library/ArmLib/ArmV7/ArmV7LibSec.inf\r
   ArmPlatformSecLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressSecLibRTSM/ArmVExpressSecLib.inf\r
@@ -61,7 +65,7 @@
 ################################################################################\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
   # 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
   gArmPlatformTokenSpaceGuid.PcdPL180MciBaseAddress|0x1C050000\r
   \r
   #\r
-  # ARM PL390 General Interrupt Controller\r
+  # ARM General Interrupt Controller\r
   #\r
   gArmTokenSpaceGuid.PcdGicDistributorBase|0x2C001000\r
   gArmTokenSpaceGuid.PcdGicInterruptInterfaceBase|0x2C002000\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
   # 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
 \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
   #\r
   EmbeddedPkg/Universal/MmcDxe/MmcDxe.inf\r
   ArmPlatformPkg/Drivers/PL180MciDxe/PL180MciDxe.inf\r
+
+  #
+  # Platform Driver
+  #
+  ArmPlatformPkg/ArmVExpressPkg/ArmFvpDxe/ArmFvpDxe.inf
+  OvmfPkg/VirtioBlkDxe/VirtioBlk.inf
   \r
   #\r
   # FAT filesystem + GPT/MBR partitioning\r