#ifndef _JOVE_SYSCALL_HANDLER_H #define _JOVE_SYSCALL_HANDLER_H 1 #include "api/syscall.h" #include "memory.h" int _syscall_handler(void *data); #define CHECKPTR(p) { \ page_mapping_t mapping = vm_mapping_get((uintptr_t)p); \ if(mapping.phys == 0 || /* Mapping must not map to NULL phys page. */ \ mapping.pf.present == 0 || /* Mapping must be present. */\ mapping.pf.useraccess == 0 /* Mapping must be useraccess. */) \ return -1; } int _handler_dbg_log(struct sc_dbg_log *sc); int _handler_exit(struct sc_exit *sc); #endif