Files
mop3/libmsl/m/proc.c
kamkow1 d1d772cb42
All checks were successful
Build documentation / build-and-deploy (push) Successful in 23s
Fix user apps randomly crashing (APIC, GDT layout, syscall entry)
2026-01-14 19:51:18 +01:00

38 lines
1.3 KiB
C

#include <m/syscall.h>
#include <m/syscall_defs.h>
#include <stddef.h>
#include <stdint.h>
int m_proc_quit (void) { return m_syscall (SYS_PROC_QUIT, 0, 0, 0, 0, 0, 0); }
int m_proc_test (char c) { return m_syscall (SYS_PROC_TEST, (uintptr_t)c, 0, 0, 0, 0, 0); }
int m_proc_map (uintptr_t paddr, uintptr_t vaddr, size_t pages, uint32_t flags) {
return m_syscall (SYS_PROC_MAP, paddr, vaddr, (uintptr_t)pages, (uintptr_t)flags, 0, 0);
}
int m_proc_unmap (uintptr_t vaddr, size_t pages) {
return m_syscall (SYS_PROC_UNMAP, vaddr, (uintptr_t)pages, 0, 0, 0, 0);
}
int m_proc_create_resource_mem (size_t pages, int vis, uintptr_t* out_paddr) {
return m_syscall (SYS_PROC_CREATE_RESOURCE_MEM, (uintptr_t)pages, (uintptr_t)vis,
(uintptr_t)out_paddr, 0, 0, 0);
}
int m_proc_drop_resource (int rid) {
return m_syscall (SYS_PROC_DROP_RESOURCE, (uintptr_t)rid, 0, 0, 0, 0, 0);
}
int m_proc_create_resource_mutex (int vis) {
return m_syscall (SYS_PROC_CREATE_RESOURCE_MUTEX, (uintptr_t)vis, 0, 0, 0, 0, 0);
}
int m_proc_mutex_lock (int mutex_rid) {
return m_syscall (SYS_PROC_MUTEX_LOCK, (uintptr_t)mutex_rid, 0, 0, 0, 0, 0);
}
int m_proc_mutex_unlock (int mutex_rid) {
return m_syscall (SYS_PROC_MUTEX_UNLOCK, (uintptr_t)mutex_rid, 0, 0, 0, 0, 0);
}