cvs commit: src/sys/dev/cxgb bin2h.pl cxgb_main.c cxgb_t3fw.c cxgb_t3fw.h t3fw-5.0.0.bin.gz.uu src/sys/modules/cxgb Makefile src/sys/modules/cxgb/cxgb Makefile src/sys/modules/cxgb/cxgb_t3fw Makefile src/sys/conf NOTES files

Andrew Gallatin gallatin at cs.duke.edu
Wed Feb 27 14:03:06 UTC 2008


Sam Leffler [sam at errno.com] wrote:
> Huh?  What does "static linking" mean?  If you're looking for an example 
> of a firmware image being embedded in a kernel look at the npe firmware 
> used by xscale.

Kip,

Before spending time on this, be warned that I tried this for mxge
last year, and I gave up because it was such a headache.  The final
straw was that building the firmware into a .fwo file via a files file
rule doesn't work on platforms like ia64 due some toolchain problems.
Specifically, there was no way to get the constant-gp flag set on an
ld -b binary image, which caused the final kernel link command to
explode. 

Rather than use the .fwo method, I committed some .c shims (see
dev/mxge/mxge_eth_z8e.c) which just #include my firmware header files.
This avoids the linking problems, and turns out to be much, much
easier to work with than the fw_stub files file method.

Drew


More information about the cvs-src mailing list