xref: /dflybsd-src/stand/boot/common/panic.c (revision 479ab7f0492f2a51b48e8537e4f1dc686fc6014b)
1*479ab7f0SSascha Wildner /*
2*479ab7f0SSascha Wildner  * $NetBSD: panic.c,v 1.2 1997/03/22 01:48:36 thorpej Exp $
3*479ab7f0SSascha Wildner  */
4*479ab7f0SSascha Wildner /*-
5*479ab7f0SSascha Wildner  * Copyright (c) 1996
6*479ab7f0SSascha Wildner  *	Matthias Drochner.  All rights reserved.
7*479ab7f0SSascha Wildner  *
8*479ab7f0SSascha Wildner  * Redistribution and use in source and binary forms, with or without
9*479ab7f0SSascha Wildner  * modification, are permitted provided that the following conditions
10*479ab7f0SSascha Wildner  * are met:
11*479ab7f0SSascha Wildner  * 1. Redistributions of source code must retain the above copyright
12*479ab7f0SSascha Wildner  *    notice, this list of conditions and the following disclaimer.
13*479ab7f0SSascha Wildner  * 2. Redistributions in binary form must reproduce the above copyright
14*479ab7f0SSascha Wildner  *    notice, this list of conditions and the following disclaimer in the
15*479ab7f0SSascha Wildner  *    documentation and/or other materials provided with the distribution.
16*479ab7f0SSascha Wildner  * 3. All advertising materials mentioning features or use of this software
17*479ab7f0SSascha Wildner  *    must display the following acknowledgement:
18*479ab7f0SSascha Wildner  *	This product includes software developed for the NetBSD Project
19*479ab7f0SSascha Wildner  *	by Matthias Drochner.
20*479ab7f0SSascha Wildner  * 4. The name of the author may not be used to endorse or promote products
21*479ab7f0SSascha Wildner  *    derived from this software without specific prior written permission.
22*479ab7f0SSascha Wildner  *
23*479ab7f0SSascha Wildner  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
24*479ab7f0SSascha Wildner  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
25*479ab7f0SSascha Wildner  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
26*479ab7f0SSascha Wildner  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
27*479ab7f0SSascha Wildner  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
28*479ab7f0SSascha Wildner  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
29*479ab7f0SSascha Wildner  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
30*479ab7f0SSascha Wildner  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
31*479ab7f0SSascha Wildner  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
32*479ab7f0SSascha Wildner  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33*479ab7f0SSascha Wildner  *
34*479ab7f0SSascha Wildner  * $FreeBSD: src/sys/boot/common/panic.c,v 1.8 2006/09/29 20:57:38 ru Exp $
35*479ab7f0SSascha Wildner  * $DragonFly: src/sys/boot/common/panic.c,v 1.6 2006/12/18 23:12:29 dillon Exp $
36*479ab7f0SSascha Wildner  */
37*479ab7f0SSascha Wildner 
38*479ab7f0SSascha Wildner #include <stand.h>
39*479ab7f0SSascha Wildner #include <machine/stdarg.h>
40*479ab7f0SSascha Wildner 
41*479ab7f0SSascha Wildner extern void exit(int) __dead2;
42*479ab7f0SSascha Wildner 
43*479ab7f0SSascha Wildner void
panic(const char * fmt,...)44*479ab7f0SSascha Wildner panic(const char *fmt,...)
45*479ab7f0SSascha Wildner {
46*479ab7f0SSascha Wildner 	__va_list         ap;
47*479ab7f0SSascha Wildner 
48*479ab7f0SSascha Wildner 	printf("panic: ");
49*479ab7f0SSascha Wildner 	__va_start(ap, fmt);
50*479ab7f0SSascha Wildner 	vprintf(fmt, ap);
51*479ab7f0SSascha Wildner 	__va_end(ap);
52*479ab7f0SSascha Wildner 	printf("\n");
53*479ab7f0SSascha Wildner 
54*479ab7f0SSascha Wildner 	printf("--> Press a key on the console to reboot <--\n");
55*479ab7f0SSascha Wildner 	getchar();
56*479ab7f0SSascha Wildner 	printf("Rebooting...\n");
57*479ab7f0SSascha Wildner 	exit(1);
58*479ab7f0SSascha Wildner }
59