diff --git a/kernel/arch/x86_64/IDT.cpp b/kernel/arch/x86_64/IDT.cpp index 0139c904..aad574a5 100644 --- a/kernel/arch/x86_64/IDT.cpp +++ b/kernel/arch/x86_64/IDT.cpp @@ -189,6 +189,7 @@ namespace Kernel::IDT else { derrorln("Stack pointer out of bounds!"); + derrorln("rip {H}", interrupt_stack.rip); derrorln("rsp {H}, stack {H}->{H}, istack {H}->{H}", interrupt_stack.rsp, stack.vaddr(), stack.vaddr() + stack.size(), diff --git a/kernel/kernel/Syscall.cpp b/kernel/kernel/Syscall.cpp index 2b5f2668..3a9454c0 100644 --- a/kernel/kernel/Syscall.cpp +++ b/kernel/kernel/Syscall.cpp @@ -217,6 +217,9 @@ namespace Kernel asm volatile("cli"); + if (ret.is_error() && ret.error().get_error_code() == ENOTSUP) + dprintln("ENOTSUP {}", syscall); + if (ret.is_error() && ret.error().is_kernel_error()) Kernel::panic("Kernel error while returning to userspace {}", ret.error());