diff options
author | jhb <jhb@FreeBSD.org> | 2006-12-06 17:45:35 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2006-12-06 17:45:35 +0000 |
commit | 7e6ec61a87b2b3bcac8f31b3ac418022354049ae (patch) | |
tree | 8d7a30dcadfe37a453411b9ec289a737e4138efe /sys/boot | |
parent | 16b7f5bc5494c74cd638ca46b3fcfbf6dfd0e4f0 (diff) | |
download | FreeBSD-src-7e6ec61a87b2b3bcac8f31b3ac418022354049ae.zip FreeBSD-src-7e6ec61a87b2b3bcac8f31b3ac418022354049ae.tar.gz |
Ignore any breakpoint instructions (int 3) we encounter in vm86 mode
rather than treating them as a fatal exception and halting. At least one
storage BIOS (some newer mpt(4) parts) have a breakpoint instruction in
their disk read routine.
MFC after: 3 days
Diffstat (limited to 'sys/boot')
-rw-r--r-- | sys/boot/i386/btx/btx/btx.S | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/boot/i386/btx/btx/btx.S b/sys/boot/i386/btx/btx/btx.S index ce99622..8838ca1 100644 --- a/sys/boot/i386/btx/btx/btx.S +++ b/sys/boot/i386/btx/btx/btx.S @@ -499,6 +499,8 @@ v86mon.4: cmpb $0xfa,%al # CLI? je v86cli # Yes cmpb $0xfb,%al # STI? je v86sti # Yes + cmpb $0xcc,%al # INT3? + je v86mon.7 # Yes, ignore movzwl 0x38(%ebp),%ebx # Load V86 SS shll $0x4,%ebx # To offset pushl %ebx # Save |