Commit Graph

53 Commits

Author SHA1 Message Date
Matheus 80786cf97a kernel_args: redo implementation 2025-09-07 23:09:34 -03:00
Matheus a04a437fef ringbuffer: use alloc instead of vmm 2025-09-01 21:39:45 -03:00
Matheus 101f158ee3 panic: reorder halting of other cpus 2025-08-31 21:35:44 -03:00
Matheus 81c7d77ad0 semaphore: fix bug when used on stack 2025-08-31 13:07:15 -03:00
Matheus 32f02edcc8 panic: halt other cpus 2025-08-27 21:52:13 -03:00
Matheus 5db78acd72 pushlock: fix code 2025-08-25 22:39:35 -03:00
Matheus 3cf396393a uacpi: update 2025-08-20 23:28:36 -03:00
Matheus c024e1abb7 scheduler: little bit of cleanup 2025-08-20 22:15:09 -03:00
Matheus 136c86354c scheduler: continue rework 2025-08-20 22:00:25 -03:00
Matheus 938612e82e spinlock: rename functions 2025-08-15 22:54:28 -03:00
Matheus 6245a3d19f kernel: add ubsan bindings, fix some UB reported by it 2024-12-31 11:20:27 -03:00
Matheus c47f0e5ea7 pushlock: initial implementation 2024-12-28 00:16:42 -03:00
8infy 026fb51dc8 string: make memcpy src const 2024-09-28 15:20:32 +03:00
Matheus 1fd2f6bc50 semaphore: semaphore_signal_limit 2024-09-22 11:39:40 -03:00
Matheus 0bff52b41e sched: finish preparing scheduler for rewrite 2024-09-21 23:06:37 -03:00
Matheus 570d51dcf1 udp: prepare for copyless read/write 2024-09-18 22:22:56 -03:00
Matheus 1140244816 ringbuffer: add a RINGBUFFER_USER_COPY_FAILED macro 2024-09-18 19:30:59 -03:00
Matheus 7460e8b707 ringbuffer: handle user addresses 2024-09-18 19:01:01 -03:00
Matheus a63f8c37cc ringbuffer: documentation and ringbuffer_remove 2024-09-18 18:50:25 -03:00
Matheus 5e8e54e553 semaphore: fix bug 2024-09-16 22:55:02 -03:00
Matheus 56d665d5a0 kernel: fix remaining _cpu() races 2024-09-15 18:39:59 -03:00
Matheus e058d62261 cpu: change _cpu()->thread calls to current_thread() to fix smp race 2024-09-15 17:47:26 -03:00
Matheus 3037ad150b string: strerror 2024-09-11 20:30:39 -03:00
Matheus c086b9625a scheduler: fix issue with threads being lost 2024-09-09 21:24:02 -03:00
8infy f306edb5ec semaphore: introduce a semaphore_reset helper
This simply clears the internal counter of a semaphore.
2024-09-01 23:12:44 +03:00
8infy 7e3922c7ad semaphore: add a new semaphore_timedwait helper
This is the same as semaphore_wait except it allows for the acquire
attempt to time out after a given period of time.
2024-09-01 19:39:25 +03:00
Matheus 13d34e49ae ringbuffer: better operations 2024-08-21 23:40:01 -03:00
Matheus fb24745071 string: better memset and memcpy 2024-08-21 23:23:58 -03:00
Matheus 67fab4f0aa hashtable: fix memory leak 2024-07-30 20:30:08 -03:00
Matheus 4c0940828c ringbuffer: size and peek 2024-06-03 21:54:13 -03:00
Matheus 3093051a8b kernel: remove event_t as it suffered from a lost wakeup issue 2024-05-29 16:08:28 -03:00
Matheus dd1719096a semaphore: fix a race condition 2024-05-26 20:51:25 -03:00
Matheus bf841406d5 semaphore: signal safety 2024-05-08 20:13:12 -03:00
Matheus 219635a48a ringbuffer: ringbuffer_truncate 2024-04-07 16:31:17 -03:00
Matheus abb39478df semaphore: don't sleep if theres no thread running on the cpu yet 2023-12-31 15:47:35 -03:00
Matheus 57c94ebf15 smp: let other processors run threads 2023-11-30 17:54:32 -03:00
Matheus 14aca89361 hashtable: fix linked list 2023-09-17 01:31:55 -03:00
Matheus ff52baf4f4 kernel: move fnv1a hash from hashtable.c to util.h 2023-08-07 20:28:07 -03:00
Matheus 49eef0e04c vfs: use mutexes for locking 2023-07-26 20:29:40 -03:00
Matheus c1aa09eade kernel: misc fixes 2023-07-25 19:02:59 -03:00
Matheus b75d634339 hashtable: fix remove 2023-07-05 00:36:39 -03:00
Matheus 42b130bfe0 kernel: new event abstraction 2023-07-03 22:56:23 -03:00
Matheus 02b3d5696b semaphore: haswaiters and redo how threads are attached 2023-07-03 22:40:44 -03:00
Matheus 8e59a38e4c scheduler: thread sleep queue pointers 2023-05-15 22:38:03 -03:00
Matheus 26e9f370b5 semaphore: disable interrupts while lock is held 2023-05-04 22:45:49 -03:00
Matheus c1c84cffbb kernel: semaphores 2023-05-03 21:07:43 -03:00
Matheus 393e34a04e kernel: ringbuffer 2023-05-02 21:19:44 -03:00
Matheus 13982e15b7 hashtable: keep track of entry count 2023-05-01 01:01:10 -03:00
Matheus a7545ef040 kernel: hashtables 2023-04-29 18:50:35 -03:00
Matheus 86fdfd114f string: memcmp() 2023-04-29 18:48:41 -03:00