Commit graph

12 commits

Author SHA1 Message Date
fef
16a229c936
mm: protect cache pools with mutex 2021-10-23 02:50:04 +02:00
fef
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.
2021-10-23 00:56:49 +02:00
fef
96378f019c
kmalloc: add shiny new buddy page frame allocator
This is still kind of a work in progress because
it will be the backend to a slab allocator, which
in turn is managed by kmalloc().
2021-10-22 06:22:38 +02:00
fef
c911ff9009
x86/mm: add huge page support
This is part of a series of commits where i
completely rewrite kmalloc() because it needs to
be able to return physically contiguous memory for
DMA operations.
Yes, i know the build isn't working right now.
2021-10-17 01:09:51 +02:00
fef
7af90dc798
clist: you got to be fucking kidding me
This was my actual intention behind the previous
commit.  I should really go to bed.
2021-10-16 04:30:37 +02:00
fef
9ba75c564a
clist: remove the stupid there, too 2021-10-16 04:26:00 +02:00
fef
904584ccc0
libc: refactor a couple of string routines
This is just a minor overhaul of several utility
functions, in part because it kept bothering me
and in part because i was bored.
2021-10-12 23:24:17 +02:00
fef
16b6924beb
kmalloc: fix comments affected by auto rename
Just VS Code things
2021-10-04 05:56:11 +02:00
fef
347bb5cc9c
kmalloc: bugfixes and performance improvements 2021-09-30 00:32:07 +02:00
fef
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.
2021-09-29 01:10:41 +02:00
fef
8129518640
mm: replace GRUB's GDT with our own 2021-09-28 00:48:19 +02:00
fef
d436d9b203
mm: add page frame allocator 2021-09-21 18:25:54 +02:00