On 21.04.2009 00:56, Myles Watson wrote: > On Sun, Apr 19, 2009 at 9:26 AM, Carl-Daniel Hailfinger > <[email protected]> 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 <[email protected]> >> >> 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 "||" >
I had exactly his bug, but the "if USE_FALLBACK_IMAGE end" worked around it. Took me hours to figure out that workaround. I was unable to fix the parser. > 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 <[email protected]> > Yay, thanks! I'll commit ASAP. Regards, Carl-Daniel -- http://www.hailfinger.org/ -- coreboot mailing list: [email protected] http://www.coreboot.org/mailman/listinfo/coreboot

