diff --git a/Kernel/kprintf.cpp b/Kernel/kprintf.cpp index 4f22b270dc..253c55b2f3 100644 --- a/Kernel/kprintf.cpp +++ b/Kernel/kprintf.cpp @@ -143,20 +143,26 @@ int snprintf(char* buffer, size_t size, const char* fmt, ...) return ret; } -extern "C" void dbgputch(char ch) +static inline void internal_dbgputch(char ch) { if (serial_debug) serial_putch(ch); IO::out8(IO::BOCHS_DEBUG_PORT, ch); } +extern "C" void dbgputch(char ch) +{ + ScopedSpinLock lock(s_log_lock); + internal_dbgputch(ch); +} + extern "C" void dbgputstr(const char* characters, size_t length) { if (!characters) return; ScopedSpinLock lock(s_log_lock); for (size_t i = 0; i < length; ++i) - dbgputch(characters[i]); + internal_dbgputch(characters[i]); } extern "C" void kernelputstr(const char* characters, size_t length)