Revision: 18101
          http://sourceforge.net/p/edk2/code/18101
Author:   abiesheuvel
Date:     2015-07-28 20:45:25 +0000 (Tue, 28 Jul 2015)
Log Message:
-----------
ArmVirtPkg: record GIC revision in dynamic PCD

In order to allow a ArmGicArchLib to be implemented that returns
the supported GIC revision based on the device tree, add handling
to VirtFdtDxe to record the GIC revision at DT parsing time.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <[email protected]>
Reviewed-by: Laszlo Ersek <[email protected]>
Reviewed-by: Leif Lindholm <[email protected]>
Tested-by: Leif Lindholm <[email protected]>

Modified Paths:
--------------
    trunk/edk2/ArmVirtPkg/ArmVirtPkg.dec
    trunk/edk2/ArmVirtPkg/ArmVirtQemu.dsc
    trunk/edk2/ArmVirtPkg/ArmVirtXen.dsc
    trunk/edk2/ArmVirtPkg/VirtFdtDxe/VirtFdtDxe.c
    trunk/edk2/ArmVirtPkg/VirtFdtDxe/VirtFdtDxe.inf

Modified: trunk/edk2/ArmVirtPkg/ArmVirtPkg.dec
===================================================================
--- trunk/edk2/ArmVirtPkg/ArmVirtPkg.dec        2015-07-28 20:45:10 UTC (rev 
18100)
+++ trunk/edk2/ArmVirtPkg/ArmVirtPkg.dec        2015-07-28 20:45:25 UTC (rev 
18101)
@@ -68,6 +68,11 @@
   gArmVirtTokenSpaceGuid.PcdFwCfgSelectorAddress|0x0|UINT64|0x00000004
   gArmVirtTokenSpaceGuid.PcdFwCfgDataAddress|0x0|UINT64|0x00000005
 
+  #
+  # Supported GIC revision (2, 3, ...)
+  #
+  gArmVirtTokenSpaceGuid.PcdArmGicRevision|0x0|UINT32|0x00000008
+
 [PcdsFeatureFlag]
   #
   # "Map PCI MMIO as Cached"

Modified: trunk/edk2/ArmVirtPkg/ArmVirtQemu.dsc
===================================================================
--- trunk/edk2/ArmVirtPkg/ArmVirtQemu.dsc       2015-07-28 20:45:10 UTC (rev 
18100)
+++ trunk/edk2/ArmVirtPkg/ArmVirtQemu.dsc       2015-07-28 20:45:25 UTC (rev 
18101)
@@ -205,6 +205,7 @@
   gArmTokenSpaceGuid.PcdGicDistributorBase|0x0
   gArmTokenSpaceGuid.PcdGicRedistributorsBase|0x0
   gArmTokenSpaceGuid.PcdGicInterruptInterfaceBase|0x0
+  gArmVirtTokenSpaceGuid.PcdArmGicRevision|0x0
 
   ## PL031 RealTimeClock
   gArmPlatformTokenSpaceGuid.PcdPL031RtcBase|0x0

Modified: trunk/edk2/ArmVirtPkg/ArmVirtXen.dsc
===================================================================
--- trunk/edk2/ArmVirtPkg/ArmVirtXen.dsc        2015-07-28 20:45:10 UTC (rev 
18100)
+++ trunk/edk2/ArmVirtPkg/ArmVirtXen.dsc        2015-07-28 20:45:25 UTC (rev 
18101)
@@ -127,6 +127,7 @@
   gArmTokenSpaceGuid.PcdGicDistributorBase|0x0
   gArmTokenSpaceGuid.PcdGicRedistributorsBase|0x0
   gArmTokenSpaceGuid.PcdGicInterruptInterfaceBase|0x0
+  gArmVirtTokenSpaceGuid.PcdArmGicRevision|0x0
 
   ## PL031 RealTimeClock
   gArmPlatformTokenSpaceGuid.PcdPL031RtcBase|0x0

Modified: trunk/edk2/ArmVirtPkg/VirtFdtDxe/VirtFdtDxe.c
===================================================================
--- trunk/edk2/ArmVirtPkg/VirtFdtDxe/VirtFdtDxe.c       2015-07-28 20:45:10 UTC 
(rev 18100)
+++ trunk/edk2/ArmVirtPkg/VirtFdtDxe/VirtFdtDxe.c       2015-07-28 20:45:25 UTC 
(rev 18101)
@@ -441,6 +441,7 @@
 
       PcdSet32 (PcdGicDistributorBase, (UINT32)DistBase);
       PcdSet32 (PcdGicInterruptInterfaceBase, (UINT32)CpuBase);
+      PcdSet32 (PcdArmGicRevision, 2);
 
       DEBUG ((EFI_D_INFO, "Found GIC @ 0x%Lx/0x%Lx\n", DistBase, CpuBase));
       break;
@@ -470,6 +471,7 @@
 
       PcdSet32 (PcdGicDistributorBase, (UINT32)DistBase);
       PcdSet32 (PcdGicRedistributorsBase, (UINT32)RedistBase);
+      PcdSet32 (PcdArmGicRevision, 3);
 
       DEBUG ((EFI_D_INFO, "Found GIC v3 (re)distributor @ 0x%Lx (0x%Lx)\n",
         DistBase, RedistBase));

Modified: trunk/edk2/ArmVirtPkg/VirtFdtDxe/VirtFdtDxe.inf
===================================================================
--- trunk/edk2/ArmVirtPkg/VirtFdtDxe/VirtFdtDxe.inf     2015-07-28 20:45:10 UTC 
(rev 18100)
+++ trunk/edk2/ArmVirtPkg/VirtFdtDxe/VirtFdtDxe.inf     2015-07-28 20:45:25 UTC 
(rev 18101)
@@ -53,6 +53,7 @@
   gArmVirtTokenSpaceGuid.PcdArmPsciMethod
   gArmVirtTokenSpaceGuid.PcdFwCfgSelectorAddress
   gArmVirtTokenSpaceGuid.PcdFwCfgDataAddress
+  gArmVirtTokenSpaceGuid.PcdArmGicRevision
   gArmTokenSpaceGuid.PcdGicDistributorBase
   gArmTokenSpaceGuid.PcdGicRedistributorsBase
   gArmTokenSpaceGuid.PcdGicInterruptInterfaceBase


------------------------------------------------------------------------------
_______________________________________________
edk2-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-commits

Reply via email to