diff options
author | Alex Auvolat <alex@adnab.me> | 2015-03-11 17:59:28 +0100 |
---|---|---|
committer | Alex Auvolat <alex@adnab.me> | 2015-03-11 17:59:28 +0100 |
commit | 0b76aff59b586d87ee0449bc7deda878f4633515 (patch) | |
tree | 8fd773681e302d84bc1f33c2a2bdf791f0b0df95 /src/kernel/user | |
parent | 64b9108a58d3483e9b63511c4cf74b12dceeb0f6 (diff) | |
download | kogata-0b76aff59b586d87ee0449bc7deda878f4633515.tar.gz kogata-0b76aff59b586d87ee0449bc7deda878f4633515.zip |
Add better stack tracing technology (now uses kernel memory map!)
Diffstat (limited to 'src/kernel/user')
-rw-r--r-- | src/kernel/user/ipc.c | 20 | ||||
-rw-r--r-- | src/kernel/user/process.c | 4 |
2 files changed, 12 insertions, 12 deletions
diff --git a/src/kernel/user/ipc.c b/src/kernel/user/ipc.c index 9149663..7f34fdf 100644 --- a/src/kernel/user/ipc.c +++ b/src/kernel/user/ipc.c @@ -9,15 +9,15 @@ #include <hashtbl.h> -static size_t channel_read(fs_handle_t *c, size_t offset, size_t len, char* buf); -static size_t channel_write(fs_handle_t *c, size_t offset, size_t len, const char* buf); -static int channel_poll(fs_handle_t *c, void** out_wait_obj); -static bool channel_open(fs_node_t *c, int mode); -static bool channel_stat(fs_node_t *c, stat_t *st); -static void channel_close(fs_handle_t *c); -static void channel_dispose(fs_node_t *c); - -static fs_node_ops_t channel_ops = { +size_t channel_read(fs_handle_t *c, size_t offset, size_t len, char* buf); +size_t channel_write(fs_handle_t *c, size_t offset, size_t len, const char* buf); +int channel_poll(fs_handle_t *c, void** out_wait_obj); +bool channel_open(fs_node_t *c, int mode); +bool channel_stat(fs_node_t *c, stat_t *st); +void channel_close(fs_handle_t *c); +void channel_dispose(fs_node_t *c); + +fs_node_ops_t channel_ops = { .read = channel_read, .write = channel_write, .close = channel_close, @@ -323,7 +323,7 @@ typedef struct { static token_table_entry_t *expired_token = 0; -static void token_expiration_check(void* x) { +void token_expiration_check(void* x) { mutex_lock(&token_table_mutex); do { diff --git a/src/kernel/user/process.c b/src/kernel/user/process.c index 542c294..52f1031 100644 --- a/src/kernel/user/process.c +++ b/src/kernel/user/process.c @@ -81,7 +81,7 @@ error: return 0; } -static void run_user_code(void* param) { +void run_user_code(void* param) { setup_data_t *d = (setup_data_t*)param; void* esp = d->sp; @@ -490,7 +490,7 @@ void proc_close_fd(process_t *p, int fd) { // USER MEMORY REGION MANAGEMENT // // ============================= // -static user_region_t *find_user_region(process_t *proc, const void* addr) { +user_region_t *find_user_region(process_t *proc, const void* addr) { user_region_t *r = (user_region_t*)btree_lower(proc->regions_idx, addr); if (r == 0) return 0; |