diff options
Diffstat (limited to 'kernel/core/kernel.cpp')
| -rw-r--r-- | kernel/core/kernel.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/kernel/core/kernel.cpp b/kernel/core/kernel.cpp index c2d1806..e381972 100644 --- a/kernel/core/kernel.cpp +++ b/kernel/core/kernel.cpp @@ -262,20 +262,20 @@ const PanicInfo& Kernel::GetPanicInfo() const { return panic_info; } -[[noreturn]] void Kernel::Panic(const char* msg, const char* file, const char* func, uint32_t line) { +[[noreturn]] void Kernel::Panic(const char* msg, std::source_location loc) { state = KernelState::Panicked; panic_info.message = msg; - panic_info.file = file; - panic_info.line = line; - panic_info.func = func; + panic_info.file = loc.file_name(); + panic_info.line = loc.line(); + panic_info.func = loc.function_name(); panic_info.cpu_id = 0; // TODO: get actual CPU id when SMP is added // Print panic banner — kcon may or may not be initialized yet kcon::putchar('\n'); kcon::println("!!! KERNEL PANIC !!!"); kcon::kprintf(" %s\n", msg); - kcon::kprintf(" at %s:%s:%u\n", file, func, line); + kcon::kprintf(" at %s:%s:%u\n", loc.file_name(), loc.function_name(), loc.line()); kcon::putchar('\n'); arch::halt(); |
