7 Commits (b4ed811920698530836eb9ab66104b9cd33fa622)

Author SHA1 Message Date
anna b4ed811920
mm: refactor page allocator
This is hopefully the last time in a while that
something in the mm subsystem needs a refactor
this large.  There are two main changes:
- The page frame allocator returns a vm_page_t
  rather than a virtual address.
- Data for the slab allocator is now stored in
  struct vm_page, which means there is no overhead
  in the slab itself so the space is used in a
  more efficient manner.
2 years ago
anna f8a85a1541
happy new year 2022 uwu
May it be slightly less exhausting than 2021.
2 years ago
anna 56767c59ed
x86/ktrace: improve traceability 2 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 38d9a9586d
smp: add base for SMP awareness 3 years ago
anna 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().
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