diff options
author | Anton Kling <anton@kling.gg> | 2024-04-15 20:34:58 +0200 |
---|---|---|
committer | Anton Kling <anton@kling.gg> | 2024-04-15 20:34:58 +0200 |
commit | 62ba2a9ab01e5f2a9b1cd325af8d3112702b7713 (patch) | |
tree | 0926fbbc9d8c0058ee0f37e4f8691a554ca647e3 /kernel/cpu | |
parent | 3acd8cf6c8e41c1e1228c60ac5c4ea0f69e7aff5 (diff) |
Bug fix and cleanup.
Diffstat (limited to 'kernel/cpu')
-rw-r--r-- | kernel/cpu/idt.c | 2 | ||||
-rw-r--r-- | kernel/cpu/syscall.c | 78 |
2 files changed, 25 insertions, 55 deletions
diff --git a/kernel/cpu/idt.c b/kernel/cpu/idt.c index 0d031f3..b668c6e 100644 --- a/kernel/cpu/idt.c +++ b/kernel/cpu/idt.c @@ -101,7 +101,7 @@ void page_fault(reg_t *regs) { kprintf("Attempted instruction fetch\n"); } - dump_backtrace(8); + dump_backtrace(20); halt(); } diff --git a/kernel/cpu/syscall.c b/kernel/cpu/syscall.c index d3da640..a33a6e2 100644 --- a/kernel/cpu/syscall.c +++ b/kernel/cpu/syscall.c @@ -156,61 +156,31 @@ int syscall_tcp_read(u32 socket, u8 *buffer, u32 buffer_size, u64 *out) { } int (*syscall_functions[])() = { - (void(*))syscall_open, - (void(*))syscall_mread, - (void(*))syscall_write, - (void(*))syscall_pread, - (void(*))syscall_pwrite, - (void(*))syscall_fork, - (void(*))syscall_exec, - (void(*))syscall_getpid, - (void(*))syscall_exit, - (void(*))syscall_wait, - (void(*))syscall_brk, - (void(*))syscall_sbrk, - (void(*))syscall_pipe, - (void(*))syscall_dup2, - (void(*))syscall_close, - (void(*))syscall_openpty, - (void(*))syscall_poll, - (void(*))syscall_mmap, - (void(*))syscall_accept, - (void(*))syscall_bind, - (void(*))syscall_socket, - (void(*))syscall_shm_open, - (void(*))syscall_ftruncate, - (void(*))syscall_stat, - (void(*))syscall_msleep, - (void(*))syscall_uptime, - (void(*))syscall_mkdir, - (void(*))syscall_recvfrom, - (void(*))syscall_sendto, - (void(*))syscall_kill, - (void(*))syscall_sigaction, - (void(*))syscall_chdir, - (void(*))syscall_getcwd, - (void(*))syscall_isatty, - (void(*))syscall_randomfill, - (void(*))syscall_ipc_register_endpoint, - (void(*))syscall_ipc_read, - (void(*))syscall_ipc_write, - (void(*))syscall_ipc_write_to_process, - (void(*))syscall_outw, - (void(*))syscall_inl, - (void(*))syscall_outl, - (void(*))syscall_map_frames, - (void(*))syscall_virtual_to_physical, - (void(*))syscall_install_irq, - (void(*))syscall_tmp_handle_packet, - - (void(*))syscall_tcp_connect, - (void(*))syscall_tcp_write, + (void(*))syscall_open, (void(*))syscall_mread, + (void(*))syscall_write, (void(*))syscall_pread, + (void(*))syscall_pwrite, (void(*))syscall_fork, + (void(*))syscall_exec, (void(*))syscall_getpid, + (void(*))syscall_exit, (void(*))syscall_wait, + (void(*))syscall_brk, (void(*))syscall_sbrk, + (void(*))syscall_pipe, (void(*))syscall_dup2, + (void(*))syscall_close, (void(*))syscall_openpty, + (void(*))syscall_poll, (void(*))syscall_mmap, + (void(*))syscall_accept, (void(*))syscall_bind, + (void(*))syscall_socket, (void(*))syscall_shm_open, + (void(*))syscall_ftruncate, (void(*))syscall_stat, + (void(*))syscall_msleep, (void(*))syscall_uptime, + (void(*))syscall_mkdir, (void(*))syscall_recvfrom, + (void(*))syscall_sendto, (void(*))syscall_kill, + (void(*))syscall_sigaction, (void(*))syscall_chdir, + (void(*))syscall_getcwd, (void(*))syscall_isatty, + (void(*))syscall_randomfill, (void(*))syscall_outw, + (void(*))syscall_inl, (void(*))syscall_outl, + (void(*))syscall_map_frames, (void(*))syscall_virtual_to_physical, + (void(*))syscall_install_irq, (void(*))syscall_tmp_handle_packet, + (void(*))syscall_tcp_connect, (void(*))syscall_tcp_write, (void(*))syscall_tcp_read, - - (void(*))syscall_queue_create, - (void(*))syscall_queue_add, - (void(*))syscall_queue_wait, - (void(*))syscall_munmap, + (void(*))syscall_queue_create, (void(*))syscall_queue_add, + (void(*))syscall_queue_wait, (void(*))syscall_munmap, (void(*))syscall_open_process, }; |