lkml.org 
[lkml]   [2014]   [Sep]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH v3 13/17] ARM64 / ACPI: Add GICv2 specific ACPI boot support
    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





    \
     
     \ /
      Last update: 2014-09-04 12:41    [W:4.201 / U:0.248 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site