diff options
Diffstat (limited to 'sys/arch/hp300/stand/kbd.c')
-rw-r--r-- | sys/arch/hp300/stand/kbd.c | 19 |
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 |