diff options
-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 6203ed5c12c5..3269d1893248 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 6203ed5c12c5..3269d1893248 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 # |