more than a segment of code
Eric W. Biederman
ebiederman at lnxi.com
Wed Sep 10 08:11:01 CEST 2003
Stefan Reinauer <stepan at suse.de> writes:
> Hi,
>
> I'm trying to adopt the AMD Quartet target to the new config scheme
> completely, but until now I failed when using the code I checked into
> CVS. The static tables and structures like the mem_controller cpu[]
> are twice as big as with the HDAMA most of the time, so the image does
> not fit in 64k anymore:
Ouch.
> /usr/lib/gcc-lib/i486-suse-linux/3.3/../../../../i486-suse-linux/bin/ld:
> section .reset [00000000fffffff0 -> 00000000ffffffff] overlaps section
> .payload [00000000ffffb5b0 -> 00000001000008ca]
> /usr/lib/gcc-lib/i486-suse-linux/3.3/../../../../i486-suse-linux/bin/ld:
> section .id [00000000ffffffd8 -> 00000000ffffffef] overlaps section
> .payload [00000000ffffb5b0 -> 00000001000008ca]
>
> When I set the image size to 128k (ROM_IMAGE_SIZE), I get
> /home/stepan/LinuxBIOS/freebios2/src/cpu/i386/reset16.inc:16:3: #error
> _ROMBASE is an unsupported value
>
> Is there any solution except stripping down?
Fixing romcc so it does not inline everything.
There are a lot of good reasons for keeping LinuxBIOS within 64K. The
two top ones are to limit code bloat and because startup is very
tricky if you don't fit into 64K.
One thing you can look at is to strip down the debugging messages from
the romcc code. That has at times made a large difference.
Eric
More information about the coreboot
mailing list