Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 25 Jan 2006 02:27:29 +0100
From:      Max Laier <max@love2party.net>
To:        freebsd-arch@freebsd.org
Subject:   Re: firmware loading
Message-ID:  <200601250227.35868.max@love2party.net>
In-Reply-To: <43A8EE23.3010202@errno.com>
References:  <43A8EE23.3010202@errno.com>

next in thread | previous in thread | raw e-mail | index | archive | help
--nextPart3564629.9jZ3dugsRC
Content-Type: text/plain;
  charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

On Wednesday 21 December 2005 06:54, Sam Leffler wrote:
> Florent Thoumie and I have been working on some generic support for
> loading firmware using kld's.  You can find a proof of concept at:
>
> http://www.freebsd.org/~sam/firmware.tgz
>
> It has code to manage firmware images and load them on demand by
> requesting a kld through standard facilities.  Firmware is packaged
> using a genfw program that's included.  You can package one or more
> firmware images in a single kld.  I've packaged the iwi firmware as a
> boot image in a single kld + kld's for each operating mode that have two
> firmware images.  The tarball also includes modified versions of the iwi
> and ipw drivers to use the code.  I tested iwi, Florent is working on ipw.
>
> If you're interested in this stuff feel free to pick it up; I've run out
> of time to work on it.  There are some potential issues with holding
> locks over the linker calls and the genfw program could use some TLC and
> probably a new name (plus the man page needs to be completed).
>
> It appears ispfw can be reworked to use this code.  iwi and ipw
> definitely can use it.  Not sure who else can/should use it.

An updated version of this work is here:=20

http://people.freebsd.org/~mlaier/firmware-20060125.tgz

It includes the following changes:
=2D Firmware module generation with awk and ld (no special tool required). =
 The=20
kmod.mk Makefile has been changed to support this and it's now very easy to=
=20
build a firmware module.
=2D Versioning
=2D firmware_put() safe from any context
=2D digi(4) converted.  ATTENTION: this was done blindly - if you have digi=
(4)=20
hardware I'd appreciate reports!
=2D Plenty iwi(4) changes which make it work much better for me - though th=
ere=20
are some rough edges still.
=2D firmware(9) manpage

To try it, just copy the contents of the tarball over src and apply the two=
=20
patches in sys/conf to the respective files.  The firmware support can be=20
loaded as a module itself, so testing is really easy.

My plan is to import the basic firmware support on the weekend (if no=20
objections are raised).  Drivers would be converted later after some more=20
testing.  The aim of this is to avoid more and more handrolled sollutions. =
 I=20
didn't yet have time to look at ispfw, but will do that as well.

So, any objections?  Comments?  Feedback?  Thanks!

=2D-=20
/"\  Best regards,                      | mlaier@freebsd.org
\ /  Max Laier                          | ICQ #67774661
 X   http://pf4freebsd.love2party.net/  | mlaier@EFnet
/ \  ASCII Ribbon Campaign              | Against HTML Mail and News

--nextPart3564629.9jZ3dugsRC
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (FreeBSD)

iD8DBQBD1tQHXyyEoT62BG0RAlrcAJwOpsC++iOVgDh85UR0BB99gyDRyACeLBkq
s2eHnWGtvhAmF8MqsYQ71vM=
=uQgn
-----END PGP SIGNATURE-----

--nextPart3564629.9jZ3dugsRC--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200601250227.35868.max>