diff options
author | Richard Braun <rbraun@sceen.net> | 2012-09-30 19:31:58 +0200 |
---|---|---|
committer | Richard Braun <rbraun@sceen.net> | 2012-09-30 19:31:58 +0200 |
commit | 69504fc63720b4bf2677d6074285b82256bc9b83 (patch) | |
tree | 47fad139526df60554e3fd26a7b8b1577f29d2d0 /kern/panic.c |
Initial commit
Diffstat (limited to 'kern/panic.c')
-rw-r--r-- | kern/panic.c | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/kern/panic.c b/kern/panic.c new file mode 100644 index 0000000..7615850 --- /dev/null +++ b/kern/panic.c @@ -0,0 +1,40 @@ +/* + * Copyright (c) 2010 Richard Braun. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#include <stdarg.h> + +#include <kern/panic.h> +#include <kern/printk.h> +#include <machine/cpu.h> + +void +panic(const char *format, ...) +{ + va_list list; + + cpu_intr_disable(); + + printk("\nkernel panic: "); + va_start(list, format); + vprintk(format, list); + + cpu_halt(); + + /* + * Never reached. + */ +} |