On Sun, Apr 19, 2009 at 9:26 AM, Carl-Daniel Hailfinger c-d.hailfinger.devel.2006@gmx.net wrote:
On 18.04.2009 23:56, Carl-Daniel Hailfinger wrote:
On 17.04.2009 23:38, Carl-Daniel Hailfinger wrote:
Thanks to Myles' patch adding support for include statements, refactoring Config.lb became possible.
Factor out ROM size calculation from Config.lb. Only targets with USE_FAILOVER_IMAGE support are part of this patch, the other targets will come as separate patch.
I have a new patch with 87 boards (with and without USE_FAILOVER_IMAGE), but it has to work around a parser bug. diffstat is 89 files changed, 209 insertions(+), 2415 deletions(-) A total of 2206 removed lines. Yay!
Abuild works for all changed boards.
Signed-off-by: Carl-Daniel Hailfinger c-d.hailfinger.devel.2006@gmx.net
Index: LinuxBIOSv2-Configlb_refactor2/src/nofailovercalculation.lb
--- LinuxBIOSv2-Configlb_refactor2/src/nofailovercalculation.lb (Revision 0) +++ LinuxBIOSv2-Configlb_refactor2/src/nofailovercalculation.lb (Revision 0) @@ -0,0 +1,38 @@ +## +## Compute the location and size of where this firmware image +## (coreboot plus bootloader) will live in the boot rom chip. +## +if USE_FALLBACK_IMAGE
- default ROM_SECTION_SIZE = FALLBACK_SIZE
- default ROM_SECTION_OFFSET = ( ROM_SIZE - FALLBACK_SIZE )
+else
- default ROM_SECTION_SIZE = ( ROM_SIZE - FALLBACK_SIZE )
- default ROM_SECTION_OFFSET = 0
+end
+## +## Compute the start location and size size of +## The coreboot bootloader. +## +default PAYLOAD_SIZE = ( ROM_SECTION_SIZE - ROM_IMAGE_SIZE ) +default CONFIG_ROM_PAYLOAD_START = (0xffffffff - ROM_SIZE + ROM_SECTION_OFFSET + 1)
+## +## Compute where this copy of coreboot will start in the boot rom +## +default _ROMBASE = ( CONFIG_ROM_PAYLOAD_START + PAYLOAD_SIZE )
+## +## Compute a range of ROM that can cached to speed up coreboot, +## execution speed. +## +## XIP_ROM_SIZE must be a power of 2. +## XIP_ROM_BASE must be a multiple of XIP_ROM_SIZE +## +default XIP_ROM_SIZE = 64 * 1024 +default XIP_ROM_BASE = ( _ROMBASE - XIP_ROM_SIZE + ROM_IMAGE_SIZE )
+## This is needed to work around a parser bug. +if USE_FALLBACK_IMAGE +end
INSTANCE 0 INCLUDE config/nofailovercalculation.lb Trying to find one of NUM, HEX_PREFIX, ID, "\(", "!" on line 34:
^
List of nearby tokens: (@945) NUM = '1024' (@950) DEFAULT = 'default' (@958) ID = 'XIP_ROM_BASE' (@971) EQ = '=' (@973) ID = '_ROMBASE' (@982) "-" = '-' (@984) ID = 'XIP_ROM_SIZE' (@997) "[+]" = '+' (@999) ID = 'ROM_IMAGE_SIZE' (@1014) "||" = '' ===> ERROR: Could not parse file tyan/s2892/Config.lb:0
I don't know why the parser is matching blank space with "||"
We could also remove that rule in config.g to get around it.
I've tested serengeti for the failover portion and s2892 for the nofailover portion. ldoptions are exactly the same and they both boot the same.
Acked-by: Myles Watson mylesgw@gmail.com
Thanks, Myles