syscall: add lots of syscalls

This commit is contained in:
2026-02-19 19:21:50 +00:00
parent dbc7b8fc59
commit 1d4fd4f586
8 changed files with 1061 additions and 14 deletions

30
syscall/config.c Normal file
View File

@@ -0,0 +1,30 @@
#include <kernel/sched.h>
#include <kernel/syscall.h>
#include <kernel/vm-region.h>
kern_status_t sys_kern_config_get(kern_config_key_t key, void *ptr, size_t len)
{
struct task *self = current_task();
switch (key) {
case KERN_CFG_PAGE_SIZE:
if (!validate_access_w(self, ptr, sizeof(uintptr_t))) {
return KERN_MEMORY_FAULT;
}
*(uint32_t *)ptr = VM_PAGE_SIZE;
return KERN_OK;
default:
return KERN_INVALID_ARGUMENT;
}
return KERN_UNSUPPORTED;
}
kern_status_t sys_kern_config_set(
kern_config_key_t key,
const void *ptr,
size_t len)
{
return KERN_ACCESS_DENIED;
}