2005-04-21 16:53:53 +02:00
|
|
|
#include "syslib.h"
|
|
|
|
|
2014-05-26 12:03:25 +02:00
|
|
|
int sys_exec(endpoint_t proc_ep, vir_bytes stack_ptr, vir_bytes progname,
|
2013-09-13 20:12:22 +02:00
|
|
|
vir_bytes pc, vir_bytes ps_str)
|
2005-04-21 16:53:53 +02:00
|
|
|
{
|
|
|
|
/* A process has exec'd. Tell the kernel. */
|
|
|
|
|
2013-09-13 20:12:22 +02:00
|
|
|
message m;
|
2005-04-21 16:53:53 +02:00
|
|
|
|
2014-05-26 12:03:25 +02:00
|
|
|
m.m_lsys_krn_sys_exec.endpt = proc_ep;
|
|
|
|
m.m_lsys_krn_sys_exec.stack = stack_ptr;
|
|
|
|
m.m_lsys_krn_sys_exec.name = progname;
|
|
|
|
m.m_lsys_krn_sys_exec.ip = pc;
|
|
|
|
m.m_lsys_krn_sys_exec.ps_str = ps_str;
|
2013-09-13 20:12:22 +02:00
|
|
|
|
|
|
|
return _kernel_call(SYS_EXEC, &m);
|
2005-04-21 16:53:53 +02:00
|
|
|
}
|