Commit Graph

63 Commits

Author SHA1 Message Date
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
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