[edk2,v2,12/24] ArmVirtPkg/VirtFdtDxe: remove handling of fw_cfg DT node

Message ID 1460108711-12122-13-git-send-email-ard.biesheuvel@linaro.org
State Accepted
Commit ba83f7e397f99d96cf145cf6698c1853558532d9
Headers show

Commit Message

Ard Biesheuvel April 8, 2016, 9:44 a.m.
Remove the handling of the fw_cfg DT node from VirtFdtDxe now that the
fw_cfg client library has been moved to the FDT client protocol, and no
longer relies on VirtFdtDxe to pass this information via dynamic PCDs.
Since the PCDs in question are now no longer used, remove them from the
various DEC and DSC files as well.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>

---
 ArmVirtPkg/ArmVirtPkg.dec            |  5 --
 ArmVirtPkg/ArmVirtQemu.dsc           |  4 --
 ArmVirtPkg/ArmVirtQemuKernel.dsc     |  4 --
 ArmVirtPkg/ArmVirtXen.dsc            |  4 --
 ArmVirtPkg/VirtFdtDxe/VirtFdtDxe.c   | 49 --------------------
 ArmVirtPkg/VirtFdtDxe/VirtFdtDxe.inf |  3 --
 6 files changed, 69 deletions(-)

-- 
2.5.0

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Comments

Laszlo Ersek April 8, 2016, 5:30 p.m. | #1
On 04/08/16 11:44, Ard Biesheuvel wrote:
> Remove the handling of the fw_cfg DT node from VirtFdtDxe now that the

> fw_cfg client library has been moved to the FDT client protocol, and no

> longer relies on VirtFdtDxe to pass this information via dynamic PCDs.

> Since the PCDs in question are now no longer used, remove them from the

> various DEC and DSC files as well.

> 

> Contributed-under: TianoCore Contribution Agreement 1.0

> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>

> ---

>  ArmVirtPkg/ArmVirtPkg.dec            |  5 --

>  ArmVirtPkg/ArmVirtQemu.dsc           |  4 --

>  ArmVirtPkg/ArmVirtQemuKernel.dsc     |  4 --

>  ArmVirtPkg/ArmVirtXen.dsc            |  4 --

>  ArmVirtPkg/VirtFdtDxe/VirtFdtDxe.c   | 49 --------------------

>  ArmVirtPkg/VirtFdtDxe/VirtFdtDxe.inf |  3 --

>  6 files changed, 69 deletions(-)


Reviewed-by: Laszlo Ersek <lersek@redhat.com>


_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Patch

diff --git a/ArmVirtPkg/ArmVirtPkg.dec b/ArmVirtPkg/ArmVirtPkg.dec
index 73136adf62c6..9f98f28f01e1 100644
--- a/ArmVirtPkg/ArmVirtPkg.dec
+++ b/ArmVirtPkg/ArmVirtPkg.dec
@@ -59,11 +59,6 @@  [PcdsFixedAtBuild, PcdsPatchableInModule]
   #
   gArmVirtTokenSpaceGuid.PcdTerminalTypeGuidBuffer|{0x65, 0x60, 0xA6, 0xDF, 0x19, 0xB4, 0xD3, 0x11, 0x9A, 0x2D, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D}|VOID*|0x00000007
 
-[PcdsDynamic, PcdsFixedAtBuild]
-  gArmVirtTokenSpaceGuid.PcdFwCfgSelectorAddress|0x0|UINT64|0x00000004
-  gArmVirtTokenSpaceGuid.PcdFwCfgDataAddress|0x0|UINT64|0x00000005
-  gArmVirtTokenSpaceGuid.PcdFwCfgDmaAddress|0x0|UINT64|0x00000009
-
 [PcdsFeatureFlag]
   #
   # "Map PCI MMIO as Cached"
