summaryrefslogtreecommitdiff
path: root/sys/arch/hp300/stand/kbd.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/arch/hp300/stand/kbd.c')
-rw-r--r--sys/arch/hp300/stand/kbd.c19
1 files changed, 14 insertions, 5 deletions
diff --git a/sys/arch/hp300/stand/kbd.c b/sys/arch/hp300/stand/kbd.c
index 5dd8fccf18e..7c3a1061533 100644
--- a/sys/arch/hp300/stand/kbd.c
+++ b/sys/arch/hp300/stand/kbd.c
@@ -1,5 +1,5 @@
-/* $OpenBSD: kbd.c,v 1.1 1997/04/16 11:56:38 downsj Exp $ */
-/* $NetBSD: kbd.c,v 1.1 1997/04/14 19:00:11 thorpej Exp $ */
+/* $OpenBSD: kbd.c,v 1.2 1997/07/13 07:21:49 downsj Exp $ */
+/* $NetBSD: kbd.c,v 1.2 1997/05/12 07:51:32 thorpej Exp $ */
/*-
* Copyright (c) 1997 The NetBSD Foundation, Inc.
@@ -45,8 +45,8 @@
#include <sys/param.h>
-#include "samachdep.h"
-#include "kbdvar.h"
+#include <hp300/stand/samachdep.h>
+#include <hp300/stand/kbdvar.h>
#ifndef SMALL
@@ -68,7 +68,16 @@ kbdnmi()
if (selected_kbd != NULL)
(*selected_kbd->k_nmi)();
- printf("\nboot interrupted\n");
+
+ /*
+ * This is the only reasonable thing to do, unfortunately.
+ * Simply restarting the boot block by frobbing the stack and
+ * jumping to begin: doesn't properly reset variables that
+ * are in the data segment.
+ */
+ printf("\nboot interrupted, resetting...\n");
+ DELAY(1000000);
+ call_req_reboot();
}
void