@@ -190,6 +190,45 @@ void __init acpi_table_print_madt_entry(struct acpi_subtable_header *header)
}
break;
+ case ACPI_MADT_TYPE_GENERIC_INTERRUPT:
+ {
+ struct acpi_madt_generic_interrupt *p =
+ (struct acpi_madt_generic_interrupt *)header;
+ printk(KERN_INFO PREFIX
+ "GIC (acpi_id[0x%04x] gic_id[0x%04x] %s)\n",
+ p->uid, p->gic_id,
+ (p->flags & ACPI_MADT_ENABLED) ? "enabled" : "disabled");
+ }
+ break;
+
+ case ACPI_MADT_TYPE_GENERIC_DISTRIBUTOR:
+ {
+ struct acpi_madt_generic_distributor *p =
+ (struct acpi_madt_generic_distributor *)header;
+ printk(KERN_INFO PREFIX
+ "GIC Distributor (id[0x%04x] address[0x%08llx] gsi_base[%d])\n",
+ p->gic_id, (long long unsigned int)p->base_address, p->global_irq_base);
+ }
+ break;
+
+ case ACPI_MADT_TYPE_GIC_MSI_FRAME:
+ {
+ struct acpi_madt_gic_msi_frame *p =
+ (struct acpi_madt_gic_msi_frame *)header;
+ printk("GIC MSI Frame (address[0x%08llx] msi_fame_id[%d])\n",
+ (long long unsigned int)p->base_address, p->gic_msi_frame_id);
+ }
+ break;
+
+ case ACPI_MADT_TYPE_GIC_REDISTRIBUTOR:
+ {
+ struct acpi_madt_gic_redistributor *p =
+ (struct acpi_madt_gic_redistributor *)header;
+ printk("GIC Redistributor (address[0x%08llx] region_size[0x%x])\n",
+ (long long unsigned int)p->base_address, p->region_size);
+ }
+ break;
+
default:
printk(KERN_WARNING PREFIX
"Found unsupported MADT entry (type = %#x)\n",