Open CPTforever opened 1 year ago
When running this code snippet on a Intel Celeron N5105
#[allow(named_asm_labels)] pub fn switch_to(&self) { unsafe { x86::controlregs::cr3_write(self.target); } }
in arch/amd64/context.rs it throws an double fault exception
[kernel::mm] initializing memory management [error] panicked at 'caught diverging exception DoubleFault: IsrContext { r15: 0, r14: 0, r13: 0, r12: 0, r11: 0, r10: 0, r9: 0, r8: 154618822722, rbp: 18446603337293428752, rsi: 2, rdi: 73728, rdx: 4, rcx: 18446744071570984896, rbx: 0, rax: 18446744071568867992, err: 0, rip: 0xffffffff80539d93, cs: 8, rflags: 65666, rsp: 18446603337293428752, ss: 0, }', src/kernel/src/arch/amd64/interrupt.rs:396:9 starting backtrace... 0: 0xffffffff8036afbe - ?? 1: 0xffffffff802a4214 - ?? 2: 0xffffffff802a4367 - ?? 3: 0xffffffff806023de - ?? 4: 0xffffffff803ba160 - ?? 5: 0xffffffff803b9af7 - ?? 6: 0xffffffff803b9c94 - ??
When running this code snippet on a Intel Celeron N5105
in arch/amd64/context.rs it throws an double fault exception