History log of /dpdk/drivers/meson.build (Results 1 – 25 of 110)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# c1d14583 24-Jan-2025 Bruce Richardson <bruce.richardson@intel.com>

net/intel: move Intel drivers to a subdirectory

Consolidate all Intel HW NIC drivers into a drivers/net/intel directory.
This matches the layout used for drivers in the kernel, and potentially
enabl

net/intel: move Intel drivers to a subdirectory

Consolidate all Intel HW NIC drivers into a drivers/net/intel directory.
This matches the layout used for drivers in the kernel, and potentially
enables easier sharing among drivers.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Praveen Shetty <praveen.shetty@intel.com>

show more ...


Revision tags: v24.11, v24.11-rc4, v24.11-rc3, v24.11-rc2
# 6f987b59 28-Oct-2024 Sivaprasad Tummala <sivaprasad.tummala@amd.com>

power: refactor core power management

This patch introduces a comprehensive refactor to the core power
management library. The primary focus is on improving modularity
and organization by relocating

power: refactor core power management

This patch introduces a comprehensive refactor to the core power
management library. The primary focus is on improving modularity
and organization by relocating specific driver implementations
from the 'lib/power' directory to dedicated directories within
'drivers/power/*'. The adjustment of meson.build files
enables the selective activation of individual drivers.

These changes contribute to a significant enhancement in code
organization, providing a clearer structure for driver implementations.
The refactor aims to improve overall code clarity and boost
maintainability. Additionally, it establishes a foundation for
future development, allowing for more focused work on individual
drivers and seamless integration of forthcoming enhancements.

Signed-off-by: Sivaprasad Tummala <sivaprasad.tummala@amd.com>
Acked-by: Huisong Li <lihuisong@huawei.com>

show more ...


# 63c9142b 25-Oct-2024 Bruce Richardson <bruce.richardson@intel.com>

build: limit packed member warning disabling to drivers

The flag '-Wno-address-of-packed-member' is a global warning flag in
DPDK. Rather than disabling this warning globally, it is better to just
h

build: limit packed member warning disabling to drivers

The flag '-Wno-address-of-packed-member' is a global warning flag in
DPDK. Rather than disabling this warning globally, it is better to just
have it enabled for components that may need it. This patch limits the
scope of it in the following ways:

* limit the use of the flag to the drivers subfolder only - all libs and
apps should be buildable without the warning.
* exception is made for the vhost library and the ipsec-secgw example
for now, as making them buildable with the warning enabled is more
complicated. This exception can hopefully be removed in future.

Limiting the scope further within the drivers directory is also left for
future consideration. However, since HW drivers often have to use packed
structures to align with hardware-implemented data layouts, it may be
more practical to keep the warning disabled in the longer term.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Morten Brørup <mb@smartsharesystems.com>
Acked-by: Chengwen Feng <fengchengwen@huawei.com>

show more ...


Revision tags: v24.11-rc1, v24.07, v24.07-rc4, v24.07-rc3, v24.07-rc2, v24.07-rc1, v24.03, v24.03-rc4, v24.03-rc3, v24.03-rc2, v24.03-rc1, v23.11, v23.11-rc4, v23.11-rc3, v23.11-rc2
# 90cb8ff8 23-Oct-2023 David Marchand <david.marchand@redhat.com>

buildtools/chkincs: check driver specific headers

Only driver headers exported by libraries were checked.
Add driver specific headers to the checked headers list.

This reveals a small issue with th

buildtools/chkincs: check driver specific headers

Only driver headers exported by libraries were checked.
Add driver specific headers to the checked headers list.

This reveals a small issue with the vmbus driver header as some driver
headers rely on it.

Fixes: b232b2aa212b ("buildtools/chkincs: check SDK headers for C++ compatibility")
Fixes: 84aaf06d817c ("bus/vmbus: make driver-only headers private")

Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Morten Brørup <mb@smartsharesystems.com>

show more ...


# b0d0c84b 20-Sep-2024 Bruce Richardson <bruce.richardson@intel.com>

build: replace deprecated function for cross compilation

The meson function "get_cross_property" is deprecated in meson 0.58 and
should be replaced by "get_external_property".

Signed-off-by: Bruce

build: replace deprecated function for cross compilation

The meson function "get_cross_property" is deprecated in meson 0.58 and
should be replaced by "get_external_property".

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Reviewed-by: Robin Jarry <rjarry@redhat.com>
Tested-by: Ferruh Yigit <ferruh.yigit@amd.com>
Acked-by: Chengwen Feng <fengchengwen@huawei.com>

