Hi Graeme,

On 22/03/16 11:27, Graeme Gregory wrote:
On Tue, Mar 08, 2016 at 11:29:30AM +0000, Julien Grall wrote:
@@ -1020,6 +1060,13 @@ gic_acpi_parse_madt_gicc(struct acpi_subtable_header 
*header,
                return -ENOMEM;

        gic_acpi_register_redist(gicc->gicr_base_address, redist_base);
+
+       acpi_data.maint_irq = gicc->vgic_interrupt;
+       acpi_data.maint_irq_mode = (gicc->flags & ACPI_MADT_VGIC_IRQ_MODE) ?
+                                   ACPI_EDGE_SENSITIVE : ACPI_LEVEL_SENSITIVE;
+       acpi_data.vctrl_base = gicc->gich_base_address;
+       acpi_data.vcpu_base = gicc->gicv_base_address;
+
        return 0;
  }

Placing this here means that it will not collect the info in the case
where there is a Generic Interrupt Redistributor structure in the MADT.

I guess collecting this info should not be a side effect of happening to
pass GICC for redistributor base. Which unfortuneately probably means we
do need to parse the GICCs specifically for this information.

I noticed it while testing on some platform. It's now fixed and will be in the next version.

Regards,

--
Julien Grall

Reply via email to