Module Name: src Committed By: thorpej Date: Fri Jan 12 23:36:30 UTC 2024
Modified Files: src/sys/arch/luna68k/luna68k: isr.c locore.s src/sys/arch/m68k/include: psl.h src/sys/arch/mvme68k/mvme68k: locore.s src/sys/arch/news68k/include: cpu.h src/sys/arch/news68k/news68k: locore.s src/sys/arch/next68k/next68k: locore.s src/sys/arch/sun2/sun2: locore.s machdep.h src/sys/arch/sun3/sun3: locore.s machdep.h src/sys/arch/sun3/sun3x: locore.s src/sys/arch/sun68k/include: intr.h src/sys/arch/sun68k/sun68k: isr.c src/sys/arch/virt68k/virt68k: locore.s Log Message: Make getsr() an inline in <m68k/psl.h> and G/C all of the now-redudant copies. To generate a diff of this commit: cvs rdiff -u -r1.25 -r1.26 src/sys/arch/luna68k/luna68k/isr.c cvs rdiff -u -r1.74 -r1.75 src/sys/arch/luna68k/luna68k/locore.s cvs rdiff -u -r1.16 -r1.17 src/sys/arch/m68k/include/psl.h cvs rdiff -u -r1.124 -r1.125 src/sys/arch/mvme68k/mvme68k/locore.s cvs rdiff -u -r1.47 -r1.48 src/sys/arch/news68k/include/cpu.h cvs rdiff -u -r1.77 -r1.78 src/sys/arch/news68k/news68k/locore.s cvs rdiff -u -r1.79 -r1.80 src/sys/arch/next68k/next68k/locore.s cvs rdiff -u -r1.30 -r1.31 src/sys/arch/sun2/sun2/locore.s cvs rdiff -u -r1.13 -r1.14 src/sys/arch/sun2/sun2/machdep.h cvs rdiff -u -r1.102 -r1.103 src/sys/arch/sun3/sun3/locore.s cvs rdiff -u -r1.39 -r1.40 src/sys/arch/sun3/sun3/machdep.h cvs rdiff -u -r1.70 -r1.71 src/sys/arch/sun3/sun3x/locore.s cvs rdiff -u -r1.21 -r1.22 src/sys/arch/sun68k/include/intr.h cvs rdiff -u -r1.27 -r1.28 src/sys/arch/sun68k/sun68k/isr.c cvs rdiff -u -r1.7 -r1.8 src/sys/arch/virt68k/virt68k/locore.s 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/luna68k/luna68k/isr.c diff -u src/sys/arch/luna68k/luna68k/isr.c:1.25 src/sys/arch/luna68k/luna68k/isr.c:1.26 --- src/sys/arch/luna68k/luna68k/isr.c:1.25 Fri Apr 2 12:11:41 2021 +++ src/sys/arch/luna68k/luna68k/isr.c Fri Jan 12 23:36:29 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: isr.c,v 1.25 2021/04/02 12:11:41 rin Exp $ */ +/* $NetBSD: isr.c,v 1.26 2024/01/12 23:36:29 thorpej Exp $ */ /*- * Copyright (c) 1996 The NetBSD Foundation, Inc. @@ -31,7 +31,7 @@ #include <sys/cdefs.h> /* RCS ID & Copyright macro defns */ -__KERNEL_RCSID(0, "$NetBSD: isr.c,v 1.25 2021/04/02 12:11:41 rin Exp $"); +__KERNEL_RCSID(0, "$NetBSD: isr.c,v 1.26 2024/01/12 23:36:29 thorpej Exp $"); /* * Link and dispatch interrupts. @@ -56,8 +56,6 @@ extern void (*vectab[])(void); extern void badtrap(void); extern void intrhand_vectored(void); -extern int getsr(void); /* in locore.s */ - void isrinit(void) { Index: src/sys/arch/luna68k/luna68k/locore.s diff -u src/sys/arch/luna68k/luna68k/locore.s:1.74 src/sys/arch/luna68k/luna68k/locore.s:1.75 --- src/sys/arch/luna68k/luna68k/locore.s:1.74 Tue Jan 9 07:28:25 2024 +++ src/sys/arch/luna68k/luna68k/locore.s Fri Jan 12 23:36:29 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: locore.s,v 1.74 2024/01/09 07:28:25 thorpej Exp $ */ +/* $NetBSD: locore.s,v 1.75 2024/01/12 23:36:29 thorpej Exp $ */ /* * Copyright (c) 1988 University of Utah. @@ -777,11 +777,6 @@ ENTRY(ecacheon) ENTRY(ecacheoff) rts -ENTRY(getsr) - moveq #0,%d0 - movw %sr,%d0 - rts - /* * _delay(u_int N) * Index: src/sys/arch/m68k/include/psl.h diff -u src/sys/arch/m68k/include/psl.h:1.16 src/sys/arch/m68k/include/psl.h:1.17 --- src/sys/arch/m68k/include/psl.h:1.16 Fri Jan 27 23:29:14 2023 +++ src/sys/arch/m68k/include/psl.h Fri Jan 12 23:36:29 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: psl.h,v 1.16 2023/01/27 23:29:14 tsutsui Exp $ */ +/* $NetBSD: psl.h,v 1.17 2024/01/12 23:36:29 thorpej Exp $ */ /* * Copyright (c) 1982, 1986, 1993 @@ -75,12 +75,22 @@ * spl functions; platform-specific code must define spl0 and splx(). */ +static inline int +getsr(void) +{ + int sr; + + __asm volatile("clrl %0; movew %%sr,%0" : "=&d" (sr)); + + return sr; +} + static __inline int _spl(int s) { int sr; - __asm volatile ("movew %%sr,%0; movew %1,%%sr" : + __asm volatile ("clrl %0; movew %%sr,%0; movew %1,%%sr" : "=&d" (sr) : "di" (s) : "memory"); return sr; @@ -91,10 +101,10 @@ _splraise(int level) { int sr; - __asm volatile("movw %%sr,%0" : "=d" (sr)); + __asm volatile("clrl %0; movew %%sr,%0" : "=&d" (sr)); if ((uint16_t)level >= PSL_HIGHIPL || (uint16_t)level > (uint16_t)sr) - __asm volatile("movw %0,%%sr" :: "di" (level) : "memory"); + __asm volatile("movew %0,%%sr" : : "di" (level) : "memory"); return sr; } Index: src/sys/arch/mvme68k/mvme68k/locore.s diff -u src/sys/arch/mvme68k/mvme68k/locore.s:1.124 src/sys/arch/mvme68k/mvme68k/locore.s:1.125 --- src/sys/arch/mvme68k/mvme68k/locore.s:1.124 Fri Jan 12 01:53:57 2024 +++ src/sys/arch/mvme68k/mvme68k/locore.s Fri Jan 12 23:36:29 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: locore.s,v 1.124 2024/01/12 01:53:57 thorpej Exp $ */ +/* $NetBSD: locore.s,v 1.125 2024/01/12 23:36:29 thorpej Exp $ */ /* * Copyright (c) 1988 University of Utah. @@ -1080,11 +1080,6 @@ ENTRY(ecacheon) ENTRY(ecacheoff) rts -ENTRY(getsr) - moveq #0,%d0 - movw %sr,%d0 - rts - /* * _delay(unsigned N) * Index: src/sys/arch/news68k/include/cpu.h diff -u src/sys/arch/news68k/include/cpu.h:1.47 src/sys/arch/news68k/include/cpu.h:1.48 --- src/sys/arch/news68k/include/cpu.h:1.47 Tue Jan 9 04:16:26 2024 +++ src/sys/arch/news68k/include/cpu.h Fri Jan 12 23:36:29 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: cpu.h,v 1.47 2024/01/09 04:16:26 thorpej Exp $ */ +/* $NetBSD: cpu.h,v 1.48 2024/01/12 23:36:29 thorpej Exp $ */ /* * Copyright (c) 1988 University of Utah. @@ -157,8 +157,6 @@ struct frame; /* locore.s functions */ void badtrap(void); void intrhand_vectored(void); -int getsr(void); - void doboot(int) __attribute__((__noreturn__)); Index: src/sys/arch/news68k/news68k/locore.s diff -u src/sys/arch/news68k/news68k/locore.s:1.77 src/sys/arch/news68k/news68k/locore.s:1.78 --- src/sys/arch/news68k/news68k/locore.s:1.77 Tue Jan 9 07:28:26 2024 +++ src/sys/arch/news68k/news68k/locore.s Fri Jan 12 23:36:29 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: locore.s,v 1.77 2024/01/09 07:28:26 thorpej Exp $ */ +/* $NetBSD: locore.s,v 1.78 2024/01/12 23:36:29 thorpej Exp $ */ /* * Copyright (c) 1988 University of Utah. @@ -880,11 +880,6 @@ ENTRY(ecacheoff) Lnocache8: rts -ENTRY(getsr) - moveq #0,%d0 - movw %sr,%d0 - rts - /* * _delay(unsigned N) * Index: src/sys/arch/next68k/next68k/locore.s diff -u src/sys/arch/next68k/next68k/locore.s:1.79 src/sys/arch/next68k/next68k/locore.s:1.80 --- src/sys/arch/next68k/next68k/locore.s:1.79 Tue Jan 9 07:28:26 2024 +++ src/sys/arch/next68k/next68k/locore.s Fri Jan 12 23:36:29 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: locore.s,v 1.79 2024/01/09 07:28:26 thorpej Exp $ */ +/* $NetBSD: locore.s,v 1.80 2024/01/12 23:36:29 thorpej Exp $ */ /* * Copyright (c) 1998 Darrin B. Jewell @@ -902,11 +902,6 @@ ENTRY(spl0) Lspldone: rts -ENTRY(getsr) - moveq #0,%d0 - movw %sr,%d0 - rts - /* * _delay(u_int N) * Index: src/sys/arch/sun2/sun2/locore.s diff -u src/sys/arch/sun2/sun2/locore.s:1.30 src/sys/arch/sun2/sun2/locore.s:1.31 --- src/sys/arch/sun2/sun2/locore.s:1.30 Fri Jan 12 01:53:57 2024 +++ src/sys/arch/sun2/sun2/locore.s Fri Jan 12 23:36:29 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: locore.s,v 1.30 2024/01/12 01:53:57 thorpej Exp $ */ +/* $NetBSD: locore.s,v 1.31 2024/01/12 23:36:29 thorpej Exp $ */ /* * Copyright (c) 1980, 1990, 1993 @@ -571,11 +571,6 @@ ENTRY(setvbr) * Most places will use the inlined functions param.h supplies. */ -ENTRY(_getsr) - clrl %d0 - movw %sr,%d0 - rts - ENTRY(_spl) clrl %d0 movw %sr,%d0 Index: src/sys/arch/sun2/sun2/machdep.h diff -u src/sys/arch/sun2/sun2/machdep.h:1.13 src/sys/arch/sun2/sun2/machdep.h:1.14 --- src/sys/arch/sun2/sun2/machdep.h:1.13 Fri Jun 16 18:17:42 2017 +++ src/sys/arch/sun2/sun2/machdep.h Fri Jan 12 23:36:29 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: machdep.h,v 1.13 2017/06/16 18:17:42 jdolecek Exp $ */ +/* $NetBSD: machdep.h,v 1.14 2024/01/12 23:36:29 thorpej Exp $ */ /* * Copyright (c) 1982, 1990 The Regents of the University of California. @@ -115,9 +115,6 @@ int fpu_emulate(struct trapframe *, str int getdfc(void); int getsfc(void); -/* Backward compatibility... */ -#define getsr _getsr - void** getvbr(void); void initfpu(void); Index: src/sys/arch/sun3/sun3/locore.s diff -u src/sys/arch/sun3/sun3/locore.s:1.102 src/sys/arch/sun3/sun3/locore.s:1.103 --- src/sys/arch/sun3/sun3/locore.s:1.102 Fri Jan 12 01:53:57 2024 +++ src/sys/arch/sun3/sun3/locore.s Fri Jan 12 23:36:29 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: locore.s,v 1.102 2024/01/12 01:53:57 thorpej Exp $ */ +/* $NetBSD: locore.s,v 1.103 2024/01/12 23:36:29 thorpej Exp $ */ /* * Copyright (c) 1980, 1990, 1993 @@ -637,12 +637,6 @@ ENTRY(setvbr) * Most places will use the inlined functions param.h supplies. */ -ENTRY(_getsr) - clrl %d0 - movw %sr,%d0 - movl %d0,%a0 - rts - ENTRY(_spl) clrl %d0 movw %sr,%d0 Index: src/sys/arch/sun3/sun3/machdep.h diff -u src/sys/arch/sun3/sun3/machdep.h:1.39 src/sys/arch/sun3/sun3/machdep.h:1.40 --- src/sys/arch/sun3/sun3/machdep.h:1.39 Fri Jun 16 18:17:42 2017 +++ src/sys/arch/sun3/sun3/machdep.h Fri Jan 12 23:36:30 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: machdep.h,v 1.39 2017/06/16 18:17:42 jdolecek Exp $ */ +/* $NetBSD: machdep.h,v 1.40 2024/01/12 23:36:30 thorpej Exp $ */ /* * Copyright (c) 1982, 1990 The Regents of the University of California. @@ -114,9 +114,6 @@ void enable_video(int); int fpu_emulate(struct trapframe *, struct fpframe *, ksiginfo_t *); -/* Backward compatibility... */ -#define getsr _getsr - void** getvbr(void); int getcrp(struct mmu_rootptr *); Index: src/sys/arch/sun3/sun3x/locore.s diff -u src/sys/arch/sun3/sun3x/locore.s:1.70 src/sys/arch/sun3/sun3x/locore.s:1.71 --- src/sys/arch/sun3/sun3x/locore.s:1.70 Fri Jan 12 01:53:57 2024 +++ src/sys/arch/sun3/sun3x/locore.s Fri Jan 12 23:36:30 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: locore.s,v 1.70 2024/01/12 01:53:57 thorpej Exp $ */ +/* $NetBSD: locore.s,v 1.71 2024/01/12 23:36:30 thorpej Exp $ */ /* * Copyright (c) 1988 University of Utah. @@ -642,12 +642,6 @@ ENTRY(ptest_addr) * Most places will use the inlined functions param.h supplies. */ -ENTRY(_getsr) - clrl %d0 - movw %sr,%d0 - movl %a1,%d0 - rts - ENTRY(_spl) clrl %d0 movw %sr,%d0 Index: src/sys/arch/sun68k/include/intr.h diff -u src/sys/arch/sun68k/include/intr.h:1.21 src/sys/arch/sun68k/include/intr.h:1.22 --- src/sys/arch/sun68k/include/intr.h:1.21 Tue Jul 11 11:46:38 2023 +++ src/sys/arch/sun68k/include/intr.h Fri Jan 12 23:36:30 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: intr.h,v 1.21 2023/07/11 11:46:38 riastradh Exp $ */ +/* $NetBSD: intr.h,v 1.22 2024/01/12 23:36:30 thorpej Exp $ */ /* * Copyright (c) 2001 Matt Fredette. @@ -105,18 +105,6 @@ void isr_add_custom(int, void *); * (See the GCC extensions info document.) */ -static __inline int _getsr(void); - -/* Get current sr value. */ -static __inline int -_getsr(void) -{ - int rv; - - __asm volatile ("clrl %0; movew %%sr,%0" : "=&d" (rv)); - return (rv); -} - /* * The rest of this is sun68k specific, because other ports may * need to do special things in spl0() (i.e. simulate SIR). Index: src/sys/arch/sun68k/sun68k/isr.c diff -u src/sys/arch/sun68k/sun68k/isr.c:1.27 src/sys/arch/sun68k/sun68k/isr.c:1.28 --- src/sys/arch/sun68k/sun68k/isr.c:1.27 Fri Sep 2 23:48:10 2022 +++ src/sys/arch/sun68k/sun68k/isr.c Fri Jan 12 23:36:30 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: isr.c,v 1.27 2022/09/02 23:48:10 thorpej Exp $ */ +/* $NetBSD: isr.c,v 1.28 2024/01/12 23:36:30 thorpej Exp $ */ /*- * Copyright (c) 1996 The NetBSD Foundation, Inc. @@ -34,7 +34,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: isr.c,v 1.27 2022/09/02 23:48:10 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: isr.c,v 1.28 2024/01/12 23:36:30 thorpej Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -172,7 +172,7 @@ isr_vectored(struct clockframe cf) idepth++; vec = (cf.cf_vo & 0xFFF) >> 2; - ipl = _getsr(); + ipl = getsr(); ipl = (ipl >> 8) & 7; intrcnt[ipl]++; Index: src/sys/arch/virt68k/virt68k/locore.s diff -u src/sys/arch/virt68k/virt68k/locore.s:1.7 src/sys/arch/virt68k/virt68k/locore.s:1.8 --- src/sys/arch/virt68k/virt68k/locore.s:1.7 Fri Jan 12 01:53:57 2024 +++ src/sys/arch/virt68k/virt68k/locore.s Fri Jan 12 23:36:30 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: locore.s,v 1.7 2024/01/12 01:53:57 thorpej Exp $ */ +/* $NetBSD: locore.s,v 1.8 2024/01/12 23:36:30 thorpej Exp $ */ /* * Copyright (c) 1988 University of Utah. @@ -648,11 +648,6 @@ ENTRY(ecacheon) ENTRY(ecacheoff) rts -ENTRY(getsr) - moveq #0,%d0 - movw %sr,%d0 - rts - /* * Misc. global variables. */