Commit Graph

78 Commits

Author SHA1 Message Date
Matheus 91ec85d8ca panic: print backtrace on panic
Panics currently lack backtraces, which are a very useful thing to
have. Make the profiling backtrace function generic and print backtraces
using it.
2026-10-08 22:14:46 -03:00
wnstngs 9972aa9eea kernel: opportunistic spin on contended push locks 2026-10-06 19:51:19 +03:00
wnstngs 5d1a35fdc6 kernel: back off shared push lock cmpcxhg retries 2026-10-06 15:05:34 +03:00
Matheus f7052a78c1 Merge pull request #41 from wnsntgs/Kernel/Lib/PushLockOptimizations
Avoid repeated push lock waiter queue walks
2026-09-28 16:39:43 -03:00
wnstngs 2db436c700 kernel: guard pushlock assertions with DEBUG_LOCKS 2026-09-28 22:35:13 +03:00
wnstngs 4eab391004 kernel: avoid repeated push lock waiter queue walks 2026-09-24 23:17:53 +03:00
wnstngs 3a952c96b1 kernel: fix semaphore wakeup race 2026-09-23 20:48:29 +03:00
wnstngs 7f31cb6cbc kernel: improve contended push lock wakeups 2026-08-08 12:07:59 +03:00
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