June 16, 2025
Added Miri tests and more exhaustive tests for everything, fixed paging and slab allocator bug.
Hopefully, I can finally start continuing working on the actual thing soon., It was just really important for me to make sure all the core code right, that is has a good API, and that it contains absolutely zero bugs, so development will go a lot smoother down the road.
It took me a lot more time than it should've because I didn't plan the API enough beforehand. From now on development will be a lot more interesting, and should be a lot faster too!
So for anyone seeing this: start planning ahead and checking out other peoples code. It will save you a lot of time and headache in the future.
Updated slab allocator and reworked some other parts.
Fixed paging error I had, and refactored a bunch of code
continued working on NVMe. Not much progress, just logging the hours so I don't loose them
finished breaking down into crates and unit testing. will have to fix some broken stuff, add integration testing and take care of lints
finished breaking down into crates, reworked PMM and refactored a lot of code to be more modular, general and tidy, and finished off by setting PMM unit tests :)
reworked buddy PMM, and continuing reconstruction into crates
refactoring code down into crates: stage 1
Started NVMe driver
Forgot to post new dev logs :)
I've added basic PCIe device discovery, did some clean up & got rid of warnings, and just finished setting up CI CD
Added basic CPUID intercept test, more comments, and groundwork for a NPT
A type 1 hypervisor, written entirely from scratch in Rust! In order to run the demo see the README in the repo
This was widely regarded as a great move by everyone.