show more ...


# 3019b11f 20-Sep-2024 Bruce Richardson <bruce.richardson@intel.com>

build: remove unnecessary version checks

Since minimum meson version is now 0.57 we can remove all version checks
for versions lower than that.

Signed-off-by: Bruce Richardson <bruce.richardson@int

build: remove unnecessary version checks

Since minimum meson version is now 0.57 we can remove all version checks
for versions lower than that.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Reviewed-by: Robin Jarry <rjarry@redhat.com>
Tested-by: Ferruh Yigit <ferruh.yigit@amd.com>
Acked-by: Chengwen Feng <fengchengwen@huawei.com>

show more ...


# 024a8abb 02-Mar-2024 Nagadheeraj Rottela <rnagadheeraj@marvell.com>

crypto/nitrox: move common code

A new compressdev Nitrox PMD will be added in next few patches.
This patch moves some of the common code which is shared across
Nitrox crypto and compress drivers to

crypto/nitrox: move common code

A new compressdev Nitrox PMD will be added in next few patches.
This patch moves some of the common code which is shared across
Nitrox crypto and compress drivers to drivers/common/nitrox folder.

Signed-off-by: Nagadheeraj Rottela <rnagadheeraj@marvell.com>
Acked-by: Akhil Goyal <gakhil@marvell.com>

show more ...


# a206a015 31-Jan-2024 David Marchand <david.marchand@redhat.com>

build: fix reasons conflict

The "_disable_reason" variables are subject to naming conflicts.

This has been caught while looking at mingw builds where the graph
application was skipped with an <unkn

build: fix reasons conflict

The "_disable_reason" variables are subject to naming conflicts.

This has been caught while looking at mingw builds where the graph
application was skipped with an <unknown_reason> (which is caused by a
missing reason variable set in app/graph/meson.build) and the graph
library was skipped with the same <unknown_reason> too, even though
this library meson does set a proper reason variable.

Example in GHA:

=================
Content Skipped
=================

apps:
dumpcap: not supported on Windows
graph: <unknown reason>
pdump: not supported on Windows
...

libs:
acl: not supported on Windows
bbdev: not supported on Windows
...
graph: <unknown reason>
node: not supported on Windows

Prefix all those variables with the type of component.

Fixes: ecf75180171b ("build: list selected applications")
Cc: stable@dpdk.org

Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Tyler Retzlaff <roretzla@linux.microsoft.com>

show more ...


# 29cb31c9 27-Oct-2023 Chaoyong He <chaoyong.he@corigine.com>

common/nfp: introduce driver

A new NFP vdpa PMD will be added to support vdpa operations by NFP
adapters.

This vdpa PMD share some logic with the net/nfp PMD. So create a new
common library in driv

common/nfp: introduce driver

A new NFP vdpa PMD will be added to support vdpa operations by NFP
adapters.

This vdpa PMD share some logic with the net/nfp PMD. So create a new
common library in drivers/common for NFP PMDs.

We import a 'nfp_class_driver' layer and which can support various
device type in addition to the Ethernet device.

The shared logic will move into this common library in the following
commits.

Signed-off-by: Chaoyong He <chaoyong.he@corigine.com>
Signed-off-by: Shujing Dong <shujing.dong@corigine.com>
Reviewed-by: Long Wu <long.wu@corigine.com>
Reviewed-by: Peng Zhang <peng.zhang@corigine.com>

show more ...


Revision tags: v23.11-rc1
# aaee22f1 01-Sep-2023 Bruce Richardson <bruce.richardson@intel.com>

build: raise error if requested driver is unbuildable

When the user passes a list of desired drivers to build via the
"enable_drivers" option, the expectation is that those drivers should be
part of

build: raise error if requested driver is unbuildable

When the user passes a list of desired drivers to build via the
"enable_drivers" option, the expectation is that those drivers should be
part of the build. However, if those drivers have either external or
internal dependencies, they still may be silently disabled, for example:
running "meson setup -Denable_drivers=net/iavf build" will successfully
run, but the iavf net driver will not be configured as "common/iavf" is
missing.

We can fix this by setting a flag to indicate when the drivers are
specified via an enable_drivers flag. However, unlike when erroring out
on missing libs, we don't error out if a driver in unbuildable, unless
the driver name explicitly appears in the "enable_drivers" list. This is
implemented this way to ensure that wildcarding still works. For
example: we still want to allow "meson setup -Denable_drivers=net/*" to
work, configuring only the buildable network drivers. While it's true
that this additional restriction may cause some builds to pass when they
should fail, e.g. if the wildcard refers only to a single driver,
implementing things this way avoids massive amounts of complexity, and
is still an improvement on the status-quo.

