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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.
[...]

Regards,
Tomasz



--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux