From d0f547b1c09013114f028ce884ffa61efe6e59a6 Mon Sep 17 00:00:00 2001 From: shibedrill Date: Sun, 6 Jul 2025 21:25:48 -0400 Subject: [PATCH] Temporarily disable double fault handler to avoid compiler regression --- Cargo.lock | 8 ++++---- Cargo.toml | 8 ++++---- src/kernel/arch/x86_64/interrupts.rs | 9 +++++---- 3 files changed, 13 insertions(+), 12 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 22aa050..56d5506 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -116,9 +116,9 @@ dependencies = [ [[package]] name = "limine" -version = "0.4.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e6cb7fd182815ec1ea9e26061418ac37c3eebea47a14e773c563533f277bcef" +checksum = "af6d2ee42712e7bd2c787365cd1dab06ef59a61becbf87bec7b32b970bd2594b" dependencies = [ "bitflags", ] @@ -249,9 +249,9 @@ dependencies = [ [[package]] name = "talc" -version = "4.4.2" +version = "4.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fcad3be1cfe36eb7d716a04791eba36a197da9d9b6ea1e28e64ac569da3701d" +checksum = "a3ae828aa394de34c7de08f522d1b86bd1c182c668d27da69caadda00590f26d" dependencies = [ "lock_api", ] diff --git a/Cargo.toml b/Cargo.toml index d0cfc45..db4d047 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -4,19 +4,19 @@ version = "0.3.0" edition = "2024" [dependencies] -acpi = "5.1.0" +acpi = "5.2.0" bitflags = "2.9.1" fdt = { git = "https://github.com/repnop/fdt", version = "0.2.0-alpha1" } flagset = "0.4.7" intbits = "0.2.0" lazy_static = { version = "1.5.0", default-features = false, features = ["spin_no_std"] } -limine = "0.4.0" +limine = "0.5.0" lzma-rs = { git = "https://github.com/glaeqen/lzma-no-std-rs/", version = "0.2.0", default-features = false } num-derive = "0.4.2" num-traits = { version = "0.2.19", default-features = false } -once_cell = { version = "1.20.3", default-features = false, features = ["alloc", "critical-section"] } +once_cell = { version = "1.21.3", default-features = false, features = ["alloc", "critical-section"] } spin = "0.10.0" -talc = "4.4.2" +talc = "4.4.3" tar-no-std = "0.3.4" [target.'cfg(target_arch = "x86_64")'.dependencies] diff --git a/src/kernel/arch/x86_64/interrupts.rs b/src/kernel/arch/x86_64/interrupts.rs index a38f919..41f366b 100644 --- a/src/kernel/arch/x86_64/interrupts.rs +++ b/src/kernel/arch/x86_64/interrupts.rs @@ -9,15 +9,16 @@ use crate::format; lazy_static! { pub static ref IDT: InterruptDescriptorTable = { let mut idt = InterruptDescriptorTable::new(); - idt.double_fault.set_handler_fn(double_fault); + // TODO: Re-implement this once the x86-interrupt ABI is fixed. + //idt.double_fault.set_handler_fn(double_fault); idt.page_fault.set_handler_fn(page_fault); idt }; } -extern "x86-interrupt" fn double_fault(info: InterruptStackFrame, _: u64) -> ! { - crate::interrupt::double_fault(&format!("{info:#?}")); -} +//extern "x86-interrupt" fn double_fault(info: InterruptStackFrame, _: u64) -> ! { +// crate::interrupt::double_fault(&format!("{info:#?}")); +//} extern "x86-interrupt" fn page_fault(info: InterruptStackFrame, errcode: PageFaultErrorCode) { if errcode.contains(PageFaultErrorCode::USER_MODE) {