Suggested-by: Anatoly Burakov <anatoly.burakov@intel.com>
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Morten Brørup <mb@smartsharesystems.com>
Acked-by: David Marchand <david.marchand@redhat.com>

show more ...


# f15114c6 16-Aug-2023 Tyler Retzlaff <roretzla@linux.microsoft.com>

build: limit what is built for MSVC

Build only kvargs and telemetry when is_ms_compiler.

Signed-off-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
Acked-by: Bruce Richardson <bruce.richardson@in

build: limit what is built for MSVC

Build only kvargs and telemetry when is_ms_compiler.

Signed-off-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>

show more ...


Revision tags: v23.07, v23.07-rc4, v23.07-rc3
# 70b6941e 28-Jun-2023 David Marchand <david.marchand@redhat.com>

build: check drivers class dependencies early

Drivers implementing a class of devices (for example, drivers/event)
depend on the associated abstraction library (lib/eventdev).
This dependency is exp

build: check drivers class dependencies early

Drivers implementing a class of devices (for example, drivers/event)
depend on the associated abstraction library (lib/eventdev).
This dependency is expressed in the top level meson.build for this class
(drivers/event/meson.build).

As we are making more libraries optional, custom constructs referencing
the class dependencies in some drivers meson.build (event/dlb2) may break.

It would be possible to add more checks in those drivers meson.build but
it is more straightforward to not even consider a driver meson.build when
the class dependencies are not met.

Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Morten Brørup <mb@smartsharesystems.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Tyler Retzlaff <roretzla@linux.microsoft.com>

show more ...


Revision tags: v23.07-rc2, v23.07-rc1
# 70cc4e1f 04-Apr-2023 David Marchand <david.marchand@redhat.com>

enable lock check

Now that a lot of components can be compiled with the lock checks,
invert the logic and opt out for components not ready yet:
- drivers/bus/dpaa,
- drivers/common/cnxk,
- drivers/c

enable lock check

Now that a lot of components can be compiled with the lock checks,
invert the logic and opt out for components not ready yet:
- drivers/bus/dpaa,
- drivers/common/cnxk,
- drivers/common/mlx5,
- drivers/event/cnxk,
- drivers/net/bnx2x,
- drivers/net/bnxt,
- drivers/net/cnxk,
- drivers/net/enic,
- drivers/net/hns3,
- drivers/net/mlx5,
- lib/ipsec,
- lib/timer,

The FreeBSD pthread API has been annotated but Linux glibc does not have
those annotations. Disable lock checks for FreeBSD where pthread_mutex_*
are used:
- drivers/net/failsafe,
- drivers/net/hinic,
- lib/eal,
- lib/ethdev,

Signed-off-by: David Marchand <david.marchand@redhat.com>
Reviewed-by: Chenbo Xia <chenbo.xia@intel.com>
Acked-by: Sachin Saxena <sachin.saxena@oss.nxp.com>

show more ...


Revision tags: v23.03, v23.03-rc4, v23.03-rc3, v23.03-rc2
# d5d9e8fe 06-Mar-2023 Thomas Monjalon <thomas@monjalon.net>

build: clarify configuration without IOVA field in mbuf

The impact of the option "enable_iova_as_pa" is explained for users.

Also the code flag "RTE_IOVA_AS_PA" is renamed as "RTE_IOVA_IN_MBUF"
in

build: clarify configuration without IOVA field in mbuf

The impact of the option "enable_iova_as_pa" is explained for users.

Also the code flag "RTE_IOVA_AS_PA" is renamed as "RTE_IOVA_IN_MBUF"
in order to be more accurate (IOVA mode is decided at runtime),
and more readable in the code.

Similarly the drivers are using the variable "require_iova_in_mbuf"
instead of "pmd_supports_disable_iova_as_pa" with an opposite meaning.
By default, it is assumed that drivers require the IOVA field in mbuf.
The drivers which support removing this field have to declare themselves.
Some bus drivers are declared compatible.

If the option "enable_iova_as_pa" is disabled, the unsupported drivers
will be listed with the new reason text "requires IOVA in mbuf".

Suggested-by: Bruce Richardson <bruce.richardson@intel.com>
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Reviewed-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Morten Brørup <mb@smartsharesystems.com>
Acked-by: Chengwen Feng <fengchengwen@huawei.com>

show more ...


