Re: 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

[ Available lists | Index of cvs-all | Month of Feb 2008 | Week of 27 Feb 2008 | Raw email | View thread | Wrap long lines | Reply | Tag ]
From
Andrew Gallatin <gallatin@cs.duke.edu>
Date
27 Feb 2008 14:03:06
Subject
Re: 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
Message-ID
20080227090113.A48182@grasshopper.cs.duke.edu


[ Hide this part ]
Sam Leffler [sam@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


Elapsed time: 0.346 seconds