aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/boot/i386/btx/btx/btx.S6
-rw-r--r--sys/boot/i386/btx/btx/btx.s6
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
#