Revision tags: v23.03-rc1
# fe83ffd9 07-Feb-2023 Srikanth Yalavarthi <syalavarthi@marvell.com>

ml/cnxk: add skeleton

Added initial source files and build files for ML cnxk driver.

Signed-off-by: Srikanth Yalavarthi <syalavarthi@marvell.com>
Acked-by: Prince Takkar <ptakkar@marvell.com>


# bb9d6b23 13-Feb-2023 David Marchand <david.marchand@redhat.com>

disable lock annotation with clang 3.4.2

Venerable RHEL7 clang 3.4.2 has (at least) two issues with lock
annotations.

A first one with regards to the attribute position:
lib/vhost/vhost.h:518:2: er

disable lock annotation with clang 3.4.2

Venerable RHEL7 clang 3.4.2 has (at least) two issues with lock
annotations.

A first one with regards to the attribute position:
lib/vhost/vhost.h:518:2: error: GCC does not allow
assert_exclusive_lock attribute in this position on a
function definition [-Werror,-Wgcc-compat]
__rte_assert_exclusive_lock(&vq->access_lock)
^
lib/eal/include/rte_lock_annotations.h:29:38: note: expanded
from macro '__rte_assert_exclusive_lock'
__attribute__((assert_exclusive_lock(__VA_ARGS__)))
^

This can be worked around by splitting and having the allocation on the
function declaration.

But on the other hand, clang 3.4.2 does not seem to propagate those
annotations in presence of a __builtin_expect (i.e. unlikely()), like
for example when calling if (unlikely(rte_spinlock_trylock() == 0)).

Those annotations were only working with clang in any case, so restrict
to clang versions newer than 3.5.0.

Fixes: 657a98f38940 ("eal: annotate spinlock, rwlock and seqlock")

Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Morten Brørup <mb@smartsharesystems.com>
Tested-by: Raslan Darawsheh <rasland@nvidia.com>

show more ...


# 657a98f3 07-Feb-2023 David Marchand <david.marchand@redhat.com>

eal: annotate spinlock, rwlock and seqlock

clang offers some thread safety checks, statically verifying that locks
are taken and released in the code.
To use those checks, the full code leading to t

eal: annotate spinlock, rwlock and seqlock

clang offers some thread safety checks, statically verifying that locks
are taken and released in the code.
To use those checks, the full code leading to taking or releasing locks
must be annotated with some attributes.

Wrap those attributes into our own set of macros.

rwlock, seqlock and the "normal" spinlock are instrumented.

Those checks might be of interest out of DPDK, but it requires that the
including application locks are annotated.
On the other hand, applications out there might have been using
those same checks.
To be on the safe side, keep this instrumentation under a
RTE_ANNOTATE_LOCKS internal build flag.

A component may en/disable this check by setting
annotate_locks = true/false in its meson.build.

Note:
Doxygen preprocessor does not understand trailing function attributes
(this can be observed with the rte_seqlock.h header).
One would think that expanding the annotation macros to a noop in
rte_lock_annotations.h would be enough (since RTE_ANNOTATE_LOCKS is not
set during doxygen processing)). Unfortunately, the use of
EXPAND_ONLY_PREDEF defeats this.

Removing EXPAND_ONLY_PREDEF entirely is not an option as it would expand
all other DPDK macros.

The chosen solution is to expand the annotation macros explicitly to a
noop in PREDEFINED.

Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Morten Brørup <mb@smartsharesystems.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Acked-by: Chenbo Xia <chenbo.xia@intel.com>

show more ...


# 6c8aed5a 01-Dec-2022 David Marchand <david.marchand@redhat.com>

build: generate Windows build artefacts when needed

We have been generating some Windows and mingw artefacts on all OS while
there is no need for them.

Signed-off-by: David Marchand <david.marchand

build: generate Windows build artefacts when needed

We have been generating some Windows and mingw artefacts on all OS while
there is no need for them.

Signed-off-by: David Marchand <david.marchand@redhat.com>
Reviewed-by: Bruce Richardson <bruce.richardson@intel.com>

show more ...


# bfc43a0f 29-Nov-2022 David Marchand <david.marchand@redhat.com>

drivers: fix symbol exports when map is omitted

ld exports any global symbol by default if no version script is passed.
As a consequence, the incriminated change let any public symbol leak
out of th

drivers: fix symbol exports when map is omitted

ld exports any global symbol by default if no version script is passed.
As a consequence, the incriminated change let any public symbol leak
out of the driver shared libraries.

Hide again those symbols by providing a default map file which
unexports any global symbol using a local: * catch-all statement.

