summaryrefslogtreecommitdiff
path: root/kernel/cpu
diff options
context:
space:
mode:
authorAnton Kling <anton@kling.gg>2024-04-15 20:34:58 +0200
committerAnton Kling <anton@kling.gg>2024-04-15 20:34:58 +0200
commit62ba2a9ab01e5f2a9b1cd325af8d3112702b7713 (patch)
tree0926fbbc9d8c0058ee0f37e4f8691a554ca647e3 /kernel/cpu
parent3acd8cf6c8e41c1e1228c60ac5c4ea0f69e7aff5 (diff)
Bug fix and cleanup.
Diffstat (limited to 'kernel/cpu')
-rw-r--r--kernel/cpu/idt.c2
-rw-r--r--kernel/cpu/syscall.c78
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,
};