Kernel - Removed an unneeded todo
[tpg/acess2.git] / Kernel / syscalls.c
index 9775be3..9c9737e 100644 (file)
@@ -10,6 +10,7 @@
 #include <hal_proc.h>
 #include <errno.h>
 #include <threads.h>
+#include <events.h>
 
 #define CHECK_NUM_NULLOK(v,size)       \
        if((v)&&!Syscall_Valid((size),(v))){ret=-1;err=-EINVAL;break;}
@@ -75,7 +76,13 @@ void SyscallHandler(tSyscallRegs *Regs)
                err = -ENOSYS;
                ret = -1;
                break;
-       
+
+       // -- Wait fr an event  
+       case SYS_WAITEVENT:
+               // Message mask
+               ret = Threads_WaitEvents(Regs->Arg1);
+               break;
+
        // -- Wait for a thread
        case SYS_WAITTID:
                // Sanity Check (Status can be NULL)
@@ -163,7 +170,6 @@ void SyscallHandler(tSyscallRegs *Regs)
                        {
                                tmp = (char**)Regs->Arg3;
                                CHECK_NUM_NONULL(tmp, sizeof(char**));
-                               Log("tmp = %p", tmp);
                                for(i=0;tmp[i];i++) {
                                        CHECK_NUM_NONULL( &tmp[i], sizeof(char*) );
                                        CHECK_STR_NONULL( tmp[i] );
@@ -308,6 +314,7 @@ void SyscallHandler(tSyscallRegs *Regs)
                        (fd_set *)Regs->Arg3,   // Write
                        (fd_set *)Regs->Arg4,   // Errors
                        (tTime *)Regs->Arg5,    // Timeout
+                       (Uint32)Regs->Arg6,     // Extra wakeup events
                        0       // User handles
                        );
                break;
@@ -316,7 +323,7 @@ void SyscallHandler(tSyscallRegs *Regs)
        //#if DEBUG_BUILD
        case SYS_DEBUG:
                CHECK_STR_NONULL( (char*)Regs->Arg1 );
-               LogF("Log: [%i] ", Threads_GetTID());
+               LogF("Log: %08lli [%i] ", now(), Threads_GetTID());
                LogF((const char*)Regs->Arg1,
                        Regs->Arg2, Regs->Arg3, Regs->Arg4, Regs->Arg5, Regs->Arg6);
                LogF("\r\n");

UCC git Repository :: git.ucc.asn.au