Files
magenta/syscall/config.c
T

35 lines
645 B
C

#include <kernel/sched.h>
#include <kernel/syscall.h>
kern_status_t sys_kern_config_get(kern_config_key_t key, void *ptr, size_t len)
{
struct task *self = get_current_task();
kern_status_t status = KERN_OK;
switch (key) {
case KERN_CFG_PAGE_SIZE:
if (!validate_access_w(self, ptr, sizeof(uintptr_t))) {
status = KERN_MEMORY_FAULT;
break;
}
*(uint32_t *)ptr = VM_PAGE_SIZE;
status = KERN_OK;
break;
default:
status = KERN_INVALID_ARGUMENT;
break;
}
put_current_task(self);
return status;
}
kern_status_t sys_kern_config_set(
kern_config_key_t key,
const void *ptr,
size_t len)
{
return KERN_ACCESS_DENIED;
}