aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--StrixKernel/src/serial.rs12
1 files changed, 8 insertions, 4 deletions
diff --git a/StrixKernel/src/serial.rs b/StrixKernel/src/serial.rs
index e8807df..65596c3 100644
--- a/StrixKernel/src/serial.rs
+++ b/StrixKernel/src/serial.rs
@@ -13,10 +13,14 @@ lazy_static! {
#[doc(hidden)]
pub fn _print(args: ::core::fmt::Arguments) {
use core::fmt::Write;
- SERIAL1
- .lock()
- .write_fmt(args)
- .expect("Printing to serial failed");
+ use x86_64::instructions::interrupts;
+
+ interrupts::without_interrupts(|| {
+ SERIAL1
+ .lock()
+ .write_fmt(args)
+ .expect("Printing to serial failed");
+ });
}
/// Prints to the host through the serial interface.