Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: src/sys/arch



Module Name:    src
Committed By:   thorpej
Date:           Sat Mar 14 21:03:42 UTC 2026

Modified Files:
        src/sys/arch/amiga/amiga: genassym.cf locore.s vectors.s
        src/sys/arch/atari/atari: genassym.cf locore.s vectors.s
        src/sys/arch/cesfic/cesfic: genassym.cf locore.s
        src/sys/arch/hp300/hp300: genassym.cf locore.s
        src/sys/arch/luna68k/luna68k: locore.s
        src/sys/arch/m68k/conf: files.m68k
        src/sys/arch/m68k/include: cpuframe.h
        src/sys/arch/m68k/m68k: trap_subr.s vectors.c
        src/sys/arch/mac68k/mac68k: genassym.cf locore.s
        src/sys/arch/mvme68k/mvme68k: genassym.cf locore.s
        src/sys/arch/news68k/news68k: genassym.cf locore.s
        src/sys/arch/next68k/next68k: genassym.cf locore.s
        src/sys/arch/sun2/sun2: genassym.cf locore.s
        src/sys/arch/sun3/sun3: genassym.cf locore.s
        src/sys/arch/sun3/sun3x: genassym.cf locore.s
        src/sys/arch/sun68k/include: vectors.h
        src/sys/arch/virt68k/virt68k: genassym.cf locore.s
        src/sys/arch/x68k/x68k: genassym.cf locore.s
Added Files:
        src/sys/arch/m68k/m68k: buserr_10.s buserr_2030.s buserr_4060.s
Removed Files:
        src/sys/arch/m68k/m68k: busaddrerr.s

Log Message:
Clean-up / consolidation of m68k bus error / address error handling
code.  This is not a very radical change for most m68k platforms,
since they were using a version of this re-factored code already via
an #include directive in locore.s.  Now, however, the bus error handlers
are split into CPU "generation"-specific files, and brought into the
kernel via the CPU options in the kernel config file (the goal being
to reduce boilerplate in each locore.s).

The more notable changes:
- amiga and atari no longer have their own copy of each handler, and
  some of their local tweaks have been folded into the shared code.
- sun2's bus error handling code has been re-factored into a shared
  buserr_10.s to facilitate support for other 68010-based systems (all
  of which have their own custom MMU).
- sun3's bus error handling code has been re-refactored into the
  shared buserr_2030.s.  The Sun3-specific MMU handling is treated
  just like the HP-specific MMU handling that was already there.
  This additional #ifdef is a small price to pay for more code sharing.
- sun3x now also uses the shared buserr_2030.s rather than an identical
  local copy of the 68030 MMU handling.

Other minor changes:
- Get rid of magic numbers used a trap frame offsets in the bus error
  handlers; provide proper assym.h constants for them, and add comments
  to each handler describing which format(s) the CPU will use (68010
  uses Format 8, 68020 and 68030 use Format A or Format B depending
  on whether or not the error occurred on an instruction boundary,
  68040 and 68060 use Format 2 for address error, 68040 uses Format 7
  for bus error and 68060 uses Format 4).
- No longer a need for MACHINE_BUSERR_HANDLER or MACHINE_ADDRERR_HANDLER
  hooks, so go ahead and garbage-collect those.


To generate a diff of this commit:
cvs rdiff -u -r1.37 -r1.38 src/sys/arch/amiga/amiga/genassym.cf
cvs rdiff -u -r1.174 -r1.175 src/sys/arch/amiga/amiga/locore.s
cvs rdiff -u -r1.18 -r1.19 src/sys/arch/amiga/amiga/vectors.s
cvs rdiff -u -r1.40 -r1.41 src/sys/arch/atari/atari/genassym.cf
cvs rdiff -u -r1.128 -r1.129 src/sys/arch/atari/atari/locore.s
cvs rdiff -u -r1.24 -r1.25 src/sys/arch/atari/atari/vectors.s
cvs rdiff -u -r1.24 -r1.25 src/sys/arch/cesfic/cesfic/genassym.cf
cvs rdiff -u -r1.52 -r1.53 src/sys/arch/cesfic/cesfic/locore.s
cvs rdiff -u -r1.55 -r1.56 src/sys/arch/hp300/hp300/genassym.cf
cvs rdiff -u -r1.200 -r1.201 src/sys/arch/hp300/hp300/locore.s
cvs rdiff -u -r1.96 -r1.97 src/sys/arch/luna68k/luna68k/locore.s
cvs rdiff -u -r1.58 -r1.59 src/sys/arch/m68k/conf/files.m68k
cvs rdiff -u -r1.10 -r1.11 src/sys/arch/m68k/include/cpuframe.h
cvs rdiff -u -r1.3 -r0 src/sys/arch/m68k/m68k/busaddrerr.s
cvs rdiff -u -r0 -r1.1 src/sys/arch/m68k/m68k/buserr_10.s \
    src/sys/arch/m68k/m68k/buserr_2030.s src/sys/arch/m68k/m68k/buserr_4060.s
cvs rdiff -u -r1.18 -r1.19 src/sys/arch/m68k/m68k/trap_subr.s
cvs rdiff -u -r1.5 -r1.6 src/sys/arch/m68k/m68k/vectors.c
cvs rdiff -u -r1.47 -r1.48 src/sys/arch/mac68k/mac68k/genassym.cf
cvs rdiff -u -r1.190 -r1.191 src/sys/arch/mac68k/mac68k/locore.s
cvs rdiff -u -r1.49 -r1.50 src/sys/arch/mvme68k/mvme68k/genassym.cf
cvs rdiff -u -r1.149 -r1.150 src/sys/arch/mvme68k/mvme68k/locore.s
cvs rdiff -u -r1.40 -r1.41 src/sys/arch/news68k/news68k/genassym.cf
cvs rdiff -u -r1.98 -r1.99 src/sys/arch/news68k/news68k/locore.s
cvs rdiff -u -r1.36 -r1.37 src/sys/arch/next68k/next68k/genassym.cf
cvs rdiff -u -r1.96 -r1.97 src/sys/arch/next68k/next68k/locore.s
cvs rdiff -u -r1.17 -r1.18 src/sys/arch/sun2/sun2/genassym.cf
cvs rdiff -u -r1.38 -r1.39 src/sys/arch/sun2/sun2/locore.s
cvs rdiff -u -r1.22 -r1.23 src/sys/arch/sun3/sun3/genassym.cf
cvs rdiff -u -r1.110 -r1.111 src/sys/arch/sun3/sun3/locore.s
cvs rdiff -u -r1.19 -r1.20 src/sys/arch/sun3/sun3x/genassym.cf
cvs rdiff -u -r1.78 -r1.79 src/sys/arch/sun3/sun3x/locore.s
cvs rdiff -u -r1.2 -r1.3 src/sys/arch/sun68k/include/vectors.h
cvs rdiff -u -r1.5 -r1.6 src/sys/arch/virt68k/virt68k/genassym.cf
cvs rdiff -u -r1.32 -r1.33 src/sys/arch/virt68k/virt68k/locore.s
cvs rdiff -u -r1.41 -r1.42 src/sys/arch/x68k/x68k/genassym.cf
cvs rdiff -u -r1.143 -r1.144 src/sys/arch/x68k/x68k/locore.s

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.




Home | Main Index | Thread Index | Old Index