The checks are skipped for this default map file as it is intentionnally
an empty map (see commit b67bdda86cd4 ("devtools: catch empty symbol
maps")) and there is nothing else to check in this map.

This change impacts the exported symbols, hence, bump the version in the
ABI check to the v22.11.1 from the 22.11 LTS branch.

Fixes: 7dde9c844a37 ("drivers: omit symbol map when unneeded")
Cc: stable@dpdk.org

Reported-by: Luca Boccassi <luca.boccassi@microsoft.com>
Signed-off-by: David Marchand <david.marchand@redhat.com>
Tested-by: Ferruh Yigit <ferruh.yigit@amd.com>
Reviewed-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Aaron Conole <aconole@redhat.com>

show more ...


Revision tags: v22.11, v22.11-rc4, v22.11-rc3, v22.11-rc2
# 7dde9c84 12-Oct-2022 Abdullah Ömer Yamaç <omer.yamac@ceng.metu.edu.tr>

drivers: omit symbol map when unneeded

In this patch, we removed the necessity of the version files and
you don't need to update these files for each release, you can just
remove them.

Suggested-by

drivers: omit symbol map when unneeded

In this patch, we removed the necessity of the version files and
you don't need to update these files for each release, you can just
remove them.

Suggested-by: Ferruh Yigit <ferruh.yigit@amd.com>
Signed-off-by: Abdullah Ömer Yamaç <omer.yamac@ceng.metu.edu.tr>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Tested-by: Ferruh Yigit <ferruh.yigit@amd.com>

show more ...


# 45d7cf91 14-Oct-2022 Markus Theil <markus.theil@tu-ilmenau.de>

build: export include directories list

In order to perform things like LTO more easily in our DPDK applications,
we use DPDK as a meson subproject.
Export include directories list in order to be usa

build: export include directories list

In order to perform things like LTO more easily in our DPDK applications,
we use DPDK as a meson subproject.
Export include directories list in order to be usable in this context.

Signed-off-by: Markus Theil <markus.theil@tu-ilmenau.de>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>

show more ...


Revision tags: v22.11-rc1
# dfd5b25b 10-Oct-2022 Bruce Richardson <bruce.richardson@intel.com>

build: introduce deprecated libraries

Add support for a list of deprecated libs to the lib/meson.build file.
This will be used to mark libraries that are planned to be removed from
DPDK. The first u

build: introduce deprecated libraries

Add support for a list of deprecated libs to the lib/meson.build file.
This will be used to mark libraries that are planned to be removed from
DPDK. The first user of this will be KNI in a next patch.

Deprecated libraries should still be tested in the CI, so update our
build testing and CI scripts.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Signed-off-by: David Marchand <david.marchand@redhat.com>

show more ...


# a986c2b7 07-Oct-2022 Shijith Thotton <sthotton@marvell.com>

build: add option to configure IOVA mode as PA

IOVA mode in DPDK is either PA or VA.
The new build option enable_iova_as_pa configures the mode to PA
at compile time.
By default, this option is enab

build: add option to configure IOVA mode as PA

IOVA mode in DPDK is either PA or VA.
The new build option enable_iova_as_pa configures the mode to PA
at compile time.
By default, this option is enabled.
If the option is disabled, only drivers which support it are enabled.
Supported driver can set the flag pmd_supports_disable_iova_as_pa
in its build file.

mbuf structure holds the physical (PA) and virtual address (VA).
If IOVA as PA is disabled at compile time, PA field (buf_iova)
of mbuf is redundant as it is the same as VA
and is replaced by a dummy field.

Signed-off-by: Shijith Thotton <sthotton@marvell.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>

show more ...


# ada73389 28-Jul-2022 David Marchand <david.marchand@redhat.com>

build: export drivers headers

Same as for device classes, external DPDK users may need to include some
bus headers for their out of tree drivers.

Signed-off-by: David Marchand <david.marchand@redha

build: export drivers headers

Same as for device classes, external DPDK users may need to include some
bus headers for their out of tree drivers.

Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>

show more ...


# 3e88909d 29-Jul-2022 David Marchand <david.marchand@redhat.com>

test: load drivers using build directory

Since commit 49b536fc3060 ("eal: load only shared libs from driver ..."),
we can specify a build directory to the -d option.

Suggested-by: Bruce Richardson

test: load drivers using build directory

Since commit 49b536fc3060 ("eal: load only shared libs from driver ..."),
we can specify a build directory to the -d option.

Suggested-by: Bruce Richardson <bruce.richardson@intel.com>
Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>

show more ...


12345