Thread (46 messages) 46 messages, 8 authors, 2021-07-07

Re: [dpdk-dev] [PATCH v3 2/2] eal: handle compressed firmwares

From: Wang, Haiyue <hidden>
Date: 2021-07-05 13:19:34

-----Original Message-----
From: dev <redacted> On Behalf Of David Marchand
Sent: Tuesday, June 29, 2021 16:07
To: dev@dpdk.org
Cc: Igor Russkikh <redacted>; Aaron Conole <aconole@redhat.com>; Michael Santana
[off-list ref]; Richardson, Bruce [off-list ref]; Rasesh Mody
[off-list ref]; Shahed Shaikh [off-list ref]; Yang, Qiming [off-list ref]; Zhang,
Qi Z [off-list ref]; Heinrich Kuhn [off-list ref]; Devendra Singh Rawat
[off-list ref]; Ray Kinsella [off-list ref]; Neil Horman [off-list ref]; Dmitry
Kozlyuk [off-list ref]; Narcisa Ana Maria Vasile [off-list ref]; Dmitry
Malloy [off-list ref]; Kadam, Pallavi [off-list ref]
Subject: [dpdk-dev] [PATCH v3 2/2] eal: handle compressed firmwares

Introduce an internal firmware loading helper to remove code duplication
in our drivers and handle xz compressed firmwares by calling libarchive.

This helper tries to look for .xz suffixes so that drivers are not aware
the firmwares have been compressed.

libarchive is set as an optional dependency: without libarchive, a
runtime warning is emitted so that users know there is a compressed
firmware.

Windows implementation is left as an empty stub.

Signed-off-by: David Marchand <redacted>
Reviewed-by: Igor Russkikh <redacted>
---
Changes since v2:
- added a comment on libarchive link dependency,

Changes since v1:
- used pkg-config for libarchive detection,
- updated doxygen annotations,
- added internal helpers in eal_firmware.c to enhance readability,
- dropped whitespace damage in version.map,

---
 .github/workflows/build.yml    |   1 +
 .travis.yml                    |   1 +
 config/meson.build             |  10 +++
 drivers/net/bnx2x/bnx2x.c      |  35 +++-----
 drivers/net/ice/ice_ethdev.c   |  60 +++----------
For ice PMD:

Tested-by: Haiyue Wang <redacted>
 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 ++
 12 files changed, 259 insertions(+), 142 deletions(-)
 create mode 100644 lib/eal/include/rte_firmware.h
 create mode 100644 lib/eal/unix/eal_firmware.c
--
2.23.0
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help