[PATCH v10 11/21] ACPI / table: Print GIC information when MADT is parsed

Hanjun Guo hanjun.guo at linaro.org
Wed Mar 11 05:39:37 PDT 2015

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 at rjwysocki.net>
Tested-by: Suravee Suthikulpanit <Suravee.Suthikulpanit at amd.com>
Tested-by: Yijing Wang <wangyijing at huawei.com>
Tested-by: Mark Langsdorf <mlangsdo at redhat.com>
Tested-by: Jon Masters <jcm at redhat.com>
Tested-by: Timur Tabi <timur at codeaurora.org>
Tested-by: Robert Richter <rrichter at cavium.com>
Acked-by: Robert Richter <rrichter at cavium.com>
Acked-by: Sudeep Holla <sudeep.holla at arm.com>
Acked-by: Rafael J. Wysocki <rafael.j.wysocki at intel.com>
Acked-by: Lorenzo Pieralisi <lorenzo.pieralisi at arm.com>
Acked-by: Grant Likely <grant.likely at linaro.org>
Signed-off-by: Hanjun Guo <hanjun.guo at linaro.org>
Signed-off-by: Tomasz Nowicki <tomasz.nowicki at linaro.org>
 drivers/acpi/tables.c | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/drivers/acpi/tables.c b/drivers/acpi/tables.c
index f4e5b88..2e19189 100644
--- a/drivers/acpi/tables.c
+++ b/drivers/acpi/tables.c
@@ -185,6 +185,28 @@ void acpi_table_print_madt_entry(struct acpi_subtable_header *header)
+		{
+			struct acpi_madt_generic_interrupt *p =
+				(struct acpi_madt_generic_interrupt *)header;
+			pr_debug("GICC (acpi_id[0x%04x] address[%llx] MPIDR[0x%llx] %s)\n",
+				 p->uid, p->base_address,
+				 p->arm_mpidr,
+				 (p->flags & ACPI_MADT_ENABLED) ? "enabled" : "disabled");
+		}
+		break;
+		{
+			struct acpi_madt_generic_distributor *p =
+				(struct acpi_madt_generic_distributor *)header;
+			pr_debug("GIC Distributor (gic_id[0x%04x] address[%llx] gsi_base[%d])\n",
+				 p->gic_id, p->base_address,
+				 p->global_irq_base);
+		}
+		break;
 		pr_warn("Found unsupported MADT entry (type = 0x%x)\n",

More information about the linux-arm-kernel mailing list