mirror of
https://github.com/freebsd/freebsd-src
synced 2024-10-07 00:50:50 +00:00
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)
This commit is contained in:
parent
86ba49a722
commit
6d9e17fc83
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=330276
|
@ -297,12 +297,14 @@ gic_v3_add_children(ACPI_SUBTABLE_HEADER *entry, void *arg)
|
||||||
{
|
{
|
||||||
ACPI_MADT_GENERIC_TRANSLATOR *gict;
|
ACPI_MADT_GENERIC_TRANSLATOR *gict;
|
||||||
struct gic_v3_acpi_devinfo *di;
|
struct gic_v3_acpi_devinfo *di;
|
||||||
|
struct gic_v3_softc *sc;
|
||||||
device_t child, dev;
|
device_t child, dev;
|
||||||
|
|
||||||
if (entry->Type == ACPI_MADT_TYPE_GENERIC_TRANSLATOR) {
|
if (entry->Type == ACPI_MADT_TYPE_GENERIC_TRANSLATOR) {
|
||||||
/* We have an ITS, add it as a child */
|
/* We have an ITS, add it as a child */
|
||||||
gict = (ACPI_MADT_GENERIC_TRANSLATOR *)entry;
|
gict = (ACPI_MADT_GENERIC_TRANSLATOR *)entry;
|
||||||
dev = arg;
|
dev = arg;
|
||||||
|
sc = device_get_softc(dev);
|
||||||
|
|
||||||
child = device_add_child(dev, "its", -1);
|
child = device_add_child(dev, "its", -1);
|
||||||
if (child == NULL)
|
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,
|
resource_list_add(&di->di_rl, SYS_RES_MEMORY, 0,
|
||||||
gict->BaseAddress, gict->BaseAddress + 128 * 1024 - 1,
|
gict->BaseAddress, gict->BaseAddress + 128 * 1024 - 1,
|
||||||
128 * 1024);
|
128 * 1024);
|
||||||
|
sc->gic_nchildren++;
|
||||||
device_set_ivars(child, di);
|
device_set_ivars(child, di);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue