Skip to content
This repository has been archived by the owner on Oct 22, 2022. It is now read-only.

Super Sv39

Compare
Choose a tag to compare
@DonaldKellett DonaldKellett released this 01 Oct 15:29
· 10 commits to main since this release

Still a looooong way to go before I get to anything resembling a remotely usable operating system from an end user's perspective, but anyway, I'd like to take the time to celebrate the fact that I finally turned the MMU on and got it working!

The project codebase has also seen some notable improvements which should aid with maintenance and development going forward:

  • Implemented page-grained allocator
  • Implemented Sv39 routines
  • Implemented byte-grained allocator (kmalloc, kcalloc, kfree)
  • Turned on Sv39 paging in S-mode and confirmed that dynamic memory allocation works for basic use cases
  • Rewrote linker script from scratch to something I actually fully understand and have full control over
  • Extended the C runtime crt0.s to support switching from M-mode to S-mode
  • Added format target for make in order to enforce consistent formatting across the codebase