Hello,
I'm glad to announce a new release (version 0.2b now) of my intermediate AMD64 bootloader Hydrogen.
Essentially it is a C rewrite of the old assembly 0.1b release I did, because I had found the assembly version, which was purely intended as a proof of concept and not as a production ready system, to be too difficult to maintain and extend. While use of the assembly version is discouraged and it won't be developed any further by me, it is still available on GitHub (now as HydrogenLegacy).
Changes to the previous version include a cleaner memory layout, more reasonable defaults (especially in LAPIC and IO APIC setup) and support for up to 256 CPUs. More detailed specifications and a header file for the ABI are now shipped with the source package. Additionally an example kernel has been added that enables the user to browse the Hydrogen info tables and allows quick testing on real hardware.
While the new ABI is not compatible with that of 0.1b, the concepts (the info table and the kernel header) are similar and it should be easy to migrate an existing kernel from 0.1b to 0.2b. I apologize though for any inconvenience that may be caused by having to migrate to the new ABI.
The source distribution can be found at https://github.com/farok/Hydrogen, a bootable ISO 9660 image with the test kernel is available at https://github.com/downloads/farok/Hydrogen/test02b.iso.
For future releases the discovery of NUMA domains and x2APIC support are planned.
Regards, Farok
Hydrogen 0.2b
Hydrogen 0.2b
https://github.com/qero/Hydrogen (Loader for AMD64 kernels running on top of GRUB2)