diff --git a/Cargo.lock b/Cargo.lock
index d9c479b331..0a932f071c 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -557,6 +557,7 @@ dependencies = [
"hermit-dtb",
"hermit-entry",
"hermit-sync",
+ "interrupts",
"llvm-tools",
"lock_api",
"log",
@@ -572,7 +573,6 @@ dependencies = [
"sbi",
"semihosting",
"shell-words",
- "simple-shell",
"smallvec",
"smoltcp",
"take-static",
@@ -1134,12 +1134,6 @@ version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde"
-[[package]]
-name = "simple-shell"
-version = "0.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e977035c0f40249ba591c6b8c03b8b5393779817b8db5f29753acf6c012d234a"
-
[[package]]
name = "siphasher"
version = "0.3.11"
diff --git a/Cargo.toml b/Cargo.toml
index a8bc472657..0937cfaf63 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -67,7 +67,7 @@ vga = []
common-os = []
nostd = []
semihosting = ["dep:semihosting"]
-shell = ["simple-shell"]
+shell = []
[dependencies]
ahash = { version = "0.8", default-features = false }
@@ -98,7 +98,7 @@ zerocopy = { version = "0.7", features = ["derive"] }
build-time = "0.1.3"
async-trait = "0.1.77"
async-lock = { version = "3.3.0", default-features = false }
-simple-shell = { version = "0.0.1", optional = true }
+interrupts = "0.1"
[dependencies.smoltcp]
version = "0.11"
diff --git a/src/arch/x86_64/kernel/mod.rs b/src/arch/x86_64/kernel/mod.rs
index 4dd227a350..ee15149425 100644
--- a/src/arch/x86_64/kernel/mod.rs
+++ b/src/arch/x86_64/kernel/mod.rs
@@ -5,13 +5,13 @@ use core::slice;
use core::sync::atomic::{AtomicU32, AtomicU64, Ordering};
use hermit_entry::boot_info::{BootInfo, PlatformInfo, RawBootInfo};
-use hermit_sync::InterruptSpinMutex;
use x86::controlregs::{cr0, cr0_write, cr4, Cr0};
use self::serial::SerialPort;
use crate::arch::mm::{PhysAddr, VirtAddr};
use crate::arch::x86_64::kernel::core_local::*;
use crate::env::{self, is_uhyve};
+use crate::synch::r#async::AsyncInterruptMutex;
#[cfg(feature = "acpi")]
pub mod acpi;
@@ -52,7 +52,7 @@ pub fn raw_boot_info() -> &'static RawBootInfo {
}
/// Serial port to print kernel messages
-pub(crate) static COM1: InterruptSpinMutex