[dpdk-dev] [PATCH 2/2] eal: handle compressed firmwares
Dmitry Kozlyuk
dmitry.kozliuk at gmail.com
Wed Jun 2 23:19:19 CEST 2021
2021-06-02 11:58 (UTC+0200), David Marchand:
> 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.
JFYI, it doesn't seem hard to implement as a follow-up if need be.
libarchive is available for Windows and even provides a .pc file.
[...]
> diff --git a/config/meson.build b/config/meson.build
> index 017bb2efbb..337daa2719 100644
> --- a/config/meson.build
> +++ b/config/meson.build
> @@ -166,6 +166,15 @@ if fdt_dep.found() and cc.has_header('fdt.h')
> dpdk_extra_ldflags += '-lfdt'
> endif
>
> +has_libarchive = 0
> +archive_dep = cc.find_library('libarchive', required: false)
> +if archive_dep.found() and cc.has_header('archive.h')
> + dpdk_conf.set10('RTE_HAS_LIBARCHIVE', true)
> + has_libarchive = 1
> + add_project_link_arguments('-larchive', language: 'c')
> + dpdk_extra_ldflags += '-larchive'
> +endif
> +
Why not use pkg-config?
`has_libarchive` is unused.
> libexecinfo = cc.find_library('libexecinfo', required: false)
> if libexecinfo.found() and cc.has_header('execinfo.h')
> add_project_link_arguments('-lexecinfo', language: 'c')
[...]
> diff --git a/lib/eal/version.map b/lib/eal/version.map
> index fe5c3dac98..020c058e5f 100644
> --- a/lib/eal/version.map
> +++ b/lib/eal/version.map
> @@ -423,11 +423,13 @@ EXPERIMENTAL {
> rte_version_release; # WINDOWS_NO_EXPORT
> rte_version_suffix; # WINDOWS_NO_EXPORT
> rte_version_year; # WINDOWS_NO_EXPORT
> +
> };
Unnecessary empty line.
>
> INTERNAL {
> global:
>
> + rte_firmware_read;
> rte_mem_lock;
> rte_mem_map;
> rte_mem_page_size;
More information about the dev
mailing list