diff --git a/ArmVirtPkg/ArmVirtQemu.dsc b/ArmVirtPkg/ArmVirtQemu.dsc
index 7743d912d21c..651cbfc84787 100644
--- a/ArmVirtPkg/ArmVirtQemu.dsc
+++ b/ArmVirtPkg/ArmVirtQemu.dsc
@@ -221,10 +221,6 @@  [PcdsDynamicDefault.common]
   gArmPlatformTokenSpaceGuid.PcdPciMmio32Size|0x0
   gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0x0
 
-  gArmVirtTokenSpaceGuid.PcdFwCfgSelectorAddress|0x0
-  gArmVirtTokenSpaceGuid.PcdFwCfgDataAddress|0x0
-  gArmVirtTokenSpaceGuid.PcdFwCfgDmaAddress|0x0
-
   #
   # Set video resolution for boot options and for text setup.
   # PlatformDxe can set the former at runtime.
diff --git a/ArmVirtPkg/ArmVirtQemuKernel.dsc b/ArmVirtPkg/ArmVirtQemuKernel.dsc
index a30557d8c306..e6306830c402 100644
--- a/ArmVirtPkg/ArmVirtQemuKernel.dsc
+++ b/ArmVirtPkg/ArmVirtQemuKernel.dsc
@@ -206,10 +206,6 @@  [PcdsDynamicDefault.common]
   gArmPlatformTokenSpaceGuid.PcdPciMmio32Size|0x0
   gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0x0
 
-  gArmVirtTokenSpaceGuid.PcdFwCfgSelectorAddress|0x0
-  gArmVirtTokenSpaceGuid.PcdFwCfgDataAddress|0x0
-  gArmVirtTokenSpaceGuid.PcdFwCfgDmaAddress|0x0
-
   #
   # Set video resolution for boot options and for text setup.
   # PlatformDxe can set the former at runtime.
diff --git a/ArmVirtPkg/ArmVirtXen.dsc b/ArmVirtPkg/ArmVirtXen.dsc
index 7ea46514dad3..0af82be42913 100644
--- a/ArmVirtPkg/ArmVirtXen.dsc
+++ b/ArmVirtPkg/ArmVirtXen.dsc
@@ -142,10 +142,6 @@  [PcdsDynamicDefault.common]
   gArmPlatformTokenSpaceGuid.PcdPciMmio32Size|0x0
   gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0x0
 
-  gArmVirtTokenSpaceGuid.PcdFwCfgSelectorAddress|0x0
-  gArmVirtTokenSpaceGuid.PcdFwCfgDataAddress|0x0
-  gArmVirtTokenSpaceGuid.PcdFwCfgDmaAddress|0x0
-
   gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|3
 
 ################################################################################
diff --git a/ArmVirtPkg/VirtFdtDxe/VirtFdtDxe.c b/ArmVirtPkg/VirtFdtDxe/VirtFdtDxe.c
index 368618956be1..0a47092e35ce 100644
--- a/ArmVirtPkg/VirtFdtDxe/VirtFdtDxe.c
+++ b/ArmVirtPkg/VirtFdtDxe/VirtFdtDxe.c
@@ -45,7 +45,6 @@  typedef enum {
   PropertyTypeRtc,
   PropertyTypeVirtio,
   PropertyTypeUart,
-  PropertyTypeFwCfg,
   PropertyTypePciHost,
   PropertyTypeXen,
 } PROPERTY_TYPE;
