Hi,
The attached patch allows the user to select one of multiple
tinybootblock handlers. It also adds a new handler that provides
fallback/normal behaviour (run normal iff CMOS says so and is present).
The handler doesn't work yet (at least in my tests), but should be
close. I mostly push this to start a discussion on how we want that part
of coreboot to work.
The idea would be to install the "normal" handler and fallback images in
one pass, and normal images in a later pass using the already commited
update feature.
More special operations in tinybootblock become possible, too - maybe
"run flashrom_romstage if GPIO x is triggered", or "run images X if
cpuid is X, images Y if cpuid is Y".
To apply the patch, src/arch/i386/init/bootblock.c must be copied to
src/arch/i386/include/tinybootblock_common.h
src/arch/i386/init/tinybootblock_normal.c
src/arch/i386/init/tinybootblock_simple.c
and bootblock.c itself be removed (the patch does that, but your
patch(1) might not delete the file properly).
Signed-off-by: Patrick Georgi <patrick.georgi(a)coresystems.de>