1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
#![no_std] #![feature(asm)] #[cfg(target_arch = "x86_64")] pub unsafe fn system_call(number: usize, _1: usize, _2: usize, _3: usize, _4: usize, _5: usize, _6: usize) -> usize { let mut return_value; asm!("syscall" : "={rax}" (return_value) : "{rax}" (number), "{rdi}" (_1), "{rsi}" (_2), "{rdx}" (_3), "{r10}" (_4), "{r8}" (_5), "{r9}" (_6) : "rcx", "r8", "r9", "r10" "r11", "cc", "memory" : "volatile" ); return_value }