abort/error: print backtrace, abuse templates, overhaul result/diag (macos not done yet)

This commit is contained in:
Michael Scire
2022-03-10 01:15:45 -08:00
committed by SciresM
parent 18168d54c3
commit 646f84bad1
118 changed files with 2843 additions and 369 deletions

View File

@@ -18,13 +18,13 @@
namespace ams::diag {
NORETURN void AbortImpl(const char *file, int line, const char *func, const char *expr, u64 value, const char *format, ...) {
AMS_UNUSED(file, line, func, expr, value, format);
NORETURN void AbortImpl(const char *expr, const char *func, const char *file, int line) {
AMS_UNUSED(expr, func, line, file);
ams::secmon::loader::ErrorReboot();
}
NORETURN void AbortImpl(const char *file, int line, const char *func, const char *expr, u64 value) {
AMS_UNUSED(file, line, func, expr, value);
NORETURN void AbortImpl(const char *expr, const char *func, const char *file, int line, const char *format, ...) {
AMS_UNUSED(expr, func, line, file, format);
ams::secmon::loader::ErrorReboot();
}

View File

@@ -17,7 +17,7 @@
namespace ams::diag {
void AbortImpl() {
NORETURN void AbortImpl() {
AMS_SECMON_LOG("AbortImpl was called\n");
AMS_LOG_FLUSH();
reg::Write(0x4, 0xAAAAAAAA);

View File

@@ -50,7 +50,7 @@ namespace ams::rebootstub {
namespace ams::diag {
void AbortImpl() {
NORETURN void AbortImpl() {
/* Halt the bpmp. */
rebootstub::Halt();

View File

@@ -111,7 +111,7 @@ namespace ams::sc7fw {
namespace ams::diag {
void AbortImpl() {
NORETURN void AbortImpl() {
sc7fw::ExceptionHandler();
}

View File

@@ -50,7 +50,7 @@ namespace ams::diag {
}
void AbortImpl() {
NORETURN void AbortImpl() {
/* Perform any necessary (typically none) debugging. */
if constexpr (SaveSystemStateForDebug) {
SaveSystemStateForDebugAbort();

View File

@@ -98,7 +98,7 @@ namespace ams::warmboot {
namespace ams::diag {
void AbortImpl() {
NORETURN void AbortImpl() {
warmboot::ExceptionHandler();
}