From 6d9e17fc83112c05b2858a756a3263c1026527e3 Mon Sep 17 00:00:00 2001 From: Andrew Turner Date: Fri, 2 Mar 2018 13:04:21 +0000 Subject: [PATCH] Count the number of children in the GICv3 ACPI attachment. This is needed later for assigning IRQ vector space. Sponsored by: DARPA, AFRL Sponsored by: Cavium (Hardware) --- sys/arm64/arm64/gic_v3_acpi.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/arm64/arm64/gic_v3_acpi.c b/sys/arm64/arm64/gic_v3_acpi.c index 00a5e3712087..23b327a24029 100644 --- a/sys/arm64/arm64/gic_v3_acpi.c +++ b/sys/arm64/arm64/gic_v3_acpi.c @@ -297,12 +297,14 @@ gic_v3_add_children(ACPI_SUBTABLE_HEADER *entry, void *arg) { ACPI_MADT_GENERIC_TRANSLATOR *gict; struct gic_v3_acpi_devinfo *di; + struct gic_v3_softc *sc; device_t child, dev; if (entry->Type == ACPI_MADT_TYPE_GENERIC_TRANSLATOR) { /* We have an ITS, add it as a child */ gict = (ACPI_MADT_GENERIC_TRANSLATOR *)entry; dev = arg; + sc = device_get_softc(dev); child = device_add_child(dev, "its", -1); if (child == NULL) @@ -313,6 +315,7 @@ gic_v3_add_children(ACPI_SUBTABLE_HEADER *entry, void *arg) resource_list_add(&di->di_rl, SYS_RES_MEMORY, 0, gict->BaseAddress, gict->BaseAddress + 128 * 1024 - 1, 128 * 1024); + sc->gic_nchildren++; device_set_ivars(child, di); } }