Module Name: src Committed By: jmcneill Date: Mon Sep 20 21:05:15 UTC 2021
Modified Files: src/sys/arch/arm/cortex: gic_splfuncs.c src/sys/arch/arm/fdt: fdt_intr.h src/sys/arch/arm/pic: pic_splfuncs.c picvar.h Log Message: Make _splraise/_spllower/splx functions available to modules again. To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 src/sys/arch/arm/cortex/gic_splfuncs.c cvs rdiff -u -r1.6 -r1.7 src/sys/arch/arm/fdt/fdt_intr.h cvs rdiff -u -r1.21 -r1.22 src/sys/arch/arm/pic/pic_splfuncs.c cvs rdiff -u -r1.35 -r1.36 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_splfuncs.c diff -u src/sys/arch/arm/cortex/gic_splfuncs.c:1.2 src/sys/arch/arm/cortex/gic_splfuncs.c:1.3 --- src/sys/arch/arm/cortex/gic_splfuncs.c:1.2 Sat Sep 18 12:25:07 2021 +++ src/sys/arch/arm/cortex/gic_splfuncs.c Mon Sep 20 21:05:14 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: gic_splfuncs.c,v 1.2 2021/09/18 12:25:07 jmcneill Exp $ */ +/* $NetBSD: gic_splfuncs.c,v 1.3 2021/09/20 21:05:14 jmcneill Exp $ */ /*- * Copyright (c) 2021 Jared McNeill <jmcne...@invisible.ca> @@ -27,7 +27,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: gic_splfuncs.c,v 1.2 2021/09/18 12:25:07 jmcneill Exp $"); +__KERNEL_RCSID(0, "$NetBSD: gic_splfuncs.c,v 1.3 2021/09/20 21:05:14 jmcneill Exp $"); #include <sys/param.h> #include <sys/atomic.h> @@ -127,7 +127,7 @@ dosoft: void gic_spl_init(void) { - _splraise = gic_splraise; - _spllower = gic_spllower; - splx = gic_splx; + pic_splraise = gic_splraise; + pic_spllower = gic_spllower; + pic_splx = gic_splx; } Index: src/sys/arch/arm/fdt/fdt_intr.h diff -u src/sys/arch/arm/fdt/fdt_intr.h:1.6 src/sys/arch/arm/fdt/fdt_intr.h:1.7 --- src/sys/arch/arm/fdt/fdt_intr.h:1.6 Mon Aug 30 23:20:00 2021 +++ src/sys/arch/arm/fdt/fdt_intr.h Mon Sep 20 21:05:15 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: fdt_intr.h,v 1.6 2021/08/30 23:20:00 jmcneill Exp $ */ +/* $NetBSD: fdt_intr.h,v 1.7 2021/09/20 21:05:15 jmcneill Exp $ */ /*- * Copyright (c) 2017 Jared McNeill <jmcne...@invisible.ca> @@ -40,6 +40,10 @@ #define PIC_MAXSOURCES 8192 #define PIC_MAXMAXSOURCES (PIC_MAXSOURCES * 2 + 32) +#define _splraise pic_splraise +#define _spllower pic_spllower +#define splx pic_splx + void arm_fdt_irq_set_handler(void (*)(void *)); void arm_fdt_irq_handler(void *); void arm_fdt_fiq_set_handler(void (*)(void *)); Index: src/sys/arch/arm/pic/pic_splfuncs.c diff -u src/sys/arch/arm/pic/pic_splfuncs.c:1.21 src/sys/arch/arm/pic/pic_splfuncs.c:1.22 --- src/sys/arch/arm/pic/pic_splfuncs.c:1.21 Tue Aug 10 15:31:55 2021 +++ src/sys/arch/arm/pic/pic_splfuncs.c Mon Sep 20 21:05:15 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: pic_splfuncs.c,v 1.21 2021/08/10 15:31:55 jmcneill Exp $ */ +/* $NetBSD: pic_splfuncs.c,v 1.22 2021/09/20 21:05:15 jmcneill Exp $ */ /*- * Copyright (c) 2008 The NetBSD Foundation, Inc. * All rights reserved. @@ -27,8 +27,11 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ + +#include "opt_modular.h" + #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: pic_splfuncs.c,v 1.21 2021/08/10 15:31:55 jmcneill Exp $"); +__KERNEL_RCSID(0, "$NetBSD: pic_splfuncs.c,v 1.22 2021/09/20 21:05:15 jmcneill Exp $"); #define _INTR_PRIVATE #include <sys/param.h> @@ -50,9 +53,9 @@ static int pic_default_splraise(int); static int pic_default_spllower(int); static void pic_default_splx(int); -int (*_splraise)(int) = pic_default_splraise; -int (*_spllower)(int) = pic_default_spllower; -void (*splx)(int) = pic_default_splx; +int (*pic_splraise)(int) = pic_default_splraise; +int (*pic_spllower)(int) = pic_default_spllower; +void (*pic_splx)(int) = pic_default_splx; static int pic_default_splraise(int newipl) @@ -109,3 +112,38 @@ pic_default_splx(int savedipl) KASSERTMSG(ci->ci_cpl == savedipl, "cpl %d savedipl %d", ci->ci_cpl, savedipl); } + +#ifdef MODULAR +#ifdef _spllower +#undef _spllower +#endif +int _spllower(int); + +#ifdef _splraise +#undef _splraise +#endif +int _splraise(int); + +#ifdef splx +#undef splx +#endif +void splx(int); + +int +_spllower(int newipl) +{ + return pic_spllower(newipl); +} + +int +_splraise(int newipl) +{ + return pic_splraise(newipl); +} + +void +splx(int savedipl) +{ + pic_splx(savedipl); +} +#endif /* !MODULAR */ Index: src/sys/arch/arm/pic/picvar.h diff -u src/sys/arch/arm/pic/picvar.h:1.35 src/sys/arch/arm/pic/picvar.h:1.36 --- src/sys/arch/arm/pic/picvar.h:1.35 Tue Aug 10 15:31:55 2021 +++ src/sys/arch/arm/pic/picvar.h Mon Sep 20 21:05:15 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: picvar.h,v 1.35 2021/08/10 15:31:55 jmcneill Exp $ */ +/* $NetBSD: picvar.h,v 1.36 2021/09/20 21:05:15 jmcneill Exp $ */ /*- * Copyright (c) 2008 The NetBSD Foundation, Inc. * All rights reserved. @@ -40,9 +40,9 @@ typedef uint32_t intr_handle_t; /* for ACPI */ -extern int (*_splraise)(int); -extern int (*_spllower)(int); -extern void (*splx)(int); +extern int (*pic_splraise)(int); +extern int (*pic_spllower)(int); +extern void (*pic_splx)(int); const char * intr_typename(int);