12 Commits (main)

Author SHA1 Message Date
anna f8a85a1541
happy new year 2022 uwu
May it be slightly less exhausting than 2021.
2 years ago
anna 5a5135f416
update license terms
As of now, everything except the code imported
from FreeBSD is proprietary.  Of course, it won't
be like this for long, only until we have decided
which license we like to use.  The rationale is
that releasing everything under a copyleft license
later is always easier than doing so immediately
and then changing it afterwards.
Naturally, any changes made before this commit are
still subject to the terms of the CNPL.
3 years ago
anna 36985f51e2
add kqueue API
kqueues are going to form the basis for anything
related to I/O and IPC.  They are a lock-free,
atomic FIFO queue and support multiple emitters
and consumers.
3 years ago
anna b6385aea0a
panic: move to separate file, add KASSERT macro 3 years ago
anna 743424d15f
mm: fix page frame allocator bugs
This also includes a minor refactor of everything,
as well as some optimizations.  The bitmap
operations have been moved into a separate file
because they are probably gonna come in handy in
other parts of the system as well.
3 years ago
anna ad422894f2
mtx: add basic synchronization primitives 3 years ago
anna b2fccf1ecd
sched: add base for scheduling and task switching 3 years ago
anna 4679b7cee5
x86: add irq support 3 years ago
anna d436d9b203
mm: add page frame allocator 3 years ago
anna 2a0ed8121a
util: refactor misc utility stuff 3 years ago
anna 89e7a4eb47
clist: add circular list api 3 years ago
anna 2af5fad52f
kernel: add kprintf() api 3 years ago