firmware discussion

Aggelos Economopoulos aoiko at cc.ece.ntua.gr
Tue May 4 02:17:48 PDT 2010


Johannes Hofmann wrote:
> Matthew Dillon <dillon at apollo.backplane.com> wrote:
>>    Well, the DFly kernel has some very easy-to-use file access functions
>>    ala fp_open() and friends (see kern_checkpoint.c for a use case), so
>>    accessing the firmware file directly is easy enough.
> 
> I thought about writing a generic firmware module using the new
> FreeBSD API which reads firmware files from a certain directory
> using fp_open().
> However, it seems that available firmware images need to be announced
> with firmware_register() to make them available, so I would need some
> sort of opendir() in kernel to scan the firmware directory and
> register the available files with firmware_register().

. .. and also to monitor the directory for changes :)

> Alternatively we could adjust subr_firmware.c to trigger a file read
> attempt in case the requested image has not yet been registered.

Yah, in firmware_get(), it already handles the case where the module
containing the firmware isn't loaded yet. You can add the directory
search in loadimage() or better yet in a separate function (i.e. have
loadimage() call load_image_module() and load_image_blob()). This makes
much more sense IMO.

HTH,
Aggelos







More information about the Kernel mailing list