From 777ede328e5f4237d5c274959c4124073430ac1f Mon Sep 17 00:00:00 2001 From: Bananymous Date: Thu, 2 Feb 2023 23:19:44 +0200 Subject: [PATCH] Kernel: Add helper functions for reading current rsp and rbp --- kernel/include/kernel/Arch.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/kernel/include/kernel/Arch.h b/kernel/include/kernel/Arch.h index 69ed5c22..d5f2942d 100644 --- a/kernel/include/kernel/Arch.h +++ b/kernel/include/kernel/Arch.h @@ -4,4 +4,12 @@ #if !defined(__arch) || (__arch != x86_64 && __arch != i386) #error "Unsupported architecture" +#endif + +#if ARCH(x86_64) + #define read_rsp(rsp) asm volatile("movq %%rsp, %0" : "=r"(rsp)) + #define read_rbp(rbp) asm volatile("movq %%rbp, %0" : "=r"(rbp)) +#else + #define read_rsp(rsp) asm volatile("movl %%esp, %0" : "=r"(rsp)) + #define read_rbp(rbp) asm volatile("movl %%ebp, %0" : "=r"(rbp)) #endif \ No newline at end of file