Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ACPI / table: Print GIC information when MADT is parsed

When MADT is parsed, print GIC information as debug message:

ACPI: GICC (acpi_id[0x0000] address[00000000e112f000] MPIDR[0x0] enabled)
ACPI: GICC (acpi_id[0x0001] address[00000000e112f000] MPIDR[0x1] enabled)
...
ACPI: GICC (acpi_id[0x0201] address[00000000e112f000] MPIDR[0x201] enabled)

This debug information will be very helpful to bring up early systems to
see if acpi_id and MPIDR are matched or not as spec defined.

CC: Rafael J. Wysocki <rjw@rjwysocki.net>
Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@amd.com>
Tested-by: Yijing Wang <wangyijing@huawei.com>
Tested-by: Mark Langsdorf <mlangsdo@redhat.com>
Tested-by: Jon Masters <jcm@redhat.com>
Tested-by: Timur Tabi <timur@codeaurora.org>
Tested-by: Robert Richter <rrichter@cavium.com>
Acked-by: Robert Richter <rrichter@cavium.com>
Acked-by: Sudeep Holla <sudeep.holla@arm.com>
Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Acked-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Acked-by: Grant Likely <grant.likely@linaro.org>
Signed-off-by: Hanjun Guo <hanjun.guo@linaro.org>
Signed-off-by: Tomasz Nowicki <tomasz.nowicki@linaro.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>

authored by

Hanjun Guo and committed by
Will Deacon
4c1c8d7a 7c59a3df

+22
+22
drivers/acpi/tables.c
··· 185 185 } 186 186 break; 187 187 188 + case ACPI_MADT_TYPE_GENERIC_INTERRUPT: 189 + { 190 + struct acpi_madt_generic_interrupt *p = 191 + (struct acpi_madt_generic_interrupt *)header; 192 + pr_debug("GICC (acpi_id[0x%04x] address[%llx] MPIDR[0x%llx] %s)\n", 193 + p->uid, p->base_address, 194 + p->arm_mpidr, 195 + (p->flags & ACPI_MADT_ENABLED) ? "enabled" : "disabled"); 196 + 197 + } 198 + break; 199 + 200 + case ACPI_MADT_TYPE_GENERIC_DISTRIBUTOR: 201 + { 202 + struct acpi_madt_generic_distributor *p = 203 + (struct acpi_madt_generic_distributor *)header; 204 + pr_debug("GIC Distributor (gic_id[0x%04x] address[%llx] gsi_base[%d])\n", 205 + p->gic_id, p->base_address, 206 + p->global_irq_base); 207 + } 208 + break; 209 + 188 210 default: 189 211 pr_warn("Found unsupported MADT entry (type = 0x%x)\n", 190 212 header->type);