diff options
Diffstat (limited to 'common')
| -rw-r--r-- | common/debug.c | 14 | ||||
| -rw-r--r-- | common/uapi/ipc.c | 1 | ||||
| -rw-r--r-- | common/uapi/mem.c | 12 |
3 files changed, 16 insertions, 11 deletions
diff --git a/common/debug.c b/common/debug.c index e7bcc50..ae56ab1 100644 --- a/common/debug.c +++ b/common/debug.c @@ -19,20 +19,24 @@ static struct dbg_info { enum serial_dev dev; } dbg_info = (struct dbg_info){ 0 }; +/* forward declarations. */ +static void __setup_dbg(pm_t pt, enum serial_dev dev); +static struct dbg_info __dbg_from_fdt(const void *fdt); + void init_dbg(const void *fdt) { - dbg_info = dbg_from_fdt(fdt); + dbg_info = __dbg_from_fdt(fdt); } void setup_dmap_dbg() { - setup_dbg(dbg_info.dbg_ptr, dbg_info.dev); + __setup_dbg(dbg_info.dbg_ptr, dbg_info.dev); } void setup_io_dbg(struct vmem *b) { vm_t io_ptr = setup_kernel_io(b, dbg_info.dbg_ptr); - setup_dbg(io_ptr, dbg_info.dev); + __setup_dbg(io_ptr, dbg_info.dev); } /* if there arises a need for more supported serial drivers, I should probably @@ -95,7 +99,7 @@ static enum serial_dev __serial_dev_enum(const char *dev_name) return -1; } -struct dbg_info dbg_from_fdt(const void *fdt) +static struct dbg_info __dbg_from_fdt(const void *fdt) { int chosen_offset = fdt_path_offset(fdt, "/chosen"); const char *stdout = @@ -118,7 +122,7 @@ struct dbg_info dbg_from_fdt(const void *fdt) return (struct dbg_info){ dbg_ptr, dev }; } -void setup_dbg(vm_t pt, enum serial_dev dev) +void __setup_dbg(vm_t pt, enum serial_dev dev) { switch (dev) { case NS16550A: diff --git a/common/uapi/ipc.c b/common/uapi/ipc.c index d46ba26..4327c90 100644 --- a/common/uapi/ipc.c +++ b/common/uapi/ipc.c @@ -20,6 +20,7 @@ SYSCALL_DEFINE3(ipc_req)(sys_arg_t pid, sys_arg_t d0, sys_arg_t d1) { struct tcb *r = get_tcb(pid); /* TODO: something like jump_to_callback(t) */ + /* remember difference between ipc_req and ipc_fwd! */ return (struct sys_ret){ d0, d1 }; } diff --git a/common/uapi/mem.c b/common/uapi/mem.c index b953119..9d631ae 100644 --- a/common/uapi/mem.c +++ b/common/uapi/mem.c @@ -10,21 +10,21 @@ SYSCALL_DEFINE2(req_mem)(sys_arg_t size, sys_arg_t flags) { - /* proc_tcb should give the tcb of the TID currently running */ - struct tcb *r = cur_tcb(); + /* get current effective process */ + struct tcb *r = cur_proc(); return (struct sys_ret){ OK, alloc_uvmem(r, size, flags) }; } SYSCALL_DEFINE3(req_fixmem)(sys_arg_t start, sys_arg_t size, sys_arg_t flags) { - struct tcb *r = cur_tcb(); + struct tcb *r = cur_proc(); /* should probably check if the allocation succeeded...? TODO */ return (struct sys_ret){ OK, alloc_fixed_uvmem(r, start, size, flags) }; } SYSCALL_DEFINE1(free_mem)(sys_arg_t start) { - struct tcb *r = cur_tcb(); + struct tcb *r = cur_proc(); vm_t vm_start = (vm_t)start; if (vm_start > __pre_top && vm_start < __post_base) @@ -42,14 +42,14 @@ SYSCALL_DEFINE3(req_pmem)(sys_arg_t paddr, sys_arg_t size, sys_arg_t flags) * outside the RAM area, and I'll probably have to implement some method * that keeps track of used regions outside of RAM. We'll see. */ - struct tcb *r = cur_tcb(); + struct tcb *r = cur_proc(); return (struct sys_ret){ OK, alloc_devmem(r, paddr, size, flags) }; } SYSCALL_DEFINE2(req_sharedmem)(sys_arg_t size, sys_arg_t flags) { /* TODO: check that requester is server */ - struct tcb *t = cur_tcb(); + struct tcb *t = cur_proc(); vm_t start = 0; if ((start = alloc_shared_uvmem(t, size, flags))) return (struct sys_ret){ ERR_OOMEM, 0 }; |
