[USER] brk syscall

This commit is contained in:
2016-12-21 08:55:27 +01:00
parent 19df873615
commit a2cba95346
8 changed files with 73 additions and 7 deletions

19
kernel/syscall/sys_mem.c Normal file
View File

@@ -0,0 +1,19 @@
#include <syscall.h>
#include <scheduler.h>
#include <debug.h>
SYSCALL_DEF(brk)
{
SYSCALL_INIT(uint64_t, addr);
procmm_area_t *brk = get_current_process()->mmap->brk;
if(addr)
{
size_t len = addr - brk->start;
procmm_resize(get_current_process(), brk, len);
return brk->end;
} else {
return brk->end;
}
}

View File

@@ -57,6 +57,7 @@ void syscall_init()
SYSCALL_REGISTER(debug, SYS_DEBUG);
SYSCALL_REGISTER(write, SYS_WRITE);
SYSCALL_REGISTER(brk, SYS_BRK);
}
}