twizzler-operating-system / twizzler

The Twizzler Operating System
BSD 3-Clause "New" or "Revised" License
66 stars 13 forks source link

DoubleFault when launching Twizzler through a Intel Celeron N5105 #127

Open CPTforever opened 1 year ago

CPTforever commented 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 - ??