Signed-off-by: Andre Przywara <andre.przywara@xxxxxxxxxx>
---
  xen/arch/arm/gic-v3.c | 21 ++++++++++-----------
  1 file changed, 10 insertions(+), 11 deletions(-)
diff --git a/xen/arch/arm/gic-v3.c b/xen/arch/arm/gic-v3.c
index 9ad0cd19ef..1c24ecbba7 100644
--- a/xen/arch/arm/gic-v3.c
+++ b/xen/arch/arm/gic-v3.c
@@ -1168,10 +1168,10 @@ static int gicv3_make_hwdom_dt_node(const struct domain 
*d,
      if ( res )
          return res;
  
-    if ( d->arch.vgic.nr_regions > 1 )
+    if ( gicv3.rdist_count > 1 )
      {
          res = fdt_property_cell(fdt, "#redistributor-regions",
-                                d->arch.vgic.nr_regions);
+                                gicv3.rdist_count);
          if ( res )
              return res;
      }
@@ -1182,7 +1182,7 @@ static int gicv3_make_hwdom_dt_node(const struct domain 
*d,
       * CPU interface and virtual cpu interfaces accessesed as System registers
       * So cells are created only for Distributor and rdist regions
       */
-    len = len * (d->arch.vgic.nr_regions + 1);
+    len = len * (gicv3.rdist_count + 1);
      new_cells = xzalloc_bytes(len);
      if ( new_cells == NULL )
          return -FDT_ERR_XEN(ENOMEM);
@@ -1191,9 +1191,9 @@ static int gicv3_make_hwdom_dt_node(const struct domain 
*d,
  
      dt_set_range(&tmp, gic, d->arch.vgic.dbase, SZ_64K);
  
-    for ( i = 0; i < d->arch.vgic.nr_regions; i++ )
-        dt_set_range(&tmp, gic, d->arch.vgic.rdist_regions[i].base,
-                     d->arch.vgic.rdist_regions[i].size);
+    for ( i = 0; i < gicv3.rdist_count; i++ )
+        dt_set_range(&tmp, gic, gicv3.rdist_regions[i].base,
+                     gicv3.rdist_regions[i].size);
  
      res = fdt_property(fdt, "reg", new_cells, len);
      xfree(new_cells);
@@ -1419,13 +1419,13 @@ static int gicv3_make_hwdom_madt(const struct domain 
*d, u32 offset)
  
      /* Add Generic Redistributor */
      size = sizeof(struct acpi_madt_generic_redistributor);
-    for ( i = 0; i < d->arch.vgic.nr_regions; i++ )
+    for ( i = 0; i < gicv3.rdist_count; i++ )
      {
          gicr = (struct acpi_madt_generic_redistributor *)(base_ptr + 
table_len);
          gicr->header.type = ACPI_MADT_TYPE_GENERIC_REDISTRIBUTOR;
          gicr->header.length = size;
-        gicr->base_address = d->arch.vgic.rdist_regions[i].base;
-        gicr->length = d->arch.vgic.rdist_regions[i].size;
+        gicr->base_address = gicv3.rdist_regions[i].base;
+        gicr->length = gicv3.rdist_regions[i].size;
          table_len += size;
      }
  
@@ -1438,8 +1438,7 @@ static unsigned long gicv3_get_hwdom_extra_madt_size(const struct domain *d)
  {
      unsigned long size;
  
-    size = sizeof(struct acpi_madt_generic_redistributor)
-           * d->arch.vgic.nr_regions;
+    size = sizeof(struct acpi_madt_generic_redistributor) * gicv3.rdist_count;
  
      size += sizeof(struct acpi_madt_generic_translator)
              * vgic_v3_its_count(d);