Temporarily disable double fault handler to avoid compiler regression
This commit is contained in:
parent
114e87d11f
commit
d0f547b1c0
8
Cargo.lock
generated
8
Cargo.lock
generated
@ -116,9 +116,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "limine"
|
name = "limine"
|
||||||
version = "0.4.0"
|
version = "0.5.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "6e6cb7fd182815ec1ea9e26061418ac37c3eebea47a14e773c563533f277bcef"
|
checksum = "af6d2ee42712e7bd2c787365cd1dab06ef59a61becbf87bec7b32b970bd2594b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bitflags",
|
"bitflags",
|
||||||
]
|
]
|
||||||
@ -249,9 +249,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "talc"
|
name = "talc"
|
||||||
version = "4.4.2"
|
version = "4.4.3"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "3fcad3be1cfe36eb7d716a04791eba36a197da9d9b6ea1e28e64ac569da3701d"
|
checksum = "a3ae828aa394de34c7de08f522d1b86bd1c182c668d27da69caadda00590f26d"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"lock_api",
|
"lock_api",
|
||||||
]
|
]
|
||||||
|
@ -4,19 +4,19 @@ version = "0.3.0"
|
|||||||
edition = "2024"
|
edition = "2024"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
acpi = "5.1.0"
|
acpi = "5.2.0"
|
||||||
bitflags = "2.9.1"
|
bitflags = "2.9.1"
|
||||||
fdt = { git = "https://github.com/repnop/fdt", version = "0.2.0-alpha1" }
|
fdt = { git = "https://github.com/repnop/fdt", version = "0.2.0-alpha1" }
|
||||||
flagset = "0.4.7"
|
flagset = "0.4.7"
|
||||||
intbits = "0.2.0"
|
intbits = "0.2.0"
|
||||||
lazy_static = { version = "1.5.0", default-features = false, features = ["spin_no_std"] }
|
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 }
|
lzma-rs = { git = "https://github.com/glaeqen/lzma-no-std-rs/", version = "0.2.0", default-features = false }
|
||||||
num-derive = "0.4.2"
|
num-derive = "0.4.2"
|
||||||
num-traits = { version = "0.2.19", default-features = false }
|
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"
|
spin = "0.10.0"
|
||||||
talc = "4.4.2"
|
talc = "4.4.3"
|
||||||
tar-no-std = "0.3.4"
|
tar-no-std = "0.3.4"
|
||||||
|
|
||||||
[target.'cfg(target_arch = "x86_64")'.dependencies]
|
[target.'cfg(target_arch = "x86_64")'.dependencies]
|
||||||
|
@ -9,15 +9,16 @@ use crate::format;
|
|||||||
lazy_static! {
|
lazy_static! {
|
||||||
pub static ref IDT: InterruptDescriptorTable = {
|
pub static ref IDT: InterruptDescriptorTable = {
|
||||||
let mut idt = InterruptDescriptorTable::new();
|
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.page_fault.set_handler_fn(page_fault);
|
||||||
idt
|
idt
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
extern "x86-interrupt" fn double_fault(info: InterruptStackFrame, _: u64) -> ! {
|
//extern "x86-interrupt" fn double_fault(info: InterruptStackFrame, _: u64) -> ! {
|
||||||
crate::interrupt::double_fault(&format!("{info:#?}"));
|
// crate::interrupt::double_fault(&format!("{info:#?}"));
|
||||||
}
|
//}
|
||||||
|
|
||||||
extern "x86-interrupt" fn page_fault(info: InterruptStackFrame, errcode: PageFaultErrorCode) {
|
extern "x86-interrupt" fn page_fault(info: InterruptStackFrame, errcode: PageFaultErrorCode) {
|
||||||
if errcode.contains(PageFaultErrorCode::USER_MODE) {
|
if errcode.contains(PageFaultErrorCode::USER_MODE) {
|
||||||
|
Loading…
Reference in New Issue
Block a user