14 Commits (f8a85a154130b2c4007f11766d247fc44aafabbd)

Author SHA1 Message Date
anna f8a85a1541
happy new year 2022 uwu
May it be slightly less exhausting than 2021.
2 years ago
anna 7285c2e076
mm: refactor entire mm subsystem, part 1
Another one of those larger endeavours that take
multiple commits.  This first one introduces the
basic vm_page data structure, as well as the x86
bootstrap code for initializing it.
3 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 f0706b802b
boot: ignore unaddressable RAM areas on i386
We don't support PAE or any other fancy hack to
get past the 4 GB limit on 32-bit, so we have to
clip areas that would fall outside that range
3 years ago
anna 3fee893f21
x86: begin preparations for amd64 support
This is a huge commit, but it mainly just moves
some files around and doesn't change their
contents much.
A lot of stuff works the same on amd64 as it does
on i386, so i'm moving the parts that are specific
to the latter into separate subdirectories while
the rest can be shared with the amd64 codebase.
3 years ago
anna c3847487be
config: refactor kernel address mapping names 3 years ago
anna 65899b35f1
x86: minor page management refactor
Even Uranium-223 ages better than my code
3 years ago
anna d475429639
kprintf: implement "full" format sequence support
So this was painful.  kprintf() supports most of
the format specifiers from BSD now, except for the
$ sequence.  It has gotten a general overhaul and
is significantly more sophisticated, bloated and
slower now.  There is also some minor stuff i
forgot about, like the 't' length modifier, but
that isn't so important right now and will be
fixed later(TM).
3 years ago
anna 613c28a965
x86: add basic interrupt support
This commit also fixes the fun little size bug in
segment.S where i subtracted the end from the
start address of the GDT instead of the other way
round which resulted in a gigantic overflow :)
3 years ago
anna 3d6258a06e
mm: implement runtime page mapping 3 years ago
anna 17320f2571
boot: enable paging in boot sequence 3 years ago
anna d436d9b203
mm: add page frame allocator 3 years ago
anna 2a0ed8121a
util: refactor misc utility stuff 3 years ago
anna 25e00354ec
x86/boot: move multiboot code to arch 3 years ago