Source-Changes-HG archive

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

[src/netbsd-1-4]: src/sys/arch/atari/atari Pull up revision 1.64 (requested b...



details:   https://anonhg.NetBSD.org/src/rev/88491aedf937
branches:  netbsd-1-4
changeset: 469736:88491aedf937
user:      he <he%NetBSD.org@localhost>
date:      Sun Nov 21 15:36:48 1999 +0000

description:
Pull up revision 1.64 (requested by itohy):
  Fix the problem where single-step tracing of a trap instruction
  makes the system fall into kernel debugger.

diffstat:

 sys/arch/atari/atari/locore.s |  14 +++++++++++---
 1 files changed, 11 insertions(+), 3 deletions(-)

diffs (29 lines):

diff -r d505b43c376c -r 88491aedf937 sys/arch/atari/atari/locore.s
--- a/sys/arch/atari/atari/locore.s     Sun Nov 21 15:36:21 1999 +0000
+++ b/sys/arch/atari/atari/locore.s     Sun Nov 21 15:36:48 1999 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: locore.s,v 1.60.2.1 1999/04/30 16:22:56 perry Exp $    */
+/*     $NetBSD: locore.s,v 1.60.2.2 1999/11/21 15:36:48 he Exp $       */
 
 /*
  * Copyright (c) 1988 University of Utah.
@@ -434,9 +434,17 @@
        clrl    sp@-                    | stack adjust count
        moveml  #0xFFFF,sp@-
        moveq   #T_TRACE,d0
+
+       | Check PSW and see what happen.
+       |   T=0 S=0     (should not happen)
+       |   T=1 S=0     trace trap from user mode
+       |   T=0 S=1     trace trap on a trap instruction
+       |   T=1 S=1     trace trap from system mode (kernel breakpoint)
+
        movw    sp@(FR_HW),d1           | get PSW
-       andw    #PSL_S,d1               | from system mode?
-       jne     kbrkpt                  | yes, kernel breakpoint
+       notw    d1                      | XXX no support for T0 on 680[234]0
+       andw    #PSL_TS,d1              | from system mode (T=1, S=1)?
+       jeq     kbrkpt                  | yes, kernel breakpoint
        jra     fault                   | no, user-mode fault
 
 /*



Home | Main Index | Thread Index | Old Index