Commit Graph

70 Commits

Author SHA1 Message Date
Matheus d1b499c43e pushlock: fix possible sleep on unlocked pushlock 2026-07-18 17:35:00 -03:00
Matheus fd443a211d pushlock: rewrite implementation 2026-07-17 15:58:59 -03:00
Matheus 80399880d1 trie: support preallocations 2026-07-12 22:40:58 -03:00
Matheus 3e7228dde1 trie: use a proper slab cache 2026-07-12 22:16:32 -03:00
Matheus e630b7fa11 lib: trie implementation 2026-07-12 13:28:13 -03:00
Matheus c3a7b75f0e rbtree: fix rbtree_find_first_larger_equal 2026-07-08 13:20:03 -03:00
Matheus 659b29ef4e syscalls: implement sysctl and add process listing 2026-06-09 17:47:27 -03:00
Matheus c4dbf30716 resource_allocator: fix interrupt state leak 2026-05-12 22:03:56 -03:00
Matheus 50992fabde bitmap: fix bitmap_find_first_set 2026-04-27 00:04:48 -03:00
iretq 1dea5f12a8 bitmap: implement bitmap_set_range, bitmap_get and bitmap_destroy 2026-04-25 16:48:58 -03:00
Matheus 2ebd08e949 string: strnlen 2026-04-06 21:40:40 -03:00
Matheus 03b3ef8377 resource allocator: make interrupt safe 2026-02-12 16:31:07 -03:00
Matheus 832836d010 lib: add generic resource allocator 2026-01-28 11:48:06 -03:00
Matheus 0358698757 rbtree: add greater or equal lookup and fix sucessor/predecessor 2025-12-26 23:00:59 -03:00
Matheus b2ccb01bd9 rbtree: initial implementation 2025-12-25 20:16:58 -03:00
Matheus e04ec29c48 string: fix strncmcp 2025-10-03 19:29:40 -03:00
Matheus f5259684e5 panic: only halt other cpus if needed 2025-09-18 20:24:45 -03:00
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