diff --git a/Cargo.lock b/Cargo.lock
index 673a4f747d89ffa79c613c6388cac4b1eb032a59..88d65e7023e1e94071f768ea9de08b71177d157e 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -24,6 +24,12 @@ dependencies = [
  "blake2",
 ]
 
+[[package]]
+name = "autocfg"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+
 [[package]]
 name = "base64ct"
 version = "1.1.1"
@@ -77,9 +83,9 @@ dependencies = [
 
 [[package]]
 name = "cpufeatures"
-version = "0.2.1"
+version = "0.2.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "95059428f66df56b63431fdb4e1947ed2190586af5c5a8a8b71122bdf5a7f469"
+checksum = "59a6001667ab124aebae2a495118e11d30984c3a653e99d86d58971708cf5e4b"
 dependencies = [
  "libc",
 ]
@@ -117,9 +123,9 @@ dependencies = [
 
 [[package]]
 name = "libc"
-version = "0.2.119"
+version = "0.2.121"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1bf2e165bb3457c8e098ea76f3e3bc9db55f87aa90d52d0e6be741470916aaa4"
+checksum = "efaa7b300f3b5fe8eb6bf21ce3895e1751d9665086af2d64b42f19701015ff4f"
 
 [[package]]
 name = "linked_list_allocator"
@@ -132,18 +138,19 @@ dependencies = [
 
 [[package]]
 name = "lock_api"
-version = "0.4.6"
+version = "0.4.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "88943dd7ef4a2e5a4bfa2753aaab3013e34ce2533d1996fb18ef591e315e2b3b"
+checksum = "327fa5b6a6940e4699ec49a9beae1ea4845c6bab9314e4f84ac68742139d8c53"
 dependencies = [
+ "autocfg",
  "scopeguard",
 ]
 
 [[package]]
 name = "log"
-version = "0.4.14"
+version = "0.4.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710"
+checksum = "6389c490849ff5bc16be905ae24bc913a9c8892e19b2341dbc175e14c341c2b8"
 dependencies = [
  "cfg-if",
 ]
@@ -156,9 +163,9 @@ checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"
 
 [[package]]
 name = "raw-cpuid"
-version = "10.2.0"
+version = "10.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "929f54e29691d4e6a9cc558479de70db7aa3d98cd6fe7ab86d7507aa2886b9d2"
+checksum = "738bc47119e3eeccc7e94c4a506901aea5e7b4944ecd0829cbebf4af04ceda12"
 dependencies = [
  "bitflags",
 ]
@@ -185,9 +192,9 @@ checksum = "c4e4404b4e54e59e7bb5f5236b61d8e822c2a77b2e955be8072002ff7ff8d69c"
 
 [[package]]
 name = "redox_syscall"
-version = "0.2.11"
+version = "0.2.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8380fe0152551244f0747b1bf41737e0f8a74f97a14ccefd1148187271634f3c"
+checksum = "62f25bc4c7e55e0b0b7a1d43fb893f4fa1361d0abe38b9ce4f323c2adfe6ef42"
 dependencies = [
  "bitflags",
 ]
diff --git a/Cargo.toml b/Cargo.toml
index 114eb1cba40e651c89949bc611d70303753282e2..b3c3972f581f940049181f3b6606d5b2b788e1f7 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -17,7 +17,7 @@ crate-type = ["staticlib"]
 [dependencies]
 linked_list_allocator = "0.9.1"
 log = "0.4.14"
-redox_syscall = "0.2.10"
+redox_syscall = "0.2.13"
 spin = "0.9.2"
 
 [dependencies.redoxfs]
diff --git a/rust-toolchain.toml b/rust-toolchain.toml
index 4d97fdddba23eb1ae43c85a38d7c6826da2e24e1..f31d2049029d3e65b0bfb8c00b11a6340aa6849a 100644
--- a/rust-toolchain.toml
+++ b/rust-toolchain.toml
@@ -1,3 +1,3 @@
 [toolchain]
-channel = "nightly-2021-06-15"
+channel = "nightly-2022-03-18"
 components = ["rust-src"]
diff --git a/src/main.rs b/src/main.rs
index ae1808e582265e198900464dab639890db481959..64d1745c2befe65925448e6a607ac00a050ed39f 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -1,5 +1,4 @@
 #![no_std]
-#![feature(asm)]
 #![feature(lang_items)]
 #![cfg_attr(
     target_os = "uefi",
diff --git a/src/os/bios/panic.rs b/src/os/bios/panic.rs
index 1997256dbb73f1846e315f49c562cce4f2a8b492..377797e530d7a2203e8d3416cffe72fbfff2d374 100644
--- a/src/os/bios/panic.rs
+++ b/src/os/bios/panic.rs
@@ -1,6 +1,7 @@
 //! Intrinsics for panic handling
 
 use core::alloc::Layout;
+use core::arch::asm;
 use core::panic::PanicInfo;
 
 #[lang = "eh_personality"]