Commit Graph

176 Commits

Author SHA1 Message Date
Matheus b980ab94c2 generic mouse interface 2023-01-05 23:29:03 -03:00
Matheus 78b9724b38 poll syscall: add volatile keyword to fd count to prevent a loop from being optimized out 2023-01-02 23:42:25 -03:00
Matheus cc59678fc4 keyboard: fix poll missing an argument 2023-01-01 12:20:19 -03:00
Matheus a7aa6fbdfd syscalls: syscall_threadexit 2023-01-01 10:49:15 -03:00
Matheus d5c65a749f scheduler: fix thread array stuff and fix stupid thing 2023-01-01 10:37:24 -03:00
Matheus 76435ad9a1 waitpid: remake the thread deallocation loop and fix a few stupid mistakes 2023-01-01 10:30:15 -03:00
Matheus 814ee1f69a scheduler: dequeue takes a state argument and releases a threadexit lock 2022-12-31 19:52:19 -03:00
Matheus bbcda47dcd syscalls: new thread syscall 2022-12-31 18:17:20 -03:00
Matheus 2a5fdd86f5 scheduler: getnextpid() and fix tid not being assigned properly to new threads 2022-12-31 18:16:52 -03:00
Matheus 5d62629d6f futex: fix issues that prevented it from working properly 2022-12-31 18:15:46 -03:00
Matheus 2f28713dae scheduler: lock proc when adding a new thread 2022-12-31 12:56:32 -03:00
Matheus 5ea50fee28 sched: use THREAD_DEFAULT_KSTACK_SIZE rather than hardcoding 10*PAGE_SIZE 2022-12-31 01:12:13 -03:00
Matheus 6d073b850e kernel: commandline support 2022-12-30 03:28:30 -03:00
Matheus 23f2ef05b9 kernel: env support 2022-12-30 03:28:06 -03:00
Matheus 7e975a3837 add a function that gets called after every system call and make all threads quit on program exit 2022-12-25 15:46:37 -03:00
Matheus 0cf4287719 syscalls: fix issue with poll 2022-12-24 13:21:40 -03:00
Matheus f882b1ad10 syscalls: make more system calls use ustring functions 2022-12-23 21:37:14 -03:00
Matheus 1ead72d897 syscalls: make a bunch of system calls use the new user memory operations 2022-12-15 10:19:58 -03:00
Matheus 30dd3d6ca3 ustring: more functions 2022-12-15 09:22:32 -03:00
Matheus ce474c670b vmm: dealwithrequest returns an errno rather than a bool 2022-12-13 23:43:26 -03:00
Matheus c17a2f4c6c kernel: user safe strlen 2022-12-13 23:41:40 -03:00
Matheus 9fc62579ea pci: msi stuff 2022-11-24 19:16:37 -03:00
Matheus a0b0217856 nvme: controller initialization 2022-11-24 18:28:00 -03:00
Matheus 05439a4e3b nvme: detection 2022-11-22 13:38:02 -03:00
Matheus 715ecb7140 Makefiles: fix several bad OBJPATHs 2022-11-21 20:20:43 -03:00
Matheus 8d8b319319 sched: handle thread death in a less hacky way 2022-11-21 20:12:47 -03:00
Matheus e550d94c91 vmm: fix request edge case in multithreaded applications 2022-11-21 20:02:01 -03:00
Matheus d2c89f01e6 scheduler: sched_die() and new thread state 2022-11-20 20:13:07 -03:00
Matheus f85f79f223 keyboard: poll 2022-10-27 18:21:46 -03:00
Matheus d64dc8f5b6 syscalls: open: fix create not being in relation to dirfd 2022-10-26 21:44:09 -03:00
Matheus 1d28e68aa2 syscalls: waitpid: fix possible null pointer dereference 2022-10-26 21:43:46 -03:00
Matheus 9dd308599b devman and vfs: check if a function is not implemented before calling 2022-10-25 19:27:47 -03:00
Matheus 8356c27239 syscalls: recvmsg and futex system calls 2022-10-24 15:44:01 -03:00
Matheus 763ea89e83 vfs: expect fd argument to a few calls 2022-10-24 15:40:55 -03:00
Matheus 72504f3598 vmm: vmm_tophyical() 2022-10-24 15:37:37 -03:00
Matheus 6db1cfe81d sockets: expect fd argument 2022-10-24 15:36:46 -03:00
Matheus 9815b8b06d fcntl: properly handle F_SETFL now 2022-10-24 15:35:33 -03:00
Matheus d8fedecc8f fork: fix new thread's tid not being set 2022-10-24 15:35:13 -03:00
Matheus ccca596128 linkat: fix no return in successful gettarget() 2022-10-24 15:34:55 -03:00
Matheus ede9367727 poll: properly do timeouts 2022-10-24 15:34:15 -03:00
Matheus 400f9d2231 unix sockets: a bunch of bugfixes 2022-10-24 15:31:48 -03:00
Matheus 729b025b19 sockets: actually use socklen_t 2022-10-22 23:41:11 -03:00
Matheus 813ab0060c file mapping stub 2022-10-22 10:58:43 -03:00
Matheus 97f2f25752 unix sockets: fix address behaviour 2022-10-21 17:51:23 -03:00
Matheus 4834353501 syscalls: link at 2022-10-21 13:25:29 -03:00
Matheus 3cd7baa390 syscalls: fchmod 2022-10-20 23:23:55 -03:00
Matheus e1cd9aba0e syscalls: nanosleep stub 2022-10-20 21:41:31 -03:00
Matheus 1a48d652f5 sockets: recv 2022-10-18 13:28:06 -03:00
Matheus 2b9cdff5ba accept: fix connfd state 2022-10-18 13:27:52 -03:00
Matheus c569c7280f accept: assign SOCKET_STATE_CONNECTED to the peer 2022-10-18 12:45:54 -03:00