And here is the patch. abuild-tested. I will boot test it with P2B-LS and P3B-F tomorrow but I want this patch out there to generate some discussions and get more boot test coverage.
This I believe falls under "infrastructure projects" [1].
This patch facilitates, for boards using Winbond W83977TF superio, dropping early_serial.c from #includes of their romstage, instead linking to them; and converts 12 of 13 mainboards using this superio to do exactly this. The lone board out, iei/nova4899r, is a Geode/CS5530 board that has not yet been converted to CAR or tiny bootblock. The rest are all slot 1/440BX/i82371eb boards that have been converted. At this stage I should leave converting CS5530 to tiny bootblock to someone better versed in this platform.
The pnp_... functions defined in romcc_io.h now have a new home in arch/x86/lib/pnp.c, and is compiled and linked like any other C files meant for romstage.
This patch puts the W83977TF early serial code in a state where it can be incorporated both through the old setup (ie. #included in mainboard romstage), or be compiled separately and linked into romstage. Once this conversion is done on all superios and all southbridges/boards have been converted, the few #ifdefs that made this possible can be cleaned out.
Signed-off-by: Keith Hui buurin@gmail.com
[1] http://www.coreboot.org/Infrastructure_Projects#Remove_.c_includes
On Mon, Feb 28, 2011 at 1:00 PM, Keith Hui buurin@gmail.com wrote:
Hi all,
In my pipeline is something more infrastructural, something different from what I usually do -
I am converting early serial code for Winbond W83977TF from code included in romstage to compiled unit to be linked into romstage.
13 boards use this superio, some apparently still not converted to CAR (including one Intel server board). I have yet to complete running abuild on my change. Should I let it break when I submit it for review given earlier buzz suggesting we leave non-CAR boards behind?
The reason I'm doing this is I want to do this for ITE IT8705F, which happens to have no board using it at the moment, but I want to test this approach on a board that I can boot test right now. Enter the P2B-LS and W83977TF. If this proof of concept works, we can start this conversion one superio at a time and nail down one more goal of the infrastructure refactoring.
Thoughts and comments?
Thanks Keith