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 --- |