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 /sys/boot | |
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.
Diffstat (limited to 'sys/boot')
-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 # |