13 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 52ac282ac8
x86: move common setup checks to shared file
This should also kind of fix the build.
I don't know whether that's actually the case
because i haven't tried tho lmao.
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 2a6dcf8c0c
x86/boot: enable Page Size Extensions
This single fucking bit is the reason 4MB pages
weren't working all along
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 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 5c0fa715a4
kmalloc: add actual memory allocator
Now that memory allocation finally kind of works,
we can finally start focusing on the core system
architecture.  This commit also fixes some bugs in
get_page() and friends, as well as performance
improvements because the page map is addressed as
unsigned longs rather than individual bytes.
3 years ago
anna 8129518640
mm: replace GRUB's GDT with our own 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 25e00354ec
x86/boot: move multiboot code to arch 3 years ago