Author: oxygene Date: 2009-11-27 15:32:17 +0100 (Fri, 27 Nov 2009) New Revision: 4961
Modified: trunk/src/arch/i386/init/ldscript_fallback_cbfs.lb Log: Let ld(1) calculate the required size for code in the bootblock automatically. Signed-off-by: Maciej Pijanka <[email protected]> Acked-by: Patrick Georgi <[email protected]> Modified: trunk/src/arch/i386/init/ldscript_fallback_cbfs.lb =================================================================== --- trunk/src/arch/i386/init/ldscript_fallback_cbfs.lb 2009-11-27 11:04:08 UTC (rev 4960) +++ trunk/src/arch/i386/init/ldscript_fallback_cbfs.lb 2009-11-27 14:32:17 UTC (rev 4961) @@ -40,8 +40,10 @@ _x = .; . = (_x < (CONFIG_ROMBASE - 0x10000 + CONFIG_ROM_IMAGE_SIZE)) ? (CONFIG_ROMBASE - 0x10000 + CONFIG_ROM_IMAGE_SIZE) : _x; + __my_rom_start = .; + /* This section might be better named .setup */ - .rom . : { + .rom _myrom : { _rom = .; *(.rom.text); *(.rom.data); @@ -54,6 +56,7 @@ } _lrom = LOADADDR(.rom); + _elrom = LOADADDR(.rom) + SIZEOF(.rom); /DISCARD/ : { @@ -62,4 +65,13 @@ *(.comment.*) *(.note.*) } + + __my_rom_end = .; + + __my_rom_size = (( ( __my_rom_end - __my_rom_start ) / 256) + 2 ) * 256; + /* Next line gives same output for me as above one but causes + * ld to complain about non constant offset so + __my_rom_size = (( (SIZEOF(.rom) + SIZEOF(.data) + SIZEOF(.text)) / 256 ) + 2 ) * 256; + */ + _myrom = _rom + (0x10000 - __my_rom_size); } -- coreboot mailing list: [email protected] http://www.coreboot.org/mailman/listinfo/coreboot

