summaryrefslogtreecommitdiff
path: root/sys/arch/i386/stand/boot/srt0.S
diff options
context:
space:
mode:
Diffstat (limited to 'sys/arch/i386/stand/boot/srt0.S')
-rw-r--r--sys/arch/i386/stand/boot/srt0.S11
1 files changed, 10 insertions, 1 deletions
diff --git a/sys/arch/i386/stand/boot/srt0.S b/sys/arch/i386/stand/boot/srt0.S
index 7f79ba00950..88d8125c558 100644
--- a/sys/arch/i386/stand/boot/srt0.S
+++ b/sys/arch/i386/stand/boot/srt0.S
@@ -1,4 +1,4 @@
-/* $OpenBSD: srt0.S,v 1.5 1997/04/07 01:26:00 weingart Exp $ */
+/* $OpenBSD: srt0.S,v 1.6 1997/04/11 19:12:58 weingart Exp $ */
/* $NetBSD: srt0.c,v 1.3 1994/10/27 04:21:59 cgd Exp $ */
/*-
@@ -105,6 +105,7 @@ __rtt:
movw $0x1234, %ax
movw %ax, 0x472 # warm boot
+ /* Try to use the KBD to reboot system */
movl $0xfe, %eax
movl $0x64, %edx
outb %al, %dx
@@ -125,8 +126,16 @@ __rtt:
movl $0xb8000, %ebx
movl $0x07310731, (%ebx)
#endif
+
+ /* Try to cause a tripple fault... */
lidt _Idtr_reset
+ xorl %eax, %eax
+ divl %eax, %eax
+
+ /* Again... */
int $0x8
+
+ /* Again... */
movl $0, %esp # segment violation
ret