#include <acess.h>
#include <syscalls.h>
#include <proc.h>
+#include <hal_proc.h>
#include <errno.h>
#include <threads.h>
// -- Clone the current thread
case SYS_CLONE:
// Call clone system call
- ret = Proc_Clone(&err, Regs->Arg1);
- // Change user stack if a new stack address is passed
- if(ret == 0 && Regs->Arg2)
- Regs->StackPointer = Regs->Arg2;
+ ret = Proc_Clone(Regs->Arg1);
break;
// -- Send a signal
// -- Debug
//#if DEBUG_BUILD
case SYS_DEBUG:
+ CHECK_STR_NONULL( (char*)Regs->Arg1 );
LogF("Log: [%i] ", Threads_GetTID());
- LogF((char*)Regs->Arg1,
+ LogF((const char*)Regs->Arg1,
Regs->Arg2, Regs->Arg3, Regs->Arg4, Regs->Arg5, Regs->Arg6);
LogF("\r\n");
break;
if( callNum != SYS_READ && callNum != SYS_WRITE ) {
# endif
LOG("err = %i", err);
- if(Regs->Num != SYS_EXECVE)
- LEAVE('x', ret);
- else
+ if( callNum == SYS_EXECVE )
LOG("Actual %i", ret);
+ else
+ LEAVE('x', ret);
# if DEBUG < 2
}
# endif