poppin/kernel/src/syscalls/mod.rs

14 lines
297 B
Rust

// register for address of syscall handler
const MSR_STAR: usize = 0xC0000081;
pub fn init() {
asm!("\
xor rax, rax
mov rdx, 0x230008 // use seg selectors 8, 16 for syscall and 43, 51 for sysret
wrmsr" :: "{rcx}"(MSR_STAR) : "rax", "rdx" : "intel", "volatile");
}