blob: 4b4364d7ebff8581743ef737bbd9cf8e248e3678 [file] [log] [blame]
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +02001/*
2 * Copyright (c) 2018, Arm Limited. All rights reserved.
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
7#include <console.h>
8#include <debug.h>
9
10#if DEBUG
11void __attribute__((__noreturn__)) do_panic(const char *file, int line)
12{
13 printf("PANIC in file: %s line: %d\n", file, line);
14
15 console_flush();
16
17 while (1)
18 continue;
19}
20
21void __attribute__((__noreturn__)) do_bug_unreachable(const char *file, int line)
22{
23 mp_printf("BUG: Unreachable code!\n");
24 do_panic(file, line);
25}
26
27#else
28void __attribute__((__noreturn__)) do_panic(void)
29{
30 printf("PANIC\n");
31
32 console_flush();
33
34 while (1)
35 continue;
36}
37
38void __attribute__((__noreturn__)) do_bug_unreachable(void)
39{
40 mp_printf("BUG: Unreachable code!\n");
41 do_panic();
42}
43#endif