From 9a4698af6ee4c095a97b8800d2d5f0a4bb282b15 Mon Sep 17 00:00:00 2001 From: Patrick Williams Date: Mon, 7 Jun 2010 16:39:45 -0500 Subject: Add task control syscalls. --- src/lib/syscall_task.C | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 src/lib/syscall_task.C (limited to 'src/lib/syscall_task.C') diff --git a/src/lib/syscall_task.C b/src/lib/syscall_task.C new file mode 100644 index 000000000..bfd522933 --- /dev/null +++ b/src/lib/syscall_task.C @@ -0,0 +1,26 @@ +#include +#include + +using namespace Systemcalls; + +void task_yield() +{ + _syscall0(TASK_YIELD); + return; +} + +int task_create(void(*fn)(void*), void* ptr) +{ + return (int64_t) _syscall2(TASK_START, (void*)fn, ptr); +} + +void task_end() +{ + _syscall0(TASK_END); // no return. + return; +} + +uint64_t task_gettid() +{ + return (uint64_t)_syscall0(TASK_GETTID); +} -- cgit v1.2.3