Module Name: src Committed By: isaki Date: Sat Apr 29 03:17:30 UTC 2023
Modified Files: src/sys/arch/m68k/m68k: busaddrerr.s Log Message: m68k: Support TT(Transparent Translation) for 020/030 buserror handler. This avoids a panic when trying badaddr() against to an address where bus error occurs in the TT region. Only luna68k and news68k use TT. Discussed on port-m68k. To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 src/sys/arch/m68k/m68k/busaddrerr.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/m68k/m68k/busaddrerr.s diff -u src/sys/arch/m68k/m68k/busaddrerr.s:1.1 src/sys/arch/m68k/m68k/busaddrerr.s:1.2 --- src/sys/arch/m68k/m68k/busaddrerr.s:1.1 Sat Mar 15 09:22:36 2014 +++ src/sys/arch/m68k/m68k/busaddrerr.s Sat Apr 29 03:17:30 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: busaddrerr.s,v 1.1 2014/03/15 09:22:36 tsutsui Exp $ */ +/* $NetBSD: busaddrerr.s,v 1.2 2023/04/29 03:17:30 isaki Exp $ */ /* * Copyright (c) 1988 University of Utah. @@ -219,7 +219,12 @@ Lbe10: jeq Lbe10a | if no, done movql #5,%d0 | else supervisor program access Lbe10a: - ptestr %d0,%a0@,#7 | do a table search + ptestr %d0,%a0@,#0 | only PTEST #0 can detect transparent + pmove %psr,%sp@ | translation (TT0 or TT1). + movw %sp@,%d1 + btst #6,%d1 | transparent (TT0 or TT1)? + jne Lisberr1 | yes -> bus error + ptestr %d0,%a0@,#7 | no, do a table search pmove %psr,%sp@ | save result movb %sp@,%d1 btst #2,%d1 | invalid (incl. limit viol. and berr)?