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