[dpdk-dev] [PATCH v4 0/2] Support compressed firmwares

David Marchand david.marchand at redhat.com
Tue Jul 6 16:29:43 CEST 2021


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



More information about the dev mailing list