Re: [PATCH v3 13/17] ARM64 / ACPI: Add GICv2 specific ACPI boot support

From: Arnd Bergmann
Date: Thu Sep 04 2014 - 06:15:20 EST


On Thursday 04 September 2014 12:10:28 Tomasz Nowicki wrote:
> On 03.09.2014 20:42, Arnd Bergmann wrote:
> > On Monday 01 September 2014 22:57:51 Hanjun Guo wrote:
> >> + /* Collect CPU base addresses */
> >> + count = acpi_parse_entries(sizeof(struct acpi_table_madt),
> >> + gic_acpi_parse_madt_cpu, table,
> >> + ACPI_MADT_TYPE_GENERIC_INTERRUPT,
> >> + ACPI_MAX_GIC_CPU_INTERFACE_ENTRIES);
> >> + if (count < 0) {
> >> + pr_err("Error during GICC entries parsing\n");
> >> + return -EFAULT;
> >> + } else if (!count) {
> >> + /* No GICC entries provided, use address from MADT header */
> >> + struct acpi_table_madt *madt = (struct acpi_table_madt *)table;
> >> +
> >> + if (!madt->address)
> >> + return -EFAULT;
> >> +
> >> + cpu_phy_base = (u64)madt->address;
> >> + }
> >
> > After I read through ACPI-5.1 section 5.2.12.14, I wonder if this is the
> > best way to treat a missing ACPI_MADT_TYPE_GENERIC_INTERRUPT table.
> >
> > Do we expect to see those in practice? It seems like using the x86 local
> > APIC address as a fallback for the GIC address is not something we
> > should do unless we absolutely have to support a system that doesn't
> > have the GIC table.
>
> No, we do not expect and hopefully there will be no such
>
> But, we are trying to be as much as possible inline with 5.1 spec,
> 5.2.12.14 says:
> [...]
> If provided here (CPU physical base address), the "Local Interrupt
> Controller Address" field in the MADT must be ignored by the OSPM.
> [...]
>

Yes, that's what I saw. So ignoring it all the time is fine, right?
Presumably the madt->address field is only referenced here because
some pre-5.1 implementations used to do that.

Arnd
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/