14 lines
297 B
Rust
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");
|
|
|
|
}
|