- Current dev branch: "debug" (Link here).
- Summary of already completed improvements for the next release (v0.00.015): (Link here).
In addition, Zambesii has an almost-complete, native UDI (Uniform Driver Interface) implementation. The goal here was for me to then write a bunch of driver compatibility layers that would make it effortless to port Linux drivers to the UDI framework, and thus, drastically increase the availability of drivers for all hobbyist projects. I still have this goal.
Zambesii is not a toy project. It was developed and tested to work on Bochs, Qemu, VMWare Player, Virtual-Box, and (prior to its obsolescence) Microsoft Virtual-PC, as well as multicore real hardware machines. I was very meticulous about ensuring that it worked in as many environments as I was able to personally test on. It's not one of those "It works in Qemu only" type of "GDT + IDT + Hello World" projects. It's very much an Eleanore Semaphore type of project, because you won't be seeing any kind of flashy graphics, etc, here. I was very focused on getting the internals right. A non-exhaustive list of the features is:
- Symmetric multiprocessing, tested on real hardware.
- Cache-coherent Non-Uniform Memory Access, tested in Qemu only, because I have no access to a ccNUMA machine to test it on. But Geist did allow me to test on a NUMA machine at his workplace.
- Demand paged kernel heap.
- CPU hotplug (untested, but the code is there).
- Memory hotplug (untested, but the support is there).
- Multiprocessing, and multithreading.
- Soft real-time priority-based scheduler.
- Native Uniform Driver Interface environment implementation.
- AP CPUs boot in parallel asynchronously. When I got this done, I remember being pretty proud of it.
--Yours sincerely,
Latent Prion