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@coresystems.de
On 2/10/10 8:04 PM, Patrick Georgi wrote:
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@coresystems.de
Acked-by: Stefan Reinauer stepan@coresystems.de