diff options
author | jhb <jhb@FreeBSD.org> | 2001-11-03 21:42:25 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2001-11-03 21:42:25 +0000 |
commit | 008cbb2ddee52fd6e070d16340a547b330412183 (patch) | |
tree | 1ae9464a4be4c12eb850224b6e03fca899753ef5 | |
parent | 6bee569517374aa99e8f938044c8335356c64e8c (diff) | |
download | FreeBSD-src-008cbb2ddee52fd6e070d16340a547b330412183.zip FreeBSD-src-008cbb2ddee52fd6e070d16340a547b330412183.tar.gz |
Add support for trace traps by returning from them just as for breakpoint
traps rather than halting. Ideally, we should avoid printing the
'BTX halted' message for debug register dumps.
-rw-r--r-- | sys/boot/i386/btx/btx/btx.S | 6 | ||||
-rw-r--r-- | sys/boot/i386/btx/btx/btx.s | 6 |
2 files changed, 10 insertions, 2 deletions
diff --git a/sys/boot/i386/btx/btx/btx.S b/sys/boot/i386/btx/btx/btx.S index 6203ed5..3269d18 100644 --- a/sys/boot/i386/btx/btx/btx.S +++ b/sys/boot/i386/btx/btx/btx.S @@ -408,7 +408,11 @@ except.2: push $SEL_SDATA # Set up popl %ds # saved cmpb $0x3,(%esp,1) # Breakpoint? je except.3 # Yes - jmp exit # Exit + cmpb $0x1,(%esp,1) # Debug? + jne except.2a # No + testl $0x100,0x10(%esp,1) # Trap flag set? + jnz except.3 # Yes +except.2a: jmp exit # Exit except.3: leal 0x8(%esp,1),%esp # Discard err, int no iret # From interrupt # diff --git a/sys/boot/i386/btx/btx/btx.s b/sys/boot/i386/btx/btx/btx.s index 6203ed5..3269d18 100644 --- a/sys/boot/i386/btx/btx/btx.s +++ b/sys/boot/i386/btx/btx/btx.s @@ -408,7 +408,11 @@ except.2: push $SEL_SDATA # Set up popl %ds # saved cmpb $0x3,(%esp,1) # Breakpoint? je except.3 # Yes - jmp exit # Exit + cmpb $0x1,(%esp,1) # Debug? + jne except.2a # No + testl $0x100,0x10(%esp,1) # Trap flag set? + jnz except.3 # Yes +except.2a: jmp exit # Exit except.3: leal 0x8(%esp,1),%esp # Discard err, int no iret # From interrupt # |