Fedora 34 only provides compressed firmwares. Introduce an internal driver helper to handle transparently compression.
I chose libarchive for decompressing as it seems widely available and DPDK had used it in the past. Windows support only matters for net/ice and firmware loading was skipped in this driver before this series. Since I don't know if/how we want to load firmwares on Windows, I let an empty stub for this OS. This series has been compile tested on Linux (I'll trust the CI for others OSes). I only tested basic init with a net/ice device (no DCF test). So please drivers maintainers, check nothing is broken. -- David Marchand Changes since v3: - add release note update, Changes since v2: - update comment on libarchive link dependency, Changes since v1: - address comments on patch2, David Marchand (2): net/ice: factorize firmware loading eal: handle compressed firmwares .github/workflows/build.yml | 1 + .travis.yml | 1 + config/meson.build | 10 ++ doc/guides/rel_notes/release_21_08.rst | 6 + drivers/net/bnx2x/bnx2x.c | 35 ++--- drivers/net/ice/base/ice_osdep.h | 6 - drivers/net/ice/ice_dcf_parent.c | 97 ++------------ drivers/net/ice/ice_ethdev.c | 175 ++++++++++--------------- drivers/net/ice/ice_ethdev.h | 3 +- drivers/net/nfp/nfp_net.c | 57 ++------ drivers/net/qede/qede_main.c | 45 +++---- lib/eal/include/rte_firmware.h | 32 +++++ lib/eal/unix/eal_firmware.c | 149 +++++++++++++++++++++ lib/eal/unix/meson.build | 1 + lib/eal/version.map | 1 + lib/eal/windows/eal.c | 9 ++ 16 files changed, 330 insertions(+), 298 deletions(-) create mode 100644 lib/eal/include/rte_firmware.h create mode 100644 lib/eal/unix/eal_firmware.c -- 2.23.0