#ifndef _LIBMSL_M_SYSTEM_H #define _LIBMSL_M_SYSTEM_H #include #include #if defined(__x86_64__) #define PROC_MAP_BASE 0x0000700000000000 #define PAGE_SIZE 4096 #endif #define MAP_PRESENT (1 << 0) #define MAP_RW (1 << 1) #define MAP_USER (1 << 2) #define MAP_FLAGS (MAP_PRESENT | MAP_USER) int quit (void); int test (char c); int sched (void); int map (int mem_rid, uintptr_t vaddr, uint32_t flags); int unmap (uintptr_t vaddr, size_t pages); int create_mem (int mem_rid, size_t pages); int unlink_mem (int mem_rid, size_t pages); int clone (uintptr_t vstack_top, size_t stack_size, void (*entry) (void)); int create_mutex (int mutex_rid); int unlink_mutex (int mutex_rid); int lock_mutex (int mutex_rid); int unlock_mutex (int mutex_rid); #endif // _LIBMSL_M_SYSTEM_H