CVS commit: src/sys/arch
"Jason R Thorpe" <[email protected]>
| Newsgroups | gmane.os.netbsd.devel.cvs |
|---|---|
| Message-ID | <[email protected]> |
Module Name: src Committed By: thorpej Date: Sat Mar 21 20:14:58 UTC 2026 Modified Files: src/sys/arch/amiga/amiga: locore.s machdep.c trap.c vectors.s src/sys/arch/amiga/conf: Makefile.amiga src/sys/arch/atari/atari: atari_init.c locore.s machdep.c vectors.s src/sys/arch/atari/conf: files.atari src/sys/arch/cesfic/cesfic: locore.s machdep.c trap.c src/sys/arch/cesfic/conf: Makefile.cesfic files.cesfic src/sys/arch/hp300/conf: Makefile.hp300 files.hp300 src/sys/arch/hp300/hp300: locore.s machdep.c src/sys/arch/luna68k/conf: Makefile.luna68k files.luna68k src/sys/arch/luna68k/luna68k: locore.s machdep.c trap.c src/sys/arch/m68k/conf: files.m68k src/sys/arch/m68k/include: linux_bootinfo.h m68k.h vectors.h src/sys/arch/m68k/m68k: fpu.c trap_subr.s vectors.c src/sys/arch/mac68k/conf: files.mac68k src/sys/arch/mac68k/mac68k: fpu_machdep.c locore.s vectors.s src/sys/arch/mvme68k/conf: Makefile.mvme68k files.mvme68k src/sys/arch/mvme68k/mvme68k: locore.s machdep.c src/sys/arch/news68k/conf: Makefile.news68k files.news68k src/sys/arch/news68k/news68k: locore.s trap.c src/sys/arch/next68k/conf: Makefile.next68k files.next68k src/sys/arch/next68k/next68k: locore.s machdep.c trap.c src/sys/arch/sun2/conf: Makefile.sun2 src/sys/arch/sun2/sun2: locore.s machdep.c machdep.h src/sys/arch/sun3/conf: Makefile.sun3 files.sun3 src/sys/arch/sun3/sun3: fpu_machdep.c locore.s machdep.c src/sys/arch/sun3/sun3x: locore.s machdep.c src/sys/arch/sun68k/conf: files.sun68k src/sys/arch/virt68k/conf: Makefile.virt68k files.virt68k src/sys/arch/virt68k/virt68k: locore.s machdep.c src/sys/arch/x68k/conf: files.x68k src/sys/arch/x68k/x68k: locore.s machdep.c vectors.s Added Files: src/sys/arch/amiga/include: vectors.h src/sys/arch/atari/include: vectors.h Log Message: Re-factor m68k FP exception handling: - Move the FP exception stubs into the shared trap_subr.s. Remove as many conditionals from the stubs as feasible, having separate stubs for each case that needs to be handled. This doesn't really result in any more (or duplicated) code, and makes it all a lot easier to read. - All platforms now call the new fpu_init() function, which is renamed from fpu_probe(), and centralizes all of the FP-related initialization. Platforms that don't need to probe for the FPU aren't forced to do so; the probe only occurs if the fputype is FPU_UNKNOWN at the time fpu_init() is called. - Even on platforms that don't actually need to probe the FPU, make sure the "nofault" code is present in trap() to do so; this is meant to reduce diffs that need to be resolved later then the trap() function is re-factored. - On Amiga and Atari, remove the bespoke vectab code and just use the shared vec_init(). Additional cleanup is possible in this area. To generate a diff of this commit: cvs rdiff -u -r1.180 -r1.181 src/sys/arch/amiga/amiga/locore.s cvs rdiff -u -r1.259 -r1.260 src/sys/arch/amiga/amiga/machdep.c cvs rdiff -u -r1.144 -r1.145 src/sys/arch/amiga/amiga/trap.c cvs rdiff -u -r1.19 -r1.20 src/sys/arch/amiga/amiga/vectors.s cvs rdiff -u -r1.111 -r1.112 src/sys/arch/amiga/conf/Makefile.amiga cvs rdiff -u -r0 -r1.1 src/sys/arch/amiga/include/vectors.h cvs rdiff -u -r1.115 -r1.116 src/sys/arch/atari/atari/atari_init.c cvs rdiff -u -r1.135 -r1.136 src/sys/arch/atari/atari/locore.s cvs rdiff -u -r1.195 -r1.196 src/sys/arch/atari/atari/machdep.c cvs rdiff -u -r1.25 -r1.26 src/sys/arch/atari/atari/vectors.s cvs rdiff -u -r1.126 -r1.127 src/sys/arch/atari/conf/files.atari cvs rdiff -u -r0 -r1.1 src/sys/arch/atari/include/vectors.h cvs rdiff -u -r1.59 -r1.60 src/sys/arch/cesfic/cesfic/locore.s cvs rdiff -u -r1.78 -r1.79 src/sys/arch/cesfic/cesfic/machdep.c cvs rdiff -u -r1.64 -r1.65 src/sys/arch/cesfic/cesfic/trap.c cvs rdiff -u -r1.20 -r1.21 src/sys/arch/cesfic/conf/Makefile.cesfic cvs rdiff -u -r1.21 -r1.22 src/sys/arch/cesfic/conf/files.cesfic cvs rdiff -u -r1.95 -r1.96 src/sys/arch/hp300/conf/Makefile.hp300 cvs rdiff -u -r1.100 -r1.101 src/sys/arch/hp300/conf/files.hp300 cvs rdiff -u -r1.206 -r1.207 src/sys/arch/hp300/hp300/locore.s cvs rdiff -u -r1.253 -r1.254 src/sys/arch/hp300/hp300/machdep.c cvs rdiff -u -r1.30 -r1.31 src/sys/arch/luna68k/conf/Makefile.luna68k cvs rdiff -u -r1.35 -r1.36 src/sys/arch/luna68k/conf/files.luna68k cvs rdiff -u -r1.102 -r1.103 src/sys/arch/luna68k/luna68k/locore.s cvs rdiff -u -r1.119 -r1.120 src/sys/arch/luna68k/luna68k/machdep.c cvs rdiff -u -r1.81 -r1.82 src/sys/arch/luna68k/luna68k/trap.c cvs rdiff -u -r1.60 -r1.61 src/sys/arch/m68k/conf/files.m68k cvs rdiff -u -r1.1 -r1.2 src/sys/arch/m68k/include/linux_bootinfo.h cvs rdiff -u -r1.29 -r1.30 src/sys/arch/m68k/include/m68k.h cvs rdiff -u -r1.6 -r1.7 src/sys/arch/m68k/include/vectors.h cvs rdiff -u -r1.3 -r1.4 src/sys/arch/m68k/m68k/fpu.c cvs rdiff -u -r1.26 -r1.27 src/sys/arch/m68k/m68k/trap_subr.s cvs rdiff -u -r1.8 -r1.9 src/sys/arch/m68k/m68k/vectors.c cvs rdiff -u -r1.137 -r1.138 src/sys/arch/mac68k/conf/files.mac68k cvs rdiff -u -r1.1 -r1.2 src/sys/arch/mac68k/mac68k/fpu_machdep.c cvs rdiff -u -r1.198 -r1.199 src/sys/arch/mac68k/mac68k/locore.s cvs rdiff -u -r1.18 -r1.19 src/sys/arch/mac68k/mac68k/vectors.s cvs rdiff -u -r1.69 -r1.70 src/sys/arch/mvme68k/conf/Makefile.mvme68k cvs rdiff -u -r1.71 -r1.72 src/sys/arch/mvme68k/conf/files.mvme68k cvs rdiff -u -r1.155 -r1.156 src/sys/arch/mvme68k/mvme68k/locore.s cvs rdiff -u -r1.175 -r1.176 src/sys/arch/mvme68k/mvme68k/machdep.c cvs rdiff -u -r1.24 -r1.25 src/sys/arch/news68k/conf/Makefile.news68k cvs rdiff -u -r1.41 -r1.42 src/sys/arch/news68k/conf/files.news68k cvs rdiff -u -r1.104 -r1.105 src/sys/arch/news68k/news68k/locore.s cvs rdiff -u -r1.78 -r1.79 src/sys/arch/news68k/news68k/trap.c cvs rdiff -u -r1.32 -r1.33 src/sys/arch/next68k/conf/Makefile.next68k cvs rdiff -u -r1.46 -r1.47 src/sys/arch/next68k/conf/files.next68k cvs rdiff -u -r1.102 -r1.103 src/sys/arch/next68k/next68k/locore.s cvs rdiff -u -r1.128 -r1.129 src/sys/arch/next68k/next68k/machdep.c cvs rdiff -u -r1.98 -r1.99 src/sys/arch/next68k/next68k/trap.c cvs rdiff -u -r1.29 -r1.30 src/sys/arch/sun2/conf/Makefile.sun2 cvs rdiff -u -r1.44 -r1.45 src/sys/arch/sun2/sun2/locore.s cvs rdiff -u -r1.88 -r1.89 src/sys/arch/sun2/sun2/machdep.c cvs rdiff -u -r1.16 -r1.17 src/sys/arch/sun2/sun2/machdep.h cvs rdiff -u -r1.111 -r1.112 src/sys/arch/sun3/conf/Makefile.sun3 cvs rdiff -u -r1.83 -r1.84 src/sys/arch/sun3/conf/files.sun3 cvs rdiff -u -r1.3 -r1.4 src/sys/arch/sun3/sun3/fpu_machdep.c cvs rdiff -u -r1.116 -r1.117 src/sys/arch/sun3/sun3/locore.s cvs rdiff -u -r1.215 -r1.216 src/sys/arch/sun3/sun3/machdep.c cvs rdiff -u -r1.81 -r1.82 src/sys/arch/sun3/sun3x/locore.s cvs rdiff -u -r1.142 -r1.143 src/sys/arch/sun3/sun3x/machdep.c cvs rdiff -u -r1.7 -r1.8 src/sys/arch/sun68k/conf/files.sun68k cvs rdiff -u -r1.1 -r1.2 src/sys/arch/virt68k/conf/Makefile.virt68k cvs rdiff -u -r1.7 -r1.8 src/sys/arch/virt68k/conf/files.virt68k cvs rdiff -u -r1.38 -r1.39 src/sys/arch/virt68k/virt68k/locore.s cvs rdiff -u -r1.26 -r1.27 src/sys/arch/virt68k/virt68k/machdep.c cvs rdiff -u -r1.88 -r1.89 src/sys/arch/x68k/conf/files.x68k cvs rdiff -u -r1.150 -r1.151 src/sys/arch/x68k/x68k/locore.s cvs rdiff -u -r1.218 -r1.219 src/sys/arch/x68k/x68k/machdep.c cvs rdiff -u -r1.19 -r1.20 src/sys/arch/x68k/x68k/vectors.s Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.