gic_v3.c (4ab0f5ab3fd6dcd7f76c1ed1c9dc0dcd152fb64f) gic_v3.c (85918beb387f179abc93a6c613801fb9761ff1e2)
1/*-
2 * Copyright (c) 2015-2016 The FreeBSD Foundation
3 *
4 * This software was developed by Andrew Turner under
5 * the sponsorship of the FreeBSD Foundation.
6 *
7 * This software was developed by Semihalf under
8 * the sponsorship of the FreeBSD Foundation.

--- 1079 unchanged lines hidden (view full) ---

1088 gic_d_write(sc, 8, GICD_IROUTER(gi->gi_irq), CPU_AFFINITY(cpu));
1089 }
1090
1091 return (0);
1092}
1093
1094#ifdef SMP
1095static void
1/*-
2 * Copyright (c) 2015-2016 The FreeBSD Foundation
3 *
4 * This software was developed by Andrew Turner under
5 * the sponsorship of the FreeBSD Foundation.
6 *
7 * This software was developed by Semihalf under
8 * the sponsorship of the FreeBSD Foundation.

--- 1079 unchanged lines hidden (view full) ---

1088 gic_d_write(sc, 8, GICD_IROUTER(gi->gi_irq), CPU_AFFINITY(cpu));
1089 }
1090
1091 return (0);
1092}
1093
1094#ifdef SMP
1095static void
1096gic_v3_init_secondary(device_t dev)
1096gic_v3_init_secondary(device_t dev, uint32_t rootnum)
1097{
1098 struct gic_v3_setup_periph_args pargs;
1099 device_t child;
1100 struct gic_v3_softc *sc;
1101 gic_v3_initseq_t *init_func;
1102 struct intr_irqsrc *isrc;
1103 u_int cpu, irq;
1104 int err, i;

--- 30 unchanged lines hidden (view full) ---

1135 pargs.isrc = isrc;
1136 gic_v3_setup_intr_periph(&pargs);
1137 gic_v3_enable_intr_periph(&pargs);
1138 }
1139 }
1140
1141 for (i = 0; i < sc->gic_nchildren; i++) {
1142 child = sc->gic_children[i];
1097{
1098 struct gic_v3_setup_periph_args pargs;
1099 device_t child;
1100 struct gic_v3_softc *sc;
1101 gic_v3_initseq_t *init_func;
1102 struct intr_irqsrc *isrc;
1103 u_int cpu, irq;
1104 int err, i;

--- 30 unchanged lines hidden (view full) ---

1135 pargs.isrc = isrc;
1136 gic_v3_setup_intr_periph(&pargs);
1137 gic_v3_enable_intr_periph(&pargs);
1138 }
1139 }
1140
1141 for (i = 0; i < sc->gic_nchildren; i++) {
1142 child = sc->gic_children[i];
1143 PIC_INIT_SECONDARY(child);
1143 PIC_INIT_SECONDARY(child, rootnum);
1144 }
1145}
1146
1147static void
1148gic_v3_ipi_send(device_t dev, struct intr_irqsrc *isrc, cpuset_t cpus,
1149 u_int ipi)
1150{
1151 struct gic_v3_irqsrc *gi = (struct gic_v3_irqsrc *)isrc;

--- 561 unchanged lines hidden ---
1144 }
1145}
1146
1147static void
1148gic_v3_ipi_send(device_t dev, struct intr_irqsrc *isrc, cpuset_t cpus,
1149 u_int ipi)
1150{
1151 struct gic_v3_irqsrc *gi = (struct gic_v3_irqsrc *)isrc;

--- 561 unchanged lines hidden ---