X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/37fb1e9cee287c9ae8c065ff517c508eb5f9d7dd..05b7549a0f980efa33265a091a5174a78851ce05:/lunaix-os/kernel/spike.c diff --git a/lunaix-os/kernel/spike.c b/lunaix-os/kernel/spike.c index 8f42660..4cb2051 100644 --- a/lunaix-os/kernel/spike.c +++ b/lunaix-os/kernel/spike.c @@ -1,11 +1,11 @@ #include #include -#include +#include static char buffer[1024]; void __assert_fail(const char* expr, const char* file, unsigned int line) { - sprintf(buffer, "[ASSERT] %s (%s:%u)", expr, file, line); + sprintf(buffer, "%s (%s:%u)", expr, file, line); // Here we load the buffer's address into %edi ("D" constraint) // This is a convention we made that the LUNAIX_SYS_PANIC syscall will @@ -16,4 +16,12 @@ void __assert_fail(const char* expr, const char* file, unsigned int line) { ); spin(); // never reach +} + +void panick(const char* msg) { + asm( + "int %0" + ::"i"(LUNAIX_SYS_PANIC), "D"(msg) + ); + spin(); } \ No newline at end of file