aboutsummaryrefslogtreecommitdiff
path: root/common
diff options
context:
space:
mode:
Diffstat (limited to 'common')
-rw-r--r--common/debug.c14
-rw-r--r--common/uapi/ipc.c1
-rw-r--r--common/uapi/mem.c12
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 };