Kernel: d{print,warn,error}ln(...) now has a spinlock

This commit is contained in:
Bananymous
2023-04-22 17:58:51 +03:00
parent cc04990ce3
commit 792fad2a03
2 changed files with 36 additions and 6 deletions

View File

@@ -1,5 +1,7 @@
#include <kernel/Debug.h>
#include <kernel/InterruptController.h>
#include <kernel/Serial.h>
#include <kernel/SpinLock.h>
#include <kernel/Terminal/TTY.h>
namespace Debug
@@ -53,4 +55,19 @@ namespace Debug
return Kernel::TTY::putchar_current(ch);
}
static Kernel::RecursiveSpinLock s_debug_lock;
void DebugLock::lock()
{
if (interrupts_enabled())
s_debug_lock.lock();
}
void DebugLock::unlock()
{
if (interrupts_enabled())
s_debug_lock.unlock();
}
}