X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=KernelLand%2FKernel%2Fsyscalls.c;h=7b4855ce5e2c6d8b852c714235fe1e2adf54a11e;hb=b6e856e1570c371b7002f1a93a1ea0e978ffdab6;hp=75ed87450be84deee64796d3f3ae497c3c343d41;hpb=3c3c26b58055f511af5b7f0c3ab22e83961c775f;p=tpg%2Facess2.git diff --git a/KernelLand/Kernel/syscalls.c b/KernelLand/Kernel/syscalls.c index 75ed8745..7b4855ce 100644 --- a/KernelLand/Kernel/syscalls.c +++ b/KernelLand/Kernel/syscalls.c @@ -293,6 +293,17 @@ void SyscallHandler(tSyscallRegs *Regs) #endif break; + case SYS_TRUNCATE: + ret = VFS_Truncate( + Regs->Arg1, + #if BITS == 32 + ARG64(2,3) + #else + Regs->Arg2 + #endif + ); + break; + case SYS_FINFO: CHECK_NUM_NONULL( (void*)Regs->Arg2, sizeof(tFInfo) + Regs->Arg3*sizeof(tVFS_ACL) ); // FP, Dest, MaxACLs @@ -394,6 +405,21 @@ void SyscallHandler(tSyscallRegs *Regs) ); break; + case SYS_MMAP: + ret = (tVAddr)VFS_MMap( + (void*)Regs->Arg1, Regs->Arg2, + Regs->Arg3&0xFFFF, Regs->Arg3>>16, + Regs->Arg4, + #if BITS == 32 + ARG64(5,6) + #else + Regs->Arg5 + #endif + ); + break; + case SYS_MUNMAP: + ret = VFS_MUnmap( (void*)Regs->Arg1, Regs->Arg2 ); + break; // Create a directory case SYS_MKDIR: @@ -418,7 +444,11 @@ void SyscallHandler(tSyscallRegs *Regs) // -- Debug //#if DEBUG_BUILD - case SYS_DEBUG: + case SYS_DEBUGS: + CHECK_STR_NONULL( (char*)Regs->Arg1 ); + Log("Log: %08lli [%i] %s", now(), Threads_GetTID(), (const char*)Regs->Arg1); + break; + case SYS_DEBUGF: CHECK_STR_NONULL( (char*)Regs->Arg1 ); LogF("Log: %08lli [%i] ", now(), Threads_GetTID()); LogF((const char*)Regs->Arg1,