Commit Graph

186 Commits

Author SHA1 Message Date
Matheus b713f1dc45 nvme: fix use of non zero'd admin queue and wrong phase checking 2023-02-10 01:52:38 -03:00
Matheus d12f5d2144 nvme: hook to block abstraction and fixes 2023-02-10 01:07:48 -03:00
Matheus 9d2d5d9fd6 block: initial implementation 2023-02-10 01:07:33 -03:00
Matheus 3a2829986d devman: fix read/write error handling 2023-02-10 01:06:22 -03:00
Matheus ff59122dc2 nvme: more work on initialisation and read function 2023-02-08 22:12:55 -03:00
Matheus 6bf042e417 nvme: software progress reset and namespace list 2023-02-05 15:48:42 -03:00
Matheus d4f8ed68de nvme: identify command and structs 2023-02-04 01:26:30 -03:00
Matheus a6f37a6a85 nvme: initial worker thread implementation 2023-01-10 02:17:36 -03:00
Matheus e7467e5ce8 vmm: make sure there is a thread in the struct in the dealwithrequest call 2023-01-08 19:30:31 -03:00
Matheus c08644d7fb scheduler: make timer request start on sched_init rather than sched_runinit 2023-01-08 19:30:03 -03:00
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