errval_t sys_debug_feign_frame_cap(struct capref slot, lpaddr_t base, uint8_t bits) { uint8_t cap_bits = get_cnode_valid_bits(slot); capaddr_t addr = get_cnode_addr(slot); return syscall5(SYSCALL_DEBUG, DEBUG_FEIGN_FRAME_CAP, addr, base, bits | (cap_bits << 8) | (slot.slot << 16)).error; }
int recv_ipc_message( ipc_port_id port_id, uint32_t* code, void* buffer, size_t size, uint64_t timeout ) { return syscall5( SYS_recv_ipc_message, port_id, ( int )code, ( int )buffer, size, ( int )&timeout ); }
errval_t sys_debug_cap_trace_ctrl(bool enable, genpaddr_t start, gensize_t size) { return syscall5(SYSCALL_DEBUG, DEBUG_TRACE_PMEM_CTRL, enable, start, size).error; }
errval_t sys_debug_set_breakpoint(uintptr_t addr, uint8_t mode, uint8_t length) { return syscall5(SYSCALL_DEBUG, DEBUG_SET_BREAKPOINT, addr, mode, length).error; }
errval_t sys_debug_send_ipi(uint8_t destination, uint8_t shorthand, uint8_t vector) { return syscall5(SYSCALL_DEBUG, DEBUG_SEND_IPI, destination, shorthand, vector).error; }
void * mmap (void *addr,size_t len,int prot,int flags,int fd,off_t offset){ return (void*)syscall5(SYS_mmap,(uint32_t) len, (uint32_t) prot, (uint32_t) flags,(uint32_t) fd,(uint32_t) offset); }
/* Higher-level wrappers around deterministic syscalls. */ long become_deterministic(void) { return syscall5(__NR_dput, 0, DET_BECOME_MASTER, 0, 0, 0); }
long dget(pid_t childid, long flags, unsigned long start, size_t size, unsigned long dststart) { return syscall5(__NR_dget, childid, flags, start, size, dststart); }