Changeset View
Changeset View
Standalone View
Standalone View
sys/arm64/arm64/gic_v3_fdt.c
Show First 20 Lines • Show All 137 Lines • ▼ Show 20 Lines | gic_v3_fdt_attach(device_t dev) | ||||
/* Add Message Based Interrupts using SPIs. */ | /* Add Message Based Interrupts using SPIs. */ | ||||
ret = OF_getencprop_alloc_multi(ofw_bus_get_node(dev), "mbi-ranges", | ret = OF_getencprop_alloc_multi(ofw_bus_get_node(dev), "mbi-ranges", | ||||
sizeof(*mbi_ranges), (void **)&mbi_ranges); | sizeof(*mbi_ranges), (void **)&mbi_ranges); | ||||
if (ret > 0) { | if (ret > 0) { | ||||
if (ret % 2 == 0) { | if (ret % 2 == 0) { | ||||
/* Limit to a single range for now. */ | /* Limit to a single range for now. */ | ||||
sc->gic_mbi_start = mbi_ranges[0]; | sc->gic_mbi_start = mbi_ranges[0]; | ||||
sc->gic_mbi_end = mbi_ranges[0] + mbi_ranges[1] - 1; | sc->gic_mbi_end = mbi_ranges[0] + mbi_ranges[1]; | ||||
} else { | } else { | ||||
if (bootverbose) | if (bootverbose) | ||||
device_printf(dev, "Malformed mbi-ranges property\n"); | device_printf(dev, "Malformed mbi-ranges property\n"); | ||||
} | } | ||||
free(mbi_ranges, M_OFWPROP); | free(mbi_ranges, M_OFWPROP); | ||||
} | } | ||||
err = gic_v3_attach(dev); | err = gic_v3_attach(dev); | ||||
▲ Show 20 Lines • Show All 196 Lines • Show Last 20 Lines |