[DragonFlyBSD - Submit #3044] isp: Unify firmware handling with the rest of the system.

bugtracker-admin at leaf.dragonflybsd.org bugtracker-admin at leaf.dragonflybsd.org
Thu Jun 29 13:50:37 PDT 2017


Issue #3044 has been updated by sucanjan at fit.cvut.cz.


Everything is ok. Thank you very much for the fixes.

At this place I would like to generally remind (for all those who observe these changes) what should be the intended purpose the changes. It should be preparation for firmware subsystem modification so that firmware images can be moved from kernel modules to userland. I think that it is needless to have firmware images wrapped by the kernel module code if they doesn't need to be compiled in the kernel. I believe that FreeBSD could also consider it a good idea and adopt it. I would like to put some ideas for a broader discussion on the IRC or mailing list.

I would like to ask for another thing about the isp driver: should I create a patch to cope with endianness of the isp firmware even if DragonFly currently supports only a little-endian?
These could be some possible approaches: 1) to allocate a buffer for big-endian firmware data which will be created from little-endian version, then firmware_put() the little-endian firmware and replace firmware address by the address of the big-endian version buffer, or 2) to trace every endianness dependent access to the little-endian data and wrap it by sys/endian.h functions.


----------------------------------------
Submit #3044: isp: Unify firmware handling with the rest of the system.
http://bugs.dragonflybsd.org/issues/3044#change-13181

* Author: sucanjan at fit.cvut.cz
* Status: Closed
* Priority: Normal
* Assignee: swildner
* Category: 
* Target version: 
----------------------------------------
Hello,

these patches convert firmware binary data from C arrays in a header files to uuencode .uu files. Byte order of the firmware image is little-endian. As far as DragonFly BSD supports only little-endian architectures it's ok. But in case of a big-endian architecture the byte order must be changed before firmware is processed by the isp driver. They also move the .uu images to a sys/contrib/dev/isp.

The first part concerns these firmwares: isp_1040, isp_1040_it, isp_1080, isp_1080_it, isp_12160, isp_12160_it, isp_2100, isp_2200, isp_2300 and isp_2322.
The second part concerns these firmwares: isp_2400, isp_2400_multi, isp_2500, isp_2500_multi.

The division is needed because a size of a single patch must be less than 5 MB for the bugtracker to accept.


---Files--------------------------------
0001-isp-Unify-firmware-handling-with-the-rest-of-the-sys.patch (3.47 MB)
0002-isp-Unify-firmware-handling-with-the-rest-of-the-sys.patch (4.02 MB)
convert.sh (8.24 KB)
0001-isp-Unify-firmware-handling-with-the-rest-of-the-sys.patch (3.49 MB)
0002-isp-Unify-firmware-handling-with-the-rest-of-the-sys.patch (4.02 MB)
0003-ispfw.4-Use-modules-with-individual-firmwares-instea.patch (1.46 KB)
0004-isp.4-Modules-with-individual-firmwares-can-be-loade.patch (1.46 KB)


-- 
You have received this notification because you have either subscribed to it, or are involved in it.
To change your notification preferences, please click here: http://bugs.dragonflybsd.org/my/account



More information about the Submit mailing list