I am slowly putting together a working LinuxBIOS development tree.
I have romcc up and working and initializing memory on my target hammer board. The memory configuration completely hard coded but it works.
I am using gcc's C preprocessor because I need the ability to stringize a macro to print out the LinuxBIOS version string, and I don't feel like implementing macros with arguments and all of the little quirks right now.
One of my first steps is making hardwaremain generic and in just starting that and looking at it's dependencies I have found a huge mess of code that needs to be cleaned up.
Just a small taste. Why are the I/O primitives in cpu/p5/io.h and not directly in arch/io.h? And why to we have piles of code in that header that are ifdefed out. Most of the code left over from the earliest days of LinuxBIOS is similarly nasty.
There is a list that goes on and on, and tomorrow I will get serious about cleaning it out.
With a little luck I am maybe a week out from having my hammer code being self hosting. That is a week out from gluing the LinuxBIOS tree back together enough that I can load etherboot and have normal and fallback images. At which point I should have enough bandwidth to get the last of the little things I care about resolved in on the stable branch. I would worry about that more but my primary responsibility at this point is to get the Hammer port up and going.
Eric