#include #include #include #include #include int proc_quit (void) { return syscall (SYS_PROC_QUIT, 0, 0, 0, 0, 0, 0); } int proc_test (char c) { return syscall (SYS_PROC_TEST, (uintptr_t)c, 0, 0, 0, 0, 0); } int proc_map (uintptr_t paddr, uintptr_t vaddr, size_t pages, uint32_t flags) { return syscall (SYS_PROC_MAP, paddr, vaddr, (uintptr_t)pages, (uintptr_t)flags, 0, 0); } int proc_unmap (uintptr_t vaddr, size_t pages) { return syscall (SYS_PROC_UNMAP, vaddr, (uintptr_t)pages, 0, 0, 0, 0); } int proc_create_resource (int rid, int type, int vis, void* buffer) { return syscall (SYS_PROC_CREATE_RESOURCE, (uintptr_t)rid, (uintptr_t)type, (uintptr_t)vis, (uintptr_t)buffer, 0, 0); } int proc_drop_resource (int rid, int vis) { return syscall (SYS_PROC_DROP_RESOURCE, (uintptr_t)rid, (uintptr_t)vis, 0, 0, 0, 0); } int proc_mutex_lock (int mutex_rid, int vis) { return syscall (SYS_PROC_MUTEX_LOCK, (uintptr_t)mutex_rid, (uintptr_t)vis, 0, 0, 0, 0); } int proc_mutex_unlock (int mutex_rid, int vis) { return syscall (SYS_PROC_MUTEX_UNLOCK, (uintptr_t)mutex_rid, (uintptr_t)vis, 0, 0, 0, 0); } int proc_spawn_thread (uintptr_t vstack_top, size_t stack_size, void* entry) { return syscall (SYS_PROC_SPAWN_THREAD, vstack_top, (uintptr_t)stack_size, (uintptr_t)entry, 0, 0, 0); } int proc_translate_v2p (uintptr_t vaddr, uintptr_t* out_paddr) { return syscall (SYS_PROC_TRANSLATE_V2P, vaddr, (uintptr_t)out_paddr, 0, 0, 0, 0); } int proc_sched (void) { return syscall (SYS_PROC_SCHED, 0, 0, 0, 0, 0, 0); }