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/x68k/x68k Pull up part of revision 1.51 (via p...



details:   https://anonhg.NetBSD.org/src/rev/a1fb7708c519
branches:  netbsd-1-4
changeset: 469742:a1fb7708c519
user:      he <he%NetBSD.org@localhost>
date:      Sun Nov 21 15:44:19 1999 +0000

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

diffstat:

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

diffs (29 lines):

diff -r 8e498313fa45 -r a1fb7708c519 sys/arch/x68k/x68k/locore.s
--- a/sys/arch/x68k/x68k/locore.s       Sun Nov 21 15:43:51 1999 +0000
+++ b/sys/arch/x68k/x68k/locore.s       Sun Nov 21 15:44:19 1999 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: locore.s,v 1.41.2.3 1999/06/24 15:58:16 perry Exp $    */
+/*     $NetBSD: locore.s,v 1.41.2.4 1999/11/21 15:44:19 he Exp $       */
 
 /*
  * Copyright (c) 1988 University of Utah.
@@ -409,9 +409,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     Lkbrkpt                 | 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     Lkbrkpt                 | yes, kernel breakpoint
        jra     fault                   | no, user-mode fault
 
 /*



Home | Main Index | Thread Index | Old Index