Temporarily disable double fault handler to avoid compiler regression

This commit is contained in:
August 2025-07-06 21:25:48 -04:00
parent 114e87d11f
commit d0f547b1c0
Signed by: shibedrill
GPG Key ID: 5FE0CB25945EFAA2
3 changed files with 13 additions and 12 deletions

8
Cargo.lock generated
View File

@ -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",
]

View File

@ -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]

View File

@ -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) {