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