Hi,
attached patch moves all crt0s from the mainboards' Makefiles to src/arch/i386/Makefile.inc, adding conditionals where necessary. Thus, for adding a board, you don't have to care about these anymore.
The unification leads to some changes, some (presumably) harmless, others for the good:
enable_fpu.inc, enable_sse.inc etc. appear on lots more boards. These I think are harmless
Some romstraps were missing (or in one case too much), and this is much more regular now, depending only on the presence of the chipset component that requires them. In particular, these boards were missing romstraps, which were lost on the newconfig/kconfig transition: - asus/a8n_e - msi/ms7260 - msi/ms9282 - sunw/ultra40 It might be that these didn't work with Kconfig and will work again after this patch.
via/epia-m had the northbridge/via/vx800 romstrap without using that northbridge.
There's also a new target "printcrt0s" in the toplevel Makefile which I used for debugging. It might be helpful for people who want to debug crt0s for the transition, it certainly was for me.
The instructions to migration locally developed boards are simple: - Apply the Makefile patch only - Note the output of "make printcrt0s" so you have a list of crt0s for your board. - Apply the patch - Remove all crt0s (and crt0-y if you didn't update in a while) in your mainboard's Makefile.inc - Compare the new output of "make printcrt0s" with the old one. It doesn't hurt if a romstrap is at a different place in the list.
Alternatively, just remove crt0s and try if your board still boots ;-)
There are three options how to move on from here (if this change is accepted): 1. Keep the decisions in Makefile.inc 2. Move chip specific includes into the chip's Makefile.inc 3. Create a static file, instead of building it from crt0s
Option 2 would move chipset decisions to the chipsets, option 3 would simplify the buildsystem. Both are simple, now that things are centralized.
The other future development would be to do the same to ldscripts, but I didn't want to increase the patch size too much.
Signed-off-by: Patrick Georgi patrick.georgi@coresystems.de