On Mon, 27 Jan 2025, Mark Millard wrote:
On Jan 26, 2025, at 20:51, Adrian Chadd <adr...@freebsd.org> wrote:
Hi!
Hello.
So, there's no longer a build target for the firmware uuencoded files -> kernel
module.
Yea. But there are the sys/conf/files dependency lines in
main that still list .fw.uu files. That includes a reference
related to the error I get in my context unless I avoid
"device iwmfw" in the kernel configuration:
/. . ./sys/conf/files: dependency "$S/contrib/dev/iwm/iwm-3160-17.fw.uu"
\
It makes things look like the .fw.uu removal activity is still
incomplete.
Yes it is, This commit missed them. Manu, will you remove them?
commit af0a81b6470aba4af4a24ae9804053722846ded4
Author: Emmanuel Vadot <m...@freebsd.org>
AuthorDate: Thu Dec 12 17:13:58 2024 +0100
Commit: Emmanuel Vadot <m...@freebsd.org>
CommitDate: Mon Dec 16 10:44:47 2024 +0100
iwm: Stop shipping firmware as kernel module
Since we can load raw firmware start shipping them as is.
This also remove the uuencode format that don't add any value and garbage
collect old firmwares version.
For pkgbase users they are now in the FreeBSD-firmware-iwm package.
Being able to build iwm in the kernel rather than a module is broken.
Now, the real issue(s) are that iwm needs firmware to initialise, and the
firmware needs to exist, and thus it needs access to the rootfs for
firmware_get() to find the now binary files in /boot/firmware instead of the
kernel module old way, and that whole pipeline is broken if it's loaded at boot
time or included in the kernel directly. There isn't a nice way to defer the
firmware load attempt until /after/ rootfs is up.
The answer is not to load it from loader anymore really but let devd do
it's job.
That is monolithic kernels + firmware are still the problem but I am not
generally thinking this is the problem here.
But yes, there would also be ways for firmware laod to be defered but
that's also a different story.
Yep.
Firmware can still be loaded from loader. The following commit should have
made that more easily possible without changes.
commit a0f06dfb0d188966bee7265ec7d9f20093186bb6
Author: Emmanuel Vadot <m...@freebsd.org>
AuthorDate: Mon Jan 6 08:34:02 2025 +0100
Commit: Emmanuel Vadot <m...@freebsd.org>
CommitDate: Mon Jan 6 08:34:02 2025 +0100
loader: Add a list of firmware name mapping
Since we started to ship raw firmware for iwm(4), users who loads
the driver from loader are having problems as loader don't know that
the firmwares are now raw files and not kernel modules anymore.
Start a list of default entry for iwm(4) firmwares name mapping so it will
still works when loaded from loader.
Differential Revision: https://reviews.freebsd.org/D48211
Reviewed by: bz, imp, kevans
/bz
--
Bjoern A. Zeeb r15:7