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.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.