Revert "subtree updates"

Needs to go through CI

This reverts commit fc7e7973f3119e2bad511209aa336537dc5ffbed.
diff --git a/meta-arm/meta-arm/recipes-bsp/uefi/files/0001-Revert-ArmVirtPkg-QemuVirtMemInfoLib-use-HOB-not-PCD.patch b/meta-arm/meta-arm/recipes-bsp/uefi/files/0001-Revert-ArmVirtPkg-QemuVirtMemInfoLib-use-HOB-not-PCD.patch
new file mode 100644
index 0000000..824c6ccb
--- /dev/null
+++ b/meta-arm/meta-arm/recipes-bsp/uefi/files/0001-Revert-ArmVirtPkg-QemuVirtMemInfoLib-use-HOB-not-PCD.patch
@@ -0,0 +1,290 @@
+From 44b69c8d7c8ed665b4f8d8a9953ea23a731d221f Mon Sep 17 00:00:00 2001
+From: Your Name <you@example.com>
+Date: Fri, 10 Mar 2023 18:46:49 +0000
+Subject: [PATCH] Revert "ArmVirtPkg/QemuVirtMemInfoLib: use HOB not PCD to
+ record the memory size"
+
+This reverts commit 7136d5491e225c57f1d73e4a1b7ac27ed656ff72.
+
+Upstream-Status: Inappropriate [other]
+Signed-off-by: Jon Mason <jon.mason@arm.com>
+
+---
+ ArmVirtPkg/ArmVirtPkg.dec                     |  1 -
+ ArmVirtPkg/ArmVirtQemu.dsc                    |  6 ++--
+ .../ArmVirtMemoryInitPeiLib.c                 | 14 ++------
+ .../ArmVirtMemoryInitPeiLib.inf               |  1 -
+ .../QemuVirtMemInfoLib/QemuVirtMemInfoLib.c   | 35 ++-----------------
+ .../QemuVirtMemInfoLib/QemuVirtMemInfoLib.inf |  5 +--
+ .../QemuVirtMemInfoPeiLib.inf                 |  8 ++---
+ .../QemuVirtMemInfoPeiLibConstructor.c        | 30 +++++++---------
+ 8 files changed, 25 insertions(+), 75 deletions(-)
+
+diff --git a/ArmVirtPkg/ArmVirtPkg.dec b/ArmVirtPkg/ArmVirtPkg.dec
+index 4645c91a83..d2d325d71e 100644
+--- a/ArmVirtPkg/ArmVirtPkg.dec
++++ b/ArmVirtPkg/ArmVirtPkg.dec
+@@ -32,7 +32,6 @@
+   gArmVirtTokenSpaceGuid = { 0x0B6F5CA7, 0x4F53, 0x445A, { 0xB7, 0x6E, 0x2E, 0x36, 0x5B, 0x80, 0x63, 0x66 } }

+   gEarlyPL011BaseAddressGuid       = { 0xB199DEA9, 0xFD5C, 0x4A84, { 0x80, 0x82, 0x2F, 0x41, 0x70, 0x78, 0x03, 0x05 } }

+   gEarly16550UartBaseAddressGuid   = { 0xea67ca3e, 0x1f54, 0x436b, { 0x97, 0x88, 0xd4, 0xeb, 0x29, 0xc3, 0x42, 0x67 } }

+-  gArmVirtSystemMemorySizeGuid     = { 0x504eccb9, 0x1bf0, 0x4420, { 0x86, 0x5d, 0xdc, 0x66, 0x06, 0xd4, 0x13, 0xbf } }

+ 

+ [PcdsFeatureFlag]

+   #

+diff --git a/ArmVirtPkg/ArmVirtQemu.dsc b/ArmVirtPkg/ArmVirtQemu.dsc
+index 72a0cacab4..2e786dad12 100644
+--- a/ArmVirtPkg/ArmVirtQemu.dsc
++++ b/ArmVirtPkg/ArmVirtQemu.dsc
+@@ -226,9 +226,6 @@
+   # Shadowing PEI modules is absolutely pointless when the NOR flash is emulated

+   gEfiMdeModulePkgTokenSpaceGuid.PcdShadowPeimOnBoot|FALSE

+ 

+-  # System Memory Size -- 128 MB initially, actual size will be fetched from DT

+-  gArmTokenSpaceGuid.PcdSystemMemorySize|0x8000000

