08 Jan, 2009
1 commit
-
Rafael reported:
I get the following error from 'make modules_install' on my test boxes:
HOSTCC firmware/ihex2fw
/home/rafael/src/linux-2.6/firmware/ihex2fw.c:268: fatal error: opening dependency file firmware/.ihex2fw.d: Read-only file system
compilation terminated.
make[3]: *** [firmware/ihex2fw] Error 1
make[2]: *** [_modinst_post] Error 2
make[1]: *** [sub-make] Error 2
make: *** [all] Error 2where the configuration is that the kernel is compiled on a build box
with 'make O= -j5' and then is mounted over NFS read-only by
each test box (full path to this directory is the same on the build box and on
the test boxes). Then, I cd into , run 'make modules_install' and get
the error above.The issue turns out to be that we when we install firmware pick
up the list of firmware blobs from firmware/Makefile.
And this triggers the Makefile rules to update ihex2fw.There were two solutions for this issue:
1) Move the list of firmware blobs to a separate file
2) Avoid ihex2fw rebuild by moving it to scriptsAs I seriously beleive that the list of firmware blobs should be
done in a fundamental different way solution 2) was selected.Reported-and-tested-by: "Rafael J. Wysocki"
Signed-off-by: Sam Ravnborg
Cc: David Woodhouse
07 Jan, 2009
1 commit
-
Make firmware/dsp56k/bootstrap.asm buildable on a56, the free Motorola
DSP56001 assembler (http://www.zdomain.com/a56.html).Summary of changes:
- Remove '' candy (they specify explicit addressing modes,
which a56 don't grok, but uses implicitly anyway).- Replace 'move' with 'movem' when accessing program memory.
- Rename a few labels to avoid duplicates (which a56 can't handle).
Signed-off-by: Robert Millan
Cc: Jaswinder Singh
Cc: David Woodhouse
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
06 Jan, 2009
1 commit
-
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (44 commits)
qlge: Fix sparse warnings for tx ring indexes.
qlge: Fix sparse warning regarding rx buffer queues.
qlge: Fix sparse endian warning in ql_hw_csum_setup().
qlge: Fix sparse endian warning for inbound packet control block flags.
qlge: Fix sparse warnings for byte swapping in qlge_ethool.c
myri10ge: print MAC and serial number on probe failure
pkt_sched: cls_u32: Fix locking in u32_change()
iucv: fix cpu hotplug
af_iucv: Free iucv path/socket in path_pending callback
af_iucv: avoid left over IUCV connections from failing connects
af_iucv: New error return codes for connect()
net/ehea: bitops work on unsigned longs
Revert "net: Fix for initial link state in 2.6.28"
tcp: Kill extraneous SPLICE_F_NONBLOCK checks.
tcp: don't mask EOF and socket errors on nonblocking splice receive
dccp: Integrate the TFRC library with DCCP
dccp: Clean up ccid.c after integration of CCID plugins
dccp: Lockless integration of CCID congestion-control plugins
qeth: get rid of extra argument after printk to dev_* conversion
qeth: No large send using EDDP for HiperSockets.
...
05 Jan, 2009
3 commits
-
Firmware blob is big endian
Signed-off-by: Jaswinder Singh Rajput
Signed-off-by: David S. Miller -
Firmware blob looks like this...
u8 firmware_major
u8 firmware_minor
u8 firmware_fix
u8 pad
__be32 start_address
__be32 length (total, including BSS sections to be zeroed)
data... (in __be32 words, which is native for the firmware)Signed-off-by: Jaswinder Singh Rajput
Signed-off-by: David S. Miller -
We store the firmware in its native big-endian form now, so the loop in
ace_copy() is modified to use be32_to_cpup() when writing it out.We can forget the BSS,SBSS sections of the firmware, since we were
clearing all the device's RAM anyway. And the text,rodata,data sections
can all be loaded as a single chunk since they're contiguous (give or
take a few dozen bytes in between).Signed-off-by: Jaswinder Singh
Signed-off-by: David Woodhouse
Acked-by: Jes Sorensen
Signed-off-by: David S. Miller
30 Dec, 2008
1 commit
-
The card based on stv0299 or stv0288 demodulators.
Signed-off-by: Igor M. Liplianin
Signed-off-by: Mauro Carvalho Chehab
27 Nov, 2008
1 commit
-
Include firmware and protocol images in the kernel image if requested
Signed-off-by: Divy Le Ray
Signed-off-by: David S. Miller
23 Sep, 2008
1 commit
-
Firmware blob looks like this...
__le16 load_address
unsigned char data[][akpm@linux-foundation.org: include vmalloc.h]
Signed-off-by: Jaswinder Singh
Signed-off-by: Andrew Morton
Signed-off-by: David S. Miller
02 Sep, 2008
1 commit
-
Fixes http://bugzilla.kernel.org/show_bug.cgi?id=11355 by avoiding a
needless rebuild of the firmware/ihex2fw tool.Signed-off-by: David Woodhouse
03 Aug, 2008
1 commit
-
Fix both the IHEX firmware generation (len field always null, and EOF
marker a byte too short) and loading (struct ihex_binrec needs to be
packed to reflect the on-disk structure).Signed-off-by: Marc Zyngier
Signed-off-by: David Woodhouse
16 Jul, 2008
1 commit
-
Provide a .gitignore file, and fix a typo which prevented some of the
generated binary files from being removed on 'make clean'.Signed-off-by: David Woodhouse
Reported-and-tested-by: Alexey Dobriyan
Signed-off-by: Linus Torvalds
15 Jul, 2008
9 commits
-
We're not updating the tg3 driver to use request_firmware() yet, but a
reference to its firmware accidentally slipped in as part of commit
c4667746 ("dabusb: use request_firmware()"). Remove it again.Signed-off-by: David Woodhouse
Reported-by: Yinghai Lu
Signed-off-by: Linus Torvalds -
When CONFIG_EXTRA_FIRMWARE_DIR gets changed, the filename in the .S file
(which uses .incbin to include the binary) needs to change. When we
renamed the BUILTIN_FIRMWARE_DIR option to EXTRA_FIRMWARE_DIR, we forgot
to update the manual dependency in firmware/Makefile, so it was
depending on a non-existent file in include/config/Signed-off-by: David Woodhouse
Signed-off-by: Linus Torvalds -
Signed-off-by: Jaswinder Singh
Signed-off-by: David Woodhouse -
Signed-off-by: Jaswinder Singh
Signed-off-by: David Woodhouse -
Firmware blob looks like this...
uint8_t MajorVersion
uint8_t MinorVersion
__le16 BuildNumber
uint8_t data[]Signed-off-by: Jaswinder Singh
Signed-off-by: David Woodhouse -
Version number provided in first HEX record.
Signed-off-by: Jaswinder Singh
Signed-off-by: David Woodhouse -
Although it wasn't actually using ihex records before, we use the Intel
HEX record format for this firmware -- because that gives us a simple
way to split it into separate chunks internally as we need, without
loading each part as a separate file.Signed-off-by: Jaswinder Singh
Signed-off-by: David Woodhouse -
Signed-off-by: David Woodhouse
-
Thanks for Jaswinder Singh for converting the firmware blob itself to ihex.
Signed-off-by: David Woodhouse
10 Jul, 2008
19 commits
-
Converted with help from Jaswinder Singh
Signed-off-by: David Woodhouse
Acked-by: Alan Cox -
Since it had various regions to be loaded to separate addresses, and it
wanted to do them in fairly small chunks anyway, switch it to use the
new ihex code. Encode the start address in the first record.Signed-off-by: David Woodhouse
Acked-by: Chas Williams -
Signed-off-by: David Woodhouse
-
Signed-off-by: David Woodhouse
-
Signed-off-by: David Woodhouse
-
Signed-off-by: David Woodhouse
-
Signed-off-by: David Woodhouse
-
Signed-off-by: David Woodhouse
-
Signed-off-by: David Woodhouse
Acked-by: Mauro Carvalho Chehab -
Signed-off-by: David Woodhouse
-
Signed-off-by: David Woodhouse
-
Signed-off-by: David Woodhouse
-
Signed-off-by: David Woodhouse
-
Signed-off-by: David Woodhouse
-
Some drivers could do with using records like Intel HEX, but with each
record being larger than 256 bytes. This has been possible in the binary
representation (struct ihex_binrec) in the kernel since the beginning --
at least of the the current version of history. But we haven't been able
to represent that in the .HEX files which get converted to .fw files.This adds a '-w' option to ihex2fw to make it interpret the first _two_
bytes of each line as the record length, instead of only one byte. And
adds makefile rules for %.H16->%.fw which use that.Signed-off-by: David Woodhouse
-
Not the straight conversion to binary which objcopy can do for us, but
actually representing each record with its original {addr, length},
because some drivers need that information preserved.Fix up 'firmware_install' to be able to build $(hostprogs-y) too.
Signed-off-by: David Woodhouse
-
For 'make modules_install', install any firmware required by
the modules which are being installed.Also add a 'make firmware_install' target which doesn't depend on the
configuration, but installs _all_ available in-kernel-tree firmware into
$(INSTALL_FW_PATH), which defaults to /lib/firmware. This is intended
for distributors to make arch-independent (and config-independent)
packages containing firmware.Signed-off-by: David Woodhouse
-
This will control whether we build firmware into the kernel image for
_every_ driver which we convert to request_firmware(), to avoid a
proliferation of 'CONFIG_XXX_FIRMWARE' options for each one.Default to 'y' for now, which is the wrong thing to do but people seem
to be insisting on it and refusing to even review patches until it's
done. And it does preserve the existing behaviour for built-in drivers.Signed-off-by: David Woodhouse
-
This allows arbitrary firmware files to be included in the static kernel
where the firmware loader can find them without requiring userspace to
be alive.(Updated and CONFIG_EXTRA_FIRMWARE_DIR added with lots of help from
Johannes Berg).Signed-off-by: David Woodhouse
Signed-off-by: Johannes Berg