X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/bb793d5c6918efee6a86de442463a7c9aaa4ecdd..b9f4a7b7475e62dbff22da6dd768222f03889c00:/lunaix-os/kernel/exe/exec.c?ds=sidebyside diff --git a/lunaix-os/kernel/exe/exec.c b/lunaix-os/kernel/exe/exec.c index 21814d1..df47bb7 100644 --- a/lunaix-os/kernel/exe/exec.c +++ b/lunaix-os/kernel/exe/exec.c @@ -1,4 +1,3 @@ -#include #include #include #include @@ -11,6 +10,8 @@ #include #include +#include + #include void @@ -220,9 +221,8 @@ __DEFINE_LXSYSCALL3(int, // we will jump to new entry point (_u_start) upon syscall's // return so execve 'will not return' from the perspective of it's invoker - volatile struct exec_param* execp = __current->intr_ctx->execp; - execp->esp = container.stack_top; - execp->eip = container.exe.entry; + eret_target(__current) = container.exe.entry; + eret_stack(__current) = container.stack_top; // these become meaningless once execved! __current->ustack_top = 0;