+-

+ [PcdsFixedAtBuild.AARCH64]

+   # Clearing BIT0 in this PCD prevents installing a 32-bit SMBIOS entry point,

+   # if the entry point version is >= 3.0. AARCH64 OSes cannot assume the

+@@ -245,6 +242,9 @@
+   #  enumeration to complete before installing ACPI tables.

+   gEfiMdeModulePkgTokenSpaceGuid.PcdPciDisableBusEnumeration|TRUE

+ 

++  # System Memory Size -- 1 MB initially, actual size will be fetched from DT

++  gArmTokenSpaceGuid.PcdSystemMemorySize|0x00100000

++

+   gArmTokenSpaceGuid.PcdArmArchTimerSecIntrNum|0x0

+   gArmTokenSpaceGuid.PcdArmArchTimerIntrNum|0x0

+   gArmTokenSpaceGuid.PcdArmArchTimerVirtIntrNum|0x0

+diff --git a/ArmVirtPkg/Library/ArmVirtMemoryInitPeiLib/ArmVirtMemoryInitPeiLib.c b/ArmVirtPkg/Library/ArmVirtMemoryInitPeiLib/ArmVirtMemoryInitPeiLib.c
+index 72e5c65af7..98d90ad420 100644
+--- a/ArmVirtPkg/Library/ArmVirtMemoryInitPeiLib/ArmVirtMemoryInitPeiLib.c
++++ b/ArmVirtPkg/Library/ArmVirtMemoryInitPeiLib/ArmVirtMemoryInitPeiLib.c
+@@ -52,19 +52,10 @@ MemoryPeim (
+ {

+   EFI_RESOURCE_ATTRIBUTE_TYPE  ResourceAttributes;

+   UINT64                       SystemMemoryTop;

+-  UINT64                       SystemMemorySize;

+-  VOID                         *Hob;

+ 

+   // Ensure PcdSystemMemorySize has been set

+   ASSERT (PcdGet64 (PcdSystemMemorySize) != 0);

+ 

+-  SystemMemorySize = PcdGet64 (PcdSystemMemorySize);

+-

+-  Hob = GetFirstGuidHob (&gArmVirtSystemMemorySizeGuid);

+-  if (Hob != NULL) {

+-    SystemMemorySize = *(UINT64 *)GET_GUID_HOB_DATA (Hob);

+-  }

+-

+   //

+   // Now, the permanent memory has been installed, we can call AllocatePages()

+   //

+@@ -75,7 +66,8 @@ MemoryPeim (
+                         EFI_RESOURCE_ATTRIBUTE_TESTED

+                         );

+ 

+-  SystemMemoryTop = PcdGet64 (PcdSystemMemoryBase) + SystemMemorySize;

++  SystemMemoryTop = PcdGet64 (PcdSystemMemoryBase) +

++                    PcdGet64 (PcdSystemMemorySize);

+ 

+   if (SystemMemoryTop - 1 > MAX_ALLOC_ADDRESS) {

+     BuildResourceDescriptorHob (

+@@ -95,7 +87,7 @@ MemoryPeim (
+       EFI_RESOURCE_SYSTEM_MEMORY,

+       ResourceAttributes,

+       PcdGet64 (PcdSystemMemoryBase),

+-      SystemMemorySize

++      PcdGet64 (PcdSystemMemorySize)

+       );

+   }

+ 

+diff --git a/ArmVirtPkg/Library/ArmVirtMemoryInitPeiLib/ArmVirtMemoryInitPeiLib.inf b/ArmVirtPkg/Library/ArmVirtMemoryInitPeiLib/ArmVirtMemoryInitPeiLib.inf
+index 48d9c66b22..21327f79f4 100644
+--- a/ArmVirtPkg/Library/ArmVirtMemoryInitPeiLib/ArmVirtMemoryInitPeiLib.inf
++++ b/ArmVirtPkg/Library/ArmVirtMemoryInitPeiLib/ArmVirtMemoryInitPeiLib.inf
+@@ -34,7 +34,6 @@
+   CacheMaintenanceLib

+ 

+ [Guids]

+-  gArmVirtSystemMemorySizeGuid

+   gEfiMemoryTypeInformationGuid

+ 

+ [FeaturePcd]

+diff --git a/ArmVirtPkg/Library/QemuVirtMemInfoLib/QemuVirtMemInfoLib.c b/ArmVirtPkg/Library/QemuVirtMemInfoLib/QemuVirtMemInfoLib.c
+index 9cf43f06c0..cf569bed99 100644
+--- a/ArmVirtPkg/Library/QemuVirtMemInfoLib/QemuVirtMemInfoLib.c
++++ b/ArmVirtPkg/Library/QemuVirtMemInfoLib/QemuVirtMemInfoLib.c
+@@ -6,12 +6,10 @@
+ 

+ **/

+ 

+-#include <Uefi.h>

+-#include <Pi/PiMultiPhase.h>

++#include <Base.h>

+ #include <Library/ArmLib.h>

+ #include <Library/BaseMemoryLib.h>

+ #include <Library/DebugLib.h>

+-#include <Library/HobLib.h>

+ #include <Library/MemoryAllocationLib.h>

+ 

+ // Number of Virtual Memory Map Descriptors

+@@ -26,28 +24,6 @@
+ #define MACH_VIRT_PERIPH_BASE  0x08000000

+ #define MACH_VIRT_PERIPH_SIZE  SIZE_128MB

+ 

+-/**

+-  Default library constructur that obtains the memory size from a PCD.

+-

+-  @return  Always returns RETURN_SUCCESS

+-

+-**/

+-RETURN_STATUS

+-EFIAPI

+-QemuVirtMemInfoLibConstructor (

+-  VOID

+-  )

+-{

+-  UINT64  Size;

+-  VOID    *Hob;

+-

+-  Size = PcdGet64 (PcdSystemMemorySize);

+-  Hob  = BuildGuidDataHob (&gArmVirtSystemMemorySizeGuid, &Size, sizeof Size);

+-  ASSERT (Hob != NULL);

+-

+-  return RETURN_SUCCESS;

+-}

+-

+ /**

+   Return the Virtual Memory Map of your platform

+ 

+@@ -67,16 +43,9 @@ ArmVirtGetMemoryMap (
+   )

+ {

+   ARM_MEMORY_REGION_DESCRIPTOR  *VirtualMemoryTable;

+-  VOID                          *MemorySizeHob;

+ 

+   ASSERT (VirtualMemoryMap != NULL);

+ 

+-  MemorySizeHob = GetFirstGuidHob (&gArmVirtSystemMemorySizeGuid);

+-  ASSERT (MemorySizeHob != NULL);

+-  if (MemorySizeHob == NULL) {

+-    return;

+-  }

+-

+   VirtualMemoryTable = AllocatePool (

+                          sizeof (ARM_MEMORY_REGION_DESCRIPTOR) *

+                          MAX_VIRTUAL_MEMORY_MAP_DESCRIPTORS

+@@ -90,7 +59,7 @@ ArmVirtGetMemoryMap (
+   // System DRAM

+   VirtualMemoryTable[0].PhysicalBase = PcdGet64 (PcdSystemMemoryBase);

+   VirtualMemoryTable[0].VirtualBase  = VirtualMemoryTable[0].PhysicalBase;

+-  VirtualMemoryTable[0].Length       = *(UINT64 *)GET_GUID_HOB_DATA (MemorySizeHob);

++  VirtualMemoryTable[0].Length       = PcdGet64 (PcdSystemMemorySize);

+   VirtualMemoryTable[0].Attributes   = ARM_MEMORY_REGION_ATTRIBUTE_WRITE_BACK;

+ 

+   DEBUG ((

+diff --git a/ArmVirtPkg/Library/QemuVirtMemInfoLib/QemuVirtMemInfoLib.inf b/ArmVirtPkg/Library/QemuVirtMemInfoLib/QemuVirtMemInfoLib.inf
+index 6acad8bbd7..7150de6c10 100644
+--- a/ArmVirtPkg/Library/QemuVirtMemInfoLib/QemuVirtMemInfoLib.inf
++++ b/ArmVirtPkg/Library/QemuVirtMemInfoLib/QemuVirtMemInfoLib.inf
+@@ -14,7 +14,6 @@
+   MODULE_TYPE                    = BASE

+   VERSION_STRING                 = 1.0

+   LIBRARY_CLASS                  = ArmVirtMemInfoLib

+-  CONSTRUCTOR                    = QemuVirtMemInfoLibConstructor

+ 

+ [Sources]

+   QemuVirtMemInfoLib.c

+@@ -31,9 +30,7 @@
+   BaseMemoryLib

+   DebugLib

+   MemoryAllocationLib

+-

+-[Guids]

+-  gArmVirtSystemMemorySizeGuid

++  PcdLib

+ 

+ [Pcd]

+   gArmTokenSpaceGuid.PcdFvBaseAddress

+diff --git a/ArmVirtPkg/Library/QemuVirtMemInfoLib/QemuVirtMemInfoPeiLib.inf b/ArmVirtPkg/Library/QemuVirtMemInfoLib/QemuVirtMemInfoPeiLib.inf
+index f045e39a41..7ecf6dfbb7 100644
+--- a/ArmVirtPkg/Library/QemuVirtMemInfoLib/QemuVirtMemInfoPeiLib.inf
++++ b/ArmVirtPkg/Library/QemuVirtMemInfoLib/QemuVirtMemInfoPeiLib.inf
+@@ -32,16 +32,16 @@
+   BaseMemoryLib

+   DebugLib

+   FdtLib

++  PcdLib

+   MemoryAllocationLib

+ 

+-[Guids]

+-  gArmVirtSystemMemorySizeGuid

+-

+-[FixedPcd]

++[Pcd]

+   gArmTokenSpaceGuid.PcdFdBaseAddress

+   gArmTokenSpaceGuid.PcdFvBaseAddress

+   gArmTokenSpaceGuid.PcdSystemMemoryBase

+   gArmTokenSpaceGuid.PcdSystemMemorySize

++

++[FixedPcd]

+   gArmTokenSpaceGuid.PcdFdSize

+   gArmTokenSpaceGuid.PcdFvSize

+   gArmVirtTokenSpaceGuid.PcdDeviceTreeInitialBaseAddress

+diff --git a/ArmVirtPkg/Library/QemuVirtMemInfoLib/QemuVirtMemInfoPeiLibConstructor.c b/ArmVirtPkg/Library/QemuVirtMemInfoLib/QemuVirtMemInfoPeiLibConstructor.c
+index c47ab82966..33d3597d57 100644
+--- a/ArmVirtPkg/Library/QemuVirtMemInfoLib/QemuVirtMemInfoPeiLibConstructor.c
++++ b/ArmVirtPkg/Library/QemuVirtMemInfoLib/QemuVirtMemInfoPeiLibConstructor.c
+@@ -6,10 +6,9 @@
+ 

+ **/

+ 

+-#include <Uefi.h>

+-#include <Pi/PiMultiPhase.h>

++#include <Base.h>

+ #include <Library/DebugLib.h>

+-#include <Library/HobLib.h>

++#include <Library/PcdLib.h>

+ #include <libfdt.h>

+ 

+ RETURN_STATUS

+@@ -18,14 +17,14 @@ QemuVirtMemInfoPeiLibConstructor (
+   VOID

+   )

+ {

+-  VOID          *DeviceTreeBase;

+-  INT32         Node, Prev;

+-  UINT64        NewBase, CurBase;

+-  UINT64        NewSize, CurSize;

+-  CONST CHAR8   *Type;

+-  INT32         Len;

+-  CONST UINT64  *RegProp;

+-  VOID          *Hob;

++  VOID           *DeviceTreeBase;

++  INT32          Node, Prev;

++  UINT64         NewBase, CurBase;

++  UINT64         NewSize, CurSize;

++  CONST CHAR8    *Type;

++  INT32          Len;

++  CONST UINT64   *RegProp;

++  RETURN_STATUS  PcdStatus;

+ 

+   NewBase = 0;

+   NewSize = 0;

+@@ -87,13 +86,8 @@ QemuVirtMemInfoPeiLibConstructor (
+   // Make sure the start of DRAM matches our expectation

+   //

+   ASSERT (FixedPcdGet64 (PcdSystemMemoryBase) == NewBase);

+-

+-  Hob = BuildGuidDataHob (

+-          &gArmVirtSystemMemorySizeGuid,

+-          &NewSize,

+-          sizeof NewSize

+-          );

+-  ASSERT (Hob != NULL);

++  PcdStatus = PcdSet64S (PcdSystemMemorySize, NewSize);

++  ASSERT_RETURN_ERROR (PcdStatus);

+ 

+   //

+   // We need to make sure that the machine we are running on has at least