userland-execve 0.2.0

An implementation of execve() in user space
Documentation
use std::arch::asm;

#[cfg(target_arch = "x86_64")]
pub unsafe fn run(sp: usize, entry: usize) -> ! {
    asm! {
        "mov rsp, {sp}",
        "jmp {entry}",
        inout("rax") 0 => _,
        sp = in(reg) sp,
        entry = in(reg) entry,
    }
    unreachable!()
}

#[cfg(target_arch = "aarch64")]
pub unsafe fn run(sp: usize, entry: usize) -> ! {
    asm! {
        "mov sp, {sp}",
        "br {entry}",
        sp = in(reg) sp,
        entry = in(reg) entry,
    }
    unreachable!()
}