@@ -59,7 +58,6 @@  STATIC CONST PROPERTY CompatibleProperties[] = {
   { PropertyTypeRtc,     "arm,pl031"             },
   { PropertyTypeVirtio,  "virtio,mmio"           },
   { PropertyTypeUart,    "arm,pl011"             },
-  { PropertyTypeFwCfg,   "qemu,fw-cfg-mmio"      },
   { PropertyTypePciHost, "pci-host-ecam-generic" },
   { PropertyTypeXen,     "xen,xen"               },
   { PropertyTypeUnknown, ""                      }
@@ -279,12 +277,6 @@  InitializeVirtFdtDxe (
   VIRTIO_TRANSPORT_DEVICE_PATH   *DevicePath;
   EFI_HANDLE                     Handle;
   UINT64                         RegBase;
-  UINT64                         FwCfgSelectorAddress;
-  UINT64                         FwCfgSelectorSize;
-  UINT64                         FwCfgDataAddress;
-  UINT64                         FwCfgDataSize;
-  UINT64                         FwCfgDmaAddress;
-  UINT64                         FwCfgDmaSize;
   BOOLEAN                        HavePci;
 
   Hob = GetFirstGuidHob(&gFdtHobGuid);
@@ -338,47 +330,6 @@  InitializeVirtFdtDxe (
       HavePci = TRUE;
       break;
 
-    case PropertyTypeFwCfg:
-      ASSERT (Len == 2 * sizeof (UINT64));
-
-      FwCfgDataAddress     = fdt64_to_cpu (((UINT64 *)RegProp)[0]);
-      FwCfgDataSize        = 8;
-      FwCfgSelectorAddress = FwCfgDataAddress + FwCfgDataSize;
-      FwCfgSelectorSize    = 2;
-
-      //
-      // The following ASSERT()s express
-      //
-      //   Address + Size - 1 <= MAX_UINTN
-      //
-      // for both registers, that is, that the last byte in each MMIO range is
-      // expressible as a MAX_UINTN. The form below is mathematically
-      // equivalent, and it also prevents any unsigned overflow before the
-      // comparison.
-      //
-      ASSERT (FwCfgSelectorAddress <= MAX_UINTN - FwCfgSelectorSize + 1);
-      ASSERT (FwCfgDataAddress     <= MAX_UINTN - FwCfgDataSize     + 1);
-
-      PcdSet64 (PcdFwCfgSelectorAddress, FwCfgSelectorAddress);
-      PcdSet64 (PcdFwCfgDataAddress,     FwCfgDataAddress);
-
-      DEBUG ((EFI_D_INFO, "Found FwCfg @ 0x%Lx/0x%Lx\n", FwCfgSelectorAddress,
-        FwCfgDataAddress));
-
-      if (fdt64_to_cpu (((UINT64 *)RegProp)[1]) >= 0x18) {
-        FwCfgDmaAddress = FwCfgDataAddress + 0x10;
-        FwCfgDmaSize    = 0x08;
-
-        //
-        // See explanation above.
-        //
-        ASSERT (FwCfgDmaAddress <= MAX_UINTN - FwCfgDmaSize + 1);
-
-        PcdSet64 (PcdFwCfgDmaAddress, FwCfgDmaAddress);
-        DEBUG ((EFI_D_INFO, "Found FwCfg DMA @ 0x%Lx\n", FwCfgDmaAddress));
-      }
-      break;
-
     case PropertyTypeVirtio:
       ASSERT (Len == 16);
       //
diff --git a/ArmVirtPkg/VirtFdtDxe/VirtFdtDxe.inf b/ArmVirtPkg/VirtFdtDxe/VirtFdtDxe.inf
index c928e826c258..6c8ba68599ae 100644
--- a/ArmVirtPkg/VirtFdtDxe/VirtFdtDxe.inf
+++ b/ArmVirtPkg/VirtFdtDxe/VirtFdtDxe.inf
@@ -50,9 +50,6 @@  [Guids]
   gFdtHobGuid
 
 [Pcd]
-  gArmVirtTokenSpaceGuid.PcdFwCfgSelectorAddress
-  gArmVirtTokenSpaceGuid.PcdFwCfgDataAddress
-  gArmVirtTokenSpaceGuid.PcdFwCfgDmaAddress
   gArmPlatformTokenSpaceGuid.PcdPL031RtcBase
   gArmPlatformTokenSpaceGuid.PcdPciBusMin
   gArmPlatformTokenSpaceGuid.PcdPciBusMax