X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/7b0dccbab69e806a63c4504c3ddb82e45241985b..ae23ad2227bd97df4b464937b1dd54a0f3702148:/lunaix-os/kernel/spike.c diff --git a/lunaix-os/kernel/spike.c b/lunaix-os/kernel/spike.c index 91f597d..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 failed (%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