Module Name: src Committed By: matt Date: Sat Apr 11 16:47:47 UTC 2015
Modified Files: src/sys/arch/arm/cortex: gic.c src/sys/arch/arm/pic: picvar.h Log Message: Add a pic_cpus to the softc which specifies which cpus the pic can send IPIs to. For GIC, initialize pic_cpus to kcpuset_running since it can handle all the cpus. To generate a diff of this commit: cvs rdiff -u -r1.17 -r1.18 src/sys/arch/arm/cortex/gic.c cvs rdiff -u -r1.13 -r1.14 src/sys/arch/arm/pic/picvar.h 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.17 src/sys/arch/arm/cortex/gic.c:1.18 --- src/sys/arch/arm/cortex/gic.c:1.17 Thu Apr 9 00:38:29 2015 +++ src/sys/arch/arm/cortex/gic.c Sat Apr 11 16:47:47 2015 @@ -1,4 +1,4 @@ -/* $NetBSD: gic.c,v 1.17 2015/04/09 00:38:29 matt Exp $ */ +/* $NetBSD: gic.c,v 1.18 2015/04/11 16:47:47 matt 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.17 2015/04/09 00:38:29 matt Exp $"); +__KERNEL_RCSID(0, "$NetBSD: gic.c,v 1.18 2015/04/11 16:47:47 matt Exp $"); #include <sys/param.h> #include <sys/bus.h> @@ -569,6 +569,9 @@ armgic_attach(device_t parent, device_t "%zu sources (%zu valid)\n", sc->sc_pic.pic_maxsources, sc->sc_gic_lines); +#ifdef MULTIPROCESSOR + sc->sc_pic.pic_cpus = kcpuset_running; +#endif pic_add(&sc->sc_pic, 0); /* Index: src/sys/arch/arm/pic/picvar.h diff -u src/sys/arch/arm/pic/picvar.h:1.13 src/sys/arch/arm/pic/picvar.h:1.14 --- src/sys/arch/arm/pic/picvar.h:1.13 Thu Apr 9 06:03:43 2015 +++ src/sys/arch/arm/pic/picvar.h Sat Apr 11 16:47:47 2015 @@ -1,4 +1,4 @@ -/* $NetBSD: picvar.h,v 1.13 2015/04/09 06:03:43 matt Exp $ */ +/* $NetBSD: picvar.h,v 1.14 2015/04/11 16:47:47 matt Exp $ */ /*- * Copyright (c) 2008 The NetBSD Foundation, Inc. * All rights reserved. @@ -130,6 +130,9 @@ struct pic_softc { volatile uint32_t pic_blocked_irqs[(PIC_MAXSOURCES + 31) / 32]; volatile uint32_t pic_pending_ipls; #endif +#ifdef MULTIPROCESSOR + kcpuset_t *pic_cpus; +#endif size_t pic_maxsources; percpu_t *pic_percpu; uint8_t pic_id;