From 9b475d3db3275d4c34f02161ae70ced5595a0fdb Mon Sep 17 00:00:00 2001 From: Anton Kling Date: Wed, 21 Feb 2024 20:06:35 +0100 Subject: Kernel: Remove all inline assembly. Now the kernel does not rely upon inline assembly which is often very error prone. This also means that the kernel could probably be compiled with any c99 compiler which would help future bootstrapping. --- kernel/log.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'kernel/log.c') diff --git a/kernel/log.c b/kernel/log.c index fddf3b5..8f72b3a 100644 --- a/kernel/log.c +++ b/kernel/log.c @@ -1,4 +1,5 @@ #include "log.h" +#include #include struct stackframe { @@ -7,8 +8,7 @@ struct stackframe { }; void dump_backtrace(u32 max_frames) { - struct stackframe *stk; - asm("mov %%ebp,%0" : "=r"(stk)::); + struct stackframe *stk = (void*)get_current_sbp(); kprintf("Stack trace:\n"); for (u32 frame = 0; stk && frame < max_frames; ++frame) { kprintf(" 0x%x\n", stk->eip); -- cgit v1.2.3