Module Name: src Committed By: jakllsch Date: Sat Apr 28 18:26:53 UTC 2018
Modified Files: src/sys/arch/arm/cortex: gic.c Log Message: Cover all pic_maxsources lines for armgic_cpu_init_priorities() and armgic_cpu_update_priorities(). Previously only the first 32 lines were covered, which is significantly less than the 1000-some interrupt lines possible. Only relevant to MULTIPROCESSOR configurations. To generate a diff of this commit: cvs rdiff -u -r1.33 -r1.34 src/sys/arch/arm/cortex/gic.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/arm/cortex/gic.c diff -u src/sys/arch/arm/cortex/gic.c:1.33 src/sys/arch/arm/cortex/gic.c:1.34 --- src/sys/arch/arm/cortex/gic.c:1.33 Sun Apr 1 04:35:04 2018 +++ src/sys/arch/arm/cortex/gic.c Sat Apr 28 18:26:53 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: gic.c,v 1.33 2018/04/01 04:35:04 ryo Exp $ */ +/* $NetBSD: gic.c,v 1.34 2018/04/28 18:26:53 jakllsch Exp $ */ /*- * Copyright (c) 2012 The NetBSD Foundation, Inc. * All rights reserved. @@ -34,7 +34,7 @@ #define _INTR_PRIVATE #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: gic.c,v 1.33 2018/04/01 04:35:04 ryo Exp $"); +__KERNEL_RCSID(0, "$NetBSD: gic.c,v 1.34 2018/04/28 18:26:53 jakllsch Exp $"); #include <sys/param.h> #include <sys/bus.h> @@ -402,7 +402,7 @@ static void armgic_cpu_init_priorities(struct armgic_softc *sc) { /* Set lowest priority, i.e. disable interrupts */ - for (size_t i = 0; i < 32; i += 4) { + for (size_t i = 0; i < sc->sc_pic.pic_maxsources; i += 4) { const bus_size_t priority_reg = GICD_IPRIORITYRn(i / 4); gicd_write(sc, priority_reg, ~0); } @@ -412,7 +412,7 @@ static void armgic_cpu_update_priorities(struct armgic_softc *sc) { uint32_t enabled = sc->sc_enabled_local; - for (size_t i = 0; i < 32; i += 4, enabled >>= 4) { + for (size_t i = 0; i < sc->sc_pic.pic_maxsources; i += 4, enabled >>= 4) { const bus_size_t priority_reg = GICD_IPRIORITYRn(i / 4); uint32_t priority = gicd_read(sc, priority_reg); uint32_t byte_mask = 0xff;