CloverBootloader/rEFIt_UEFI/cpp_util/panic.cpp

37 lines
630 B
C++
Raw Normal View History

#include "panic.h"
#include <Platform.h>
//extern "C" {
//#include <Library/BaseLib.h> // for CpuDeadLoop
//}
bool stop_at_panic = true;
bool i_have_panicked = false;
2020-03-09 09:09:29 +01:00
/*
*
* Function panic_ seems useless. It's same as panic(). It's to be able to put a breakpoint in gdb with br panic_(). This is done in gdb_launch script in Qemu
2020-03-09 09:09:29 +01:00
*/
2020-03-31 08:10:47 +02:00
static void panic_(const char* s)
{
2020-03-31 08:10:47 +02:00
if ( s ) DebugLog(2, "%s\n", s);
DebugLog(2, "A fatal error happened. System halted\n");
CpuDeadLoop();
}
void panic(const char* s)
{
2020-03-31 08:10:47 +02:00
if ( stop_at_panic ) {
panic_(s);
}else{
i_have_panicked = true;
}
}
2020-03-09 09:09:29 +01:00
void panic(void)
{
2020-03-31 08:10:47 +02:00
panic(nullptr);
}