Stefan,
I'm porting Tyan S4880 now. I found that the following building err, do you meet it in AMD board?
Even I only enable the CPU0's memctrl in the auto.c
objcopy -O binary linuxbios linuxbios.strip gcc -o buildrom /home/yhlu/xx/xx/freebios2/util/buildrom/buildrom.c ./buildrom linuxbios.strip linuxbios.rom ../../tg3.zelf 0x10000 0x18000 linuxbios image is 65854 bytes; only 65536 allowed Linuxbios input file larger than allowed size!
Regards
YH.
* YhLu YhLu@tyan.com [031125 03:37]:
Stefan,
I'm porting Tyan S4880 now. I found that the following building err, do you meet it in AMD board?
No, the AMD boards build fine for me. gcc-3.3.1-29 binutils-2.14.90.0.6-8
Even I only enable the CPU0's memctrl in the auto.c
It seems the struct itself in auto.c is pretty uncritical for size. Other parts like the log level need a lot more tuning if you want the image to be as verbose as possible.
* Do you compile with romcc -O (not -O0 and not -O2) * What's your max log level? The UP-build (Solo) allows me to put MAXIMUM_CONSOLE_LOGLEVEL up to 10, other builds want less.
objcopy -O binary linuxbios linuxbios.strip gcc -o buildrom /home/yhlu/xx/xx/freebios2/util/buildrom/buildrom.c ./buildrom linuxbios.strip linuxbios.rom ../../tg3.zelf 0x10000 0x18000 linuxbios image is 65854 bytes; only 65536 allowed Linuxbios input file larger than allowed size!
Is this 64k including payload size? I use: option ROM_SIZE=262144 option FALLBACK_SIZE=131072 option ROM_IMAGE_SIZE=0x10000
guess the size issue should be mentioned in the docs. Everybody fiddling with LinuxBIOS on AMD64 _has_ seen it..
Stefan
Stefan Reinauer stepan@suse.de writes:
- YhLu YhLu@tyan.com [031125 03:37]:
Stefan,
I'm porting Tyan S4880 now. I found that the following building err, do you meet it in AMD board?
No, the AMD boards build fine for me. gcc-3.3.1-29 binutils-2.14.90.0.6-8
Even I only enable the CPU0's memctrl in the auto.c
It seems the struct itself in auto.c is pretty uncritical for size. Other parts like the log level need a lot more tuning if you want the image to be as verbose as possible.
I think that is more because changing the loglevel is something we have real control over. I think most of the bloat is in auto.c but I have not gone back and looked for a while.
Before the memory controller setup was called in a loop it made a real difference if you setup 1 memory controller or 2 because both calls were inlined. With the loop the memory controller code is only inlined once no matter how many memory controllers you have.
- Do you compile with romcc -O (not -O0 and not -O2)
Hmm. -O2 should work and better than -O. I know it was broken for a while...
guess the size issue should be mentioned in the docs. Everybody fiddling with LinuxBIOS on AMD64 _has_ seen it..
Yes. And this is why I keep working on making inlining optional in romcc.
Eric