ArmVirtPkg: Add Ramdisk support to ArmVirtPkg platforms

Adds the RAMDisk support to ArmVirtPkg platforms.
This patch actually ports OvmfPkg commit 259d87146b07 to
ArmVirtPkg.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Vikas C Sajjan <vikas.cha.sajjan@hpe.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
diff --git a/ArmVirtPkg/ArmVirt.dsc.inc b/ArmVirtPkg/ArmVirt.dsc.inc
index dcf5e50..7e29032 100644
--- a/ArmVirtPkg/ArmVirt.dsc.inc
+++ b/ArmVirtPkg/ArmVirt.dsc.inc
@@ -274,6 +274,12 @@
 

   gEfiMdeModulePkgTokenSpaceGuid.PcdTurnOffUsbLegacySupport|TRUE

 

+[PcdsFeatureFlag.AARCH64]

+  #

+  # Activate AcpiSdtProtocol

+  #

+  gEfiMdeModulePkgTokenSpaceGuid.PcdInstallAcpiSdtProtocol|TRUE

+

 [PcdsFixedAtBuild.common]

   gEfiMdePkgTokenSpaceGuid.PcdMaximumUnicodeStringLength|1000000

   gEfiMdePkgTokenSpaceGuid.PcdMaximumAsciiStringLength|1000000

@@ -383,6 +389,11 @@
   MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf

 

   #

+  # Ramdisk support

+  #

+  MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe.inf

+

+  #

   # UEFI application (Shell Embedded Boot Loader)

   #

   ShellPkg/Application/Shell/Shell.inf {

diff --git a/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc b/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc
index ad7037f..f212123 100644
--- a/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc
+++ b/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc
@@ -177,3 +177,8 @@
   FILE FREEFORM = PCD(gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLogoFile) {

     SECTION RAW = MdeModulePkg/Logo/Logo.bmp

   }

+

+  #

+  # Ramdisk support

+  #

+  INF MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe.inf

diff --git a/ArmVirtPkg/ArmVirtRules.fdf.inc b/ArmVirtPkg/ArmVirtRules.fdf.inc
index 8952c67..5ff3004 100644
--- a/ArmVirtPkg/ArmVirtRules.fdf.inc
+++ b/ArmVirtPkg/ArmVirtRules.fdf.inc
@@ -85,6 +85,8 @@
     DXE_DEPEX    DXE_DEPEX              Optional $(INF_OUTPUT)/$(MODULE_NAME).depex

     PE32         PE32                   $(INF_OUTPUT)/$(MODULE_NAME).efi

     UI           STRING="$(MODULE_NAME)" Optional

+    RAW          ACPI  Optional               |.acpi

+    RAW          ASL   Optional               |.aml

   }

 

 [Rule.Common.DXE_RUNTIME_DRIVER]

diff --git a/ArmVirtPkg/ArmVirtXen.fdf b/ArmVirtPkg/ArmVirtXen.fdf
index 0a97bd8..da1b025 100644
--- a/ArmVirtPkg/ArmVirtXen.fdf
+++ b/ArmVirtPkg/ArmVirtXen.fdf
@@ -188,6 +188,11 @@
   INF ArmVirtPkg/XenAcpiPlatformDxe/XenAcpiPlatformDxe.inf

 !endif

 

+ #

+ # Ramdisk support

+ #

+ INF MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe.inf

+

 [FV.FVMAIN_COMPACT]

 FvAlignment        = 16

 ERASE_POLARITY     = 1