[PATCH v2] buildtools: allow a different minimum meson version for Windows

2025-06-16 Thread Andre Muezerie
appropriate release, this patch implements a mechanism allowing a different version to be specified for Windows. Signed-off-by: Andre Muezerie --- buildtools/get-min-meson-version.py | 8 ++-- meson.build | 1 + 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a

Re: [PATCH] buildtools: allow a different minimum meson version for Windows

2025-06-16 Thread Andre Muezerie
On Mon, Jun 16, 2025 at 09:27:00AM +0100, Bruce Richardson wrote: > On Mon, Jun 16, 2025 at 08:36:31AM +0100, Bruce Richardson wrote: > > On Fri, Jun 13, 2025 at 09:14:38AM -0700, Andre Muezerie wrote: > > > There is a minimum meson version specified in the DPDK meson project &g

[PATCH] buildtools: allow a different minimum meson version for Windows

2025-06-13 Thread Andre Muezerie
appropriate release, this patch implements a mechanism allowing a different version to be specified for Windows. Signed-off-by: Andre Muezerie --- buildtools/get-min-meson-version.py | 12 ++-- meson.build | 9 + 2 files changed, 19 insertions(+), 2 deletions

[PATCH] test_bbdev: enable to be compiled on Windows

2025-06-12 Thread Andre Muezerie
included because this test relies on getline() function, which is not provided by Windows APIs. Signed-off-by: Andre Muezerie --- app/test-bbdev/main.c | 1 + app/test-bbdev/meson.build| 6 -- app/test-bbdev/test_bbdev.c | 8 +- app/test-bbdev

Re: [PATCH] eal: add asprintf() function for Windows

2025-06-12 Thread Andre Muezerie
On Thu, Jun 12, 2025 at 02:41:05AM +0200, Thomas Monjalon wrote: > 06/05/2025 03:43, Andre Muezerie: > > The asprintf function is not part of the C standard library but is a > > GNU extension commonly available in Unix-like systems. It dynamically > > allocates memory to store

Re: [PATCH] eal: add getline() function for Windows

2025-06-12 Thread Andre Muezerie
On Thu, Jun 12, 2025 at 03:01:03AM +0200, Thomas Monjalon wrote: > 05/05/2025 22:40, Andre Muezerie: > > Existing DPDK code uses getline(), which is a POSIX function and is > > not available in the Windows APIs. > > > > Instead of rewriting it or coming up with s

[PATCH v3 1/3] app/test: remove use of non-standard array range initialization

2025-06-12 Thread Andre Muezerie
THOD_57: The fix is to explicitly initialize each element in the range. Signed-off-by: Andre Muezerie --- app/test/test_cryptodev_zuc_test_vectors.h | 156 - 1 file changed, 153 insertions(+), 3 deletions(-) diff --git a/app/test/test_cryptodev_zuc_test_v

[PATCH v3 2/3] drivers/net: remove use of non-standard array range initialization

2025-06-12 Thread Andre Muezerie
THOD_57: The fix is to explicitly initialize each element in the range. Signed-off-by: Andre Muezerie Acked-by: Howard Wang --- drivers/net/octeon_ep/otx_ep_mbox.c | 24 +- drivers/net/r8169/base/rtl8125a_mcu.c | 8 +- drivers/net/r8169/base/rtl8126a.c | 5 +- drivers/net/r8169/r8169

[PATCH v3 3/3] drivers: enable drivers to be compiled with MSVC

2025-06-12 Thread Andre Muezerie
Now that all issues related to drivers are addressed they can be enabled to be built with MSVC. Signed-off-by: Andre Muezerie --- drivers/meson.build | 4 1 file changed, 4 deletions(-) diff --git a/drivers/meson.build b/drivers/meson.build index 7b7205dfac..07ff94ff26 100644 --- a

[PATCH v3 0/3] enable drivers to be compiled with MSVC

2025-06-12 Thread Andre Muezerie
: - Rebase on top of latest main. Andre Muezerie (3): app/test: remove use of non-standard array range initialization drivers/net: remove use of non-standard array range initialization drivers: enable drivers to be compiled with MSVC app/test/test_cryptodev_zuc_test_vectors.h | 156 ++-

Re: [PATCH v7 4/5] buildtools: embed driver information with MSVC

2025-06-11 Thread Andre Muezerie
On Wed, Jun 11, 2025 at 11:45:31AM +0200, David Marchand wrote: > From: Andre Muezerie > > The archiver tool from the MSVC toolset is lib.exe. It has different > parameters then it's GNU counterpart "ar". > > buildtools\meson.build was updated to use lib.exe w

Re: [PATCH v7 3/5] dev: export driver information with MSVC

2025-06-11 Thread Andre Muezerie
On Wed, Jun 11, 2025 at 11:45:30AM +0200, David Marchand wrote: > From: Andre Muezerie > > DPDK uses GCC attribute "used" through macro __rte_used to indicate > that a variable not referenced in the code should be assumed being > used and therefore not be optimized awa

Re: [PATCH v7 2/5] dev: rename pmdinfo internal symbols

2025-06-11 Thread Andre Muezerie
hand > --- Acked-by: Andre Muezerie

Re: [PATCH v7 1/5] dev: hide driver export macros

2025-06-11 Thread Andre Muezerie
On Wed, Jun 11, 2025 at 11:45:28AM +0200, David Marchand wrote: > The macros for tagging/exporting informations about a driver do not need > to be exported in the public API. > Move this to driver only header. > > Signed-off-by: David Marchand > --- Acked-by: Andre Muezerie

[PATCH v6 1/1] net/intel: define __builtin_add_overflow for MSVC

2025-06-05 Thread Andre Muezerie
__builtin_add_overflow is gcc specific. A macro needs to be defined for code using this to be compiled with MSVC. Since only one driver is using this, this patch adds the macro to that driver only. It can be moved to some common place if/when needed. Signed-off-by: Andre Muezerie Acked-by: Bruce

[PATCH v6 0/1] define __builtin_add_overflow for MSVC

2025-06-05 Thread Andre Muezerie
on top of latest main. Andre Muezerie (1): net/intel: define __builtin_add_overflow for MSVC drivers/net/intel/ice/base/ice_osdep.h | 9 + 1 file changed, 9 insertions(+) -- 2.49.0.vfs.0.3

Re: [PATCH] common/mlx5: avoid warning about operation mixing different enum types

2025-06-04 Thread Andre Muezerie
On Wed, Jun 04, 2025 at 09:42:31AM +0200, Dariusz Sosnowski wrote: > Hi, > > On Tue, Jun 03, 2025 at 06:41:24PM +0200, Dariusz Sosnowski wrote: > > Hi, > > > > On Tue, May 27, 2025 at 04:41:25PM -0700, Andre Muezerie wrote: > > > When compiling with MSVC

Re: [PATCH v4 1/4] eal: add macro to embed information in binaries

2025-06-04 Thread Andre Muezerie
On Wed, Jun 04, 2025 at 03:13:55PM +0100, Bruce Richardson wrote: > On Wed, Apr 16, 2025 at 02:44:55PM -0700, Andre Muezerie wrote: > > DPDK uses GCC attribute "used" through macro __rte_used to indicate > > that a variable not referenced in the code should be assumed bei

[PATCH v2] common/mlx5: use intrinsics instead of inline assembly

2025-06-04 Thread Andre Muezerie
) is to use compiler intrinsic __cpuid and for (2) intrinsic _InterlockedCompareExchange128 can be used. Signed-off-by: Andre Muezerie --- drivers/common/mlx5/mlx5_common.c | 13 +++-- drivers/net/mlx5/mlx5_txpp.c | 11 +++ 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/drivers/co

Re: [PATCH] common/mlx5: use intrinsics instead of inline assembly

2025-06-04 Thread Andre Muezerie
On Tue, Jun 03, 2025 at 05:13:14PM +0200, Dariusz Sosnowski wrote: > Hi, > > On Mon, May 05, 2025 at 07:57:42AM -0700, Andre Muezerie wrote: > > When compiling with MSVC the errors below are hit because msvc does not > > support inline assembly: > > > &

Re: [PATCH v4 2/4] buildtools: use macro to embed information in binaries

2025-06-04 Thread Andre Muezerie
On Wed, Jun 04, 2025 at 01:04:29PM +0200, David Marchand wrote: > Hello Andre, > > On Wed, Apr 16, 2025 at 11:45 PM Andre Muezerie > wrote: > > > > The archiver tool from the MSVC toolset is lib.exe. It has different > > parameters then it's GNU counterpart &

Re: [PATCH v4 0/4] allow pmdinfo to be inserted and parsed using MSVC

2025-06-04 Thread Andre Muezerie
On Wed, Jun 04, 2025 at 02:03:56PM +0200, David Marchand wrote: > On Tue, Jun 3, 2025 at 3:01 AM Andre Muezerie > wrote: > > > > On Wed, Apr 16, 2025 at 02:44:54PM -0700, Andre Muezerie wrote: > > > DPDK uses GCC attribute "used" through macro __rte_used

[PATCH v5 4/4] drivers: use macro to embed information in binaries

2025-06-04 Thread Andre Muezerie
name clashes when __COUNTER__ predefined macro was used. As a workaround, predefined macro __LINE__ was used instead. Signed-off-by: Andre Muezerie --- drivers/bus/auxiliary/bus_auxiliary_driver.h | 2 +- drivers/bus/cdx/bus_cdx_driver.h | 5 ++--- drivers/bus/dpaa/bus_dpaa_driver.h

[PATCH v5 2/4] buildtools: use macro to embed information in binaries

2025-06-04 Thread Andre Muezerie
in that scenario. Script gen-pmdinfo-cfile.py was updated to use the correct parameters when using lib.exe. Signed-off-by: Andre Muezerie --- buildtools/gen-pmdinfo-cfile.py | 25 - buildtools/meson.build | 4 +++- buildtools/pmdinfogen.py| 11 ++-

[PATCH v5 3/4] usertools: parse strings from PE images

2025-06-04 Thread Andre Muezerie
Script usertools\dpdk-pmdinfo.py was enhanced to also be able to parse symbols from sections in PE images. Signed-off-by: Andre Muezerie --- usertools/dpdk-pmdinfo.py | 53 +++ 1 file changed, 43 insertions(+), 10 deletions(-) diff --git a/usertools/dpdk

[PATCH v5 1/4] eal: add macro to embed information in binaries

2025-06-04 Thread Andre Muezerie
wise their symbols are not "seen" by the linker. This restriction requires some DPDK code to be refactored. To assimilate these requirements/restrictions, macro RTE_INCLUDE is introduced in this patch. Signed-off-by: Andre Muezerie --- lib/eal/common/eal_common_options.c | 2

[PATCH v5 0/4] allow pmdinfo to be inserted and parsed using MSVC

2025-06-04 Thread Andre Muezerie
oved is_windows() and replaced with os.name == "nt" v2: - dpdk-pmdinfo.py: not importing elftools on Windows - not requiring "pefile" Python module during build - gen-pmdinfo-cfile.py: renamed "ar" to "archiver" Andre Muezerie (4): eal: add macro to em

Re: [PATCH] net/mlx5: use portable version of __builtin_ffsl

2025-06-02 Thread Andre Muezerie
On Mon, May 05, 2025 at 08:04:52AM -0700, Andre Muezerie wrote: > Builtin __builtin_ffsl is not available with MSVC therefore a > portable replacement should be used. > > Function rte_ffs32 is already available in eal and should be used > instead. > > Signed-o

Re: [PATCH] common/mlx5: use intrinsics instead of inline assembly

2025-06-02 Thread Andre Muezerie
On Mon, May 05, 2025 at 07:57:42AM -0700, Andre Muezerie wrote: > When compiling with MSVC the errors below are hit because msvc does not > support inline assembly: > > 1) > ../drivers/common/mlx5/mlx5_common.c(86): warning C4013: '__asm__' > undefined; a

Re: [PATCH 0/1] unresolved symbol mlx5_geneve_tlv_parser_create

2025-06-02 Thread Andre Muezerie
On Mon, May 05, 2025 at 07:45:36AM -0700, Andre Muezerie wrote: > When compiling DPDK with mlx5 using clang on Windows with > "debug" buildtype the error below is hit: > > net_mlx5_mlx5_flow_dv.c.obj : error LNK2019: unresolved external symbol > mlx5_geneve_tlv_pa

Re: [PATCH v4 0/4] allow pmdinfo to be inserted and parsed using MSVC

2025-06-02 Thread Andre Muezerie
On Wed, Apr 16, 2025 at 02:44:54PM -0700, Andre Muezerie wrote: > DPDK uses GCC attribute "used" through macro __rte_used to indicate > that a variable not referenced in the code should be assumed being > used and therefore not be optimized away. This technique is used to emb

[PATCH v2] net/mlx5: declare size of rte_v128u32_t

2025-05-30 Thread Andre Muezerie
d replaces instances of sizeof(rte_v128u32_t) with that macro. A static assert is added to ensure the new macro never diverges from sizeof(rte_v128u32_t). Signed-off-by: Andre Muezerie --- drivers/net/mlx5/mlx5_defs.h | 2 ++ drivers/net/mlx5/mlx5_rxtx.c | 11 --- drivers/net/mlx5/mlx5_t

Re: [PATCH] net/mlx5: declare size of rte_v128u32_t

2025-05-30 Thread Andre Muezerie
hanged, the name of the structure would likely be changed as well. I'll send out the updated patch adding the assert. Let me know what you think about it. Regards, Andre > Regards, > Maayan Kashani > > > -Original Message- > > From: Andre Muezerie > > Sent: Mon

[PATCH v3] drivers: remove __rte_used from functions for compatibility with MSVC

2025-05-28 Thread Andre Muezerie
about functions being defined but not used. Signed-off-by: Andre Muezerie Acked-by: Pavan Nikhilesh --- drivers/net/cnxk/cn10k_rx_select.c | 4 +++- drivers/net/cnxk/cn10k_tx_select.c | 4 +++- drivers/net/cnxk/cn20k_rx_select.c | 4 +++- drivers/net/cnxk/cn20k_tx_select.c | 4 +++- d

[PATCH] common/mlx5: avoid warning about operation mixing different enum types

2025-05-27 Thread Andre Muezerie
is sort of mixed bit manipulation is intentional, so this patch just uses an explicit cast to avoid the warning. Signed-off-by: Andre Muezerie --- drivers/common/mlx5/mlx5_devx_cmds.c | 26 +- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/drivers/common/mlx5

[PATCH v2] drivers: remove __rte_used from functions for compatibility with MSVC

2025-05-27 Thread Andre Muezerie
about functions being defined but not used. Signed-off-by: Andre Muezerie Acked-by: Pavan Nikhilesh --- drivers/net/cnxk/cn10k_rx_select.c | 4 +++- drivers/net/cnxk/cn10k_tx_select.c | 6 -- drivers/net/cnxk/cn20k_rx_select.c | 4 +++- drivers/net/cnxk/cn20k_tx_select.c | 6 -- d

Looks like a bug: operands are different enum types 'ibv_flow_attr_type' and 'ibv_flow_flags'

2025-05-27 Thread Andre Muezerie
unless I get confirmation that this would be the right course of action. Thanks, Andre Muezerie

[PATCH] rcu: add deprecation notice about limit on defer queue element size

2025-05-22 Thread Andre Muezerie
d use of alloca(). Signed-off-by: Andre Muezerie --- doc/guides/rel_notes/deprecation.rst | 6 ++ 1 file changed, 6 insertions(+) diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst index 36489f6e68..78b2a27b52 100644 --- a/doc/guides/rel_notes/deprecatio

Re: eal patches with other licenses

2025-05-22 Thread Andre Muezerie
On Thu, May 22, 2025 at 10:29:46AM +0200, Morten Brørup wrote: > Andre, > > Please try asking the respective original authors of getline() and asprintf() > if they are willing to license these functions to the DPDK project under the > BSD-3-Clause license. Or perhaps generally offer dual-license

Re: [PATCH] eal: add getline() function for Windows

2025-05-21 Thread Andre Muezerie
On Wed, May 21, 2025 at 09:00:48AM +0200, Thomas Monjalon wrote: > 21/05/2025 02:35, Andre Muezerie: > > On Tue, May 20, 2025 at 10:14:33AM -0700, Stephen Hemminger wrote: > > > On Mon, 5 May 2025 13:40:07 -0700 > > > Andre Muezerie wrote: > > > > > &g

Re: [PATCH] eal: add getline() function for Windows

2025-05-20 Thread Andre Muezerie
On Tue, May 20, 2025 at 10:14:33AM -0700, Stephen Hemminger wrote: > On Mon, 5 May 2025 13:40:07 -0700 > Andre Muezerie wrote: > > > Existing DPDK code uses getline(), which is a POSIX function and is > > not available in the Windows APIs. > > > > Instead of re

Re: [PATCH] rcu: remove VLAs

2025-05-16 Thread Andre Muezerie
On Fri, May 16, 2025 at 03:30:23PM +0200, David Marchand wrote: > On Fri, May 16, 2025 at 3:09 PM Andre Muezerie > wrote: > > > > On Fri, May 16, 2025 at 11:22:05AM +0200, David Marchand wrote: > > > Andre, > > > > > > On Fri, Mar 7

[PATCH v5 2/2] lib/fib: enable fib to be compiled with MSVC

2025-05-16 Thread Andre Muezerie
Now that all issues related to fib are addressed it can be enabled for MSVC. Signed-off-by: Andre Muezerie --- lib/fib/meson.build | 6 -- 1 file changed, 6 deletions(-) diff --git a/lib/fib/meson.build b/lib/fib/meson.build index da82e017a9..6992ccc040 100644 --- a/lib/fib/meson.build

[PATCH v5 1/2] lib/fib: remove warning about implicit 64-bit conversion

2025-05-16 Thread Andre Muezerie
MSVC issues the warning below: ../lib/fib/trie.c(341): warning C4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?) The fix is to cast (1) explicitly to uintptr_t since it is used in pointer arithmetic. Signed-off-by: Andre Muezer

[PATCH v5 0/2] enable fib to be compiled with MSVC

2025-05-16 Thread Andre Muezerie
This patchset addresses the issues in lib/fib that were preventing compilation with MSVC. The first patch removes a warning about implicit 64-bit conversion, and the second patch enables the compilation of fib with MSVC. v5: - enabled fib to be compiled with MSVC Andre Muezerie (2): lib/fib

[PATCH v2 2/2] lib/lpm: enable lpm to be compiled with MSVC

2025-05-16 Thread Andre Muezerie
Now that all issues related to lpm are addressed it can be enabled for MSVC. Signed-off-by: Andre Muezerie --- lib/lpm/meson.build | 6 -- 1 file changed, 6 deletions(-) diff --git a/lib/lpm/meson.build b/lib/lpm/meson.build index fae4f79fb9..cff8fed473 100644 --- a/lib/lpm/meson.build

[PATCH v2 1/2] lib/lpm: use standard atomic_store_explicit

2025-05-16 Thread Andre Muezerie
tead of gcc specific __atomic_store(). atomic_store_explicit() was already being used in other parts of DPDK and is compatible with many compilers, including MSVC. Signed-off-by: Andre Muezerie --- lib/lpm/rte_lpm.c | 108 ++ lib

[PATCH v2 0/2] enable lpm to be compiled with MSVC

2025-05-16 Thread Andre Muezerie
This patchset resolves all issues related to lpm that until now prevented it from being built using MSVC. After resolving the issues it enables lpm to be compiled with MSVC. v2: - Updated meson.build to enable lpm for MSVC Andre Muezerie (2): lib/lpm: use standard atomic_store_explicit lib

[PATCH 1/2] eal: add strsep() for Windows builds

2025-05-16 Thread Andre Muezerie
Function strsep() is used by DPDK code but is not available on Windows. This patch adds an implementation from NetBSD, unblocking code depending on it from being compiled on Windows. Signed-off-by: Andre Muezerie --- lib/eal/windows/include/rte_os_shim.h | 1 + lib/eal/windows/include

[PATCH 2/2] test/strsep: add tests for function strsep()

2025-05-16 Thread Andre Muezerie
This patch adds tests for the strsep() function. Signed-off-by: Andre Muezerie --- app/test/meson.build | 1 + app/test/test_strsep.c | 108 + 2 files changed, 109 insertions(+) create mode 100644 app/test/test_strsep.c diff --git a/app/test

Re: [PATCH v3 1/1] buildtools: avoid break due to failure to cleanup temporary directory

2025-05-16 Thread Andre Muezerie
On Fri, May 16, 2025 at 11:34:10AM +0200, David Marchand wrote: > Hello Andre, > > On Wed, May 7, 2025 at 4:21 PM Andre Muezerie > wrote: > > > > When compiling drivers on Windows, instances have been seen where a > > temporary directory fails to get cleaned up due

Re: [PATCH] rcu: remove VLAs

2025-05-16 Thread Andre Muezerie
On Fri, May 16, 2025 at 11:22:05AM +0200, David Marchand wrote: > Andre, > > On Fri, Mar 7, 2025 at 2:40 AM Andre Muezerie > wrote: > > > > There are two lines that were using VLAs, which are not supported by > > MSVC. > > > > 1) > > ../lib/rcu

Re: [PATCH] regexdev: enable to be compiled on Windows

2025-05-16 Thread Andre Muezerie
On Fri, May 16, 2025 at 10:01:42AM +0200, David Marchand wrote: > On Fri, May 9, 2025 at 11:52 PM Andre Muezerie > wrote: > > > > Now that mbuf is compiling on Windows, this library can be enabled as > > well. > > > > Signed-off-by: Andre Muezerie > > T

[PATCH] regexdev: enable to be compiled on Windows

2025-05-09 Thread Andre Muezerie
Now that mbuf is compiling on Windows, this library can be enabled as well. Signed-off-by: Andre Muezerie --- lib/regexdev/meson.build | 6 -- 1 file changed, 6 deletions(-) diff --git a/lib/regexdev/meson.build b/lib/regexdev/meson.build index 426e764ece..7e12d8cd6d 100644 --- a/lib

[PATCH v3 1/1] buildtools: avoid break due to failure to cleanup temporary directory

2025-05-07 Thread Andre Muezerie
the issue. Signed-off-by: Andre Muezerie --- buildtools/gen-pmdinfo-cfile.py | 26 +- buildtools/meson.build | 2 +- drivers/meson.build | 2 +- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/buildtools/gen-pmdinfo-cfile.py b

[PATCH v3 0/1] avoid break due to failure to cleanup temporary directory

2025-05-07 Thread Andre Muezerie
-cfile.py - modified gen-pmdinfo-cfile.py to create '@PRIVATE_DIR@' when it does not exist. v2: - removed use of Python's tempfile.TemporaryDirectory and used '@PRIVATE_DIR@' in meson's custom_target command instead. Andre Muezerie (1): buildtools: avoid break due to

[PATCH v2 1/1] buildtools: avoid break due to failure to cleanup temporary directory

2025-05-06 Thread Andre Muezerie
cleaning up the temporary directory seems to be effective, but to guarantee that this break does not happen anymore, flag "ignore_cleanup_errors" is set to "True". Signed-off-by: Andre Muezerie --- buildtools/gen-pmdinfo-cfile.py | 24 +++- drivers/meson.bu

[PATCH v2 0/1] avoid break due to failure to cleanup temporary directory

2025-05-06 Thread Andre Muezerie
PermissionError: [WinError 32] The process cannot access the file because it is being used by another process: 'V:\\github\\dpdk15\\dpdk\\build\\buildtools\\tmpnrqvi9nc' [53/450] Compiling C object lib/librte_pcapng.a.p/pcapng_rte_pcapng.c.obj ninja: build stopped: subcommand failed.

Re: [PATCH 1/1] buildtools: avoid break due to failure to cleanup temporary directory

2025-05-06 Thread Andre Muezerie
On Tue, May 06, 2025 at 01:47:03AM +0300, Dmitry Kozlyuk wrote: > Hi Andre, > > On 05.05.2025 22:46, Andre Muezerie wrote: > >When compiling drivers on Windows, instances have been seen where a > >temporary directory fails to get cleaned up due to > >ERROR_SHARING_

[PATCH] eal: add asprintf() function for Windows

2025-05-05 Thread Andre Muezerie
rewriting it or coming up with some other replacement, this patch makes use of the implementation provided by Neved4. Signed-off-by: Andre Muezerie --- lib/eal/windows/asprintf.c | 48 ++ lib/eal/windows/include/asprintf.h | 21 + lib/eal/windows

[PATCH] eal: add getline() function for Windows

2025-05-05 Thread Andre Muezerie
Windows. Signed-off-by: Andre Muezerie --- lib/eal/windows/getline.c | 61 +++ lib/eal/windows/include/getline.h | 28 ++ lib/eal/windows/meson.build | 1 + license/exceptions.txt| 2 + 4 files changed, 92 insertions(+) create mode

Re: [PATCH 1/1] buildtools: avoid break due to failure to cleanup temporary directory

2025-05-05 Thread Andre Muezerie
On Mon, May 05, 2025 at 12:46:45PM -0700, Andre Muezerie wrote: > When compiling drivers on Windows, instances have been seen where a > temporary directory fails to get cleaned up due to > ERROR_SHARING_VIOLATION (32). > > Code inspection did not reveal problems with the DPDK c

[PATCH 0/1] avoid break due to failure to cleanup temporary directory

2025-05-05 Thread Andre Muezerie
PermissionError: [WinError 32] The process cannot access the file because it is being used by another process: 'V:\\github\\dpdk15\\dpdk\\build\\buildtools\\tmpnrqvi9nc' [53/450] Compiling C object lib/librte_pcapng.a.p/pcapng_rte_pcapng.c.obj ninja: build stopped: subcommand failed.

[PATCH 1/1] buildtools: avoid break due to failure to cleanup temporary directory

2025-05-05 Thread Andre Muezerie
cleaning up the temporary directory seems to be effective, but to guarantee that this break does not happen anymore, flag "ignore_cleanup_errors" is set to "True". Signed-off-by: Andre Muezerie --- buildtools/gen-pmdinfo-cfile.py | 10 +- 1 file changed, 9 insertions(+),

[PATCH] doc: update parameters to use for mlx5 on Windows

2025-05-05 Thread Andre Muezerie
The linker parameters to use with MSVC and Clang differ. Showing explicitly what to use with each in the documentation. Signed-off-by: Andre Muezerie --- doc/guides/platform/mlx5.rst | 20 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/doc/guides/platform

[PATCH] net/mlx5: avoid implicit conversion to 64 bits

2025-05-05 Thread Andre Muezerie
, or be explicit about the type conversion by adding a cast. Signed-off-by: Andre Muezerie --- drivers/crypto/mlx5/mlx5_crypto_xts.c | 4 ++-- drivers/net/mlx5/mlx5_devx.c | 2 +- drivers/net/mlx5/mlx5_rx.c| 2 +- drivers/net/mlx5/mlx5_rxq.c | 2 +- drivers/net/mlx

[PATCH] net/mlx5: declare size of rte_v128u32_t

2025-05-05 Thread Andre Muezerie
d replaces instances of sizeof(rte_v128u32_t) with that macro. Signed-off-by: Andre Muezerie --- drivers/net/mlx5/mlx5_defs.h | 2 ++ drivers/net/mlx5/mlx5_rxtx.c | 6 +++--- drivers/net/mlx5/mlx5_tx.h | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/drivers/net/mlx5/mlx

[PATCH] net/mlx5: use portable version of __builtin_ffsl

2025-05-05 Thread Andre Muezerie
Builtin __builtin_ffsl is not available with MSVC therefore a portable replacement should be used. Function rte_ffs32 is already available in eal and should be used instead. Signed-off-by: Andre Muezerie --- drivers/net/mlx5/mlx5_tx.c| 4 ++-- drivers/net/mlx5/mlx5_utils.c | 2 +- 2 files

[PATCH] common/mlx5: use intrinsics instead of inline assembly

2025-05-05 Thread Andre Muezerie
) is to use compiler intrinsic __cpuid and for (2) intrinsic _InterlockedCompareExchange128 can be used. Signed-off-by: Andre Muezerie --- drivers/common/mlx5/mlx5_common.c | 13 +++-- drivers/net/mlx5/mlx5_txpp.c | 15 +++ 2 files changed, 26 insertions(+), 2 deletions(-) diff --gi

[PATCH 0/1] unresolved symbol mlx5_geneve_tlv_parser_create

2025-05-05 Thread Andre Muezerie
set DEVX_LIB_PATH=V:\soft\MLNX_WinOF2_DevX_SDK\lib set CFLAGS=-I"%DEVX_INC_PATH%" set LDFLAGS=-Wl,-LIBPATH:"%DEVX_LIB_PATH%" set CC=clang meson setup -Dexamples=helloworld build --buildtype debug ninja -C build Andre Muezerie (1): net/mlx5: unresolved symbol mlx5_gen

[PATCH 1/1] net/mlx5: unresolved symbol mlx5_geneve_tlv_parser_create

2025-05-05 Thread Andre Muezerie
ause of this problem seems to be that mlx5_flow_geneve.c is only compiled on Linux. This patch fixes the issue by compiling the file on all operating systems. It also sorts the file names in meson.build in alphabetical order. Signed-off-by: Andre Muezerie --- drivers/net/mlx5/meson.build | 18 ++

[PATCH v4 4/4] drivers: use macro to embed information in binaries

2025-04-18 Thread Andre Muezerie
name clashes when __COUNTER__ predefined macro was used. As a workaround, predefined macro __LINE__ was used instead. Signed-off-by: Andre Muezerie --- drivers/bus/auxiliary/bus_auxiliary_driver.h | 2 +- drivers/bus/cdx/bus_cdx_driver.h | 5 ++--- drivers/bus/dpaa/bus_dpaa_driver.h

Re: [PATCH v2 4/4] drivers: use macro to embed information in binaries

2025-04-17 Thread Andre Muezerie
On Tue, Apr 15, 2025 at 05:05:17PM -0700, Stephen Hemminger wrote: > On Mon, 14 Apr 2025 18:21:36 -0700 > Andre Muezerie wrote: > > > diff --git a/drivers/baseband/acc/rte_acc100_pmd.c > > b/drivers/baseband/acc/rte_acc100_pmd.c > > index b7f02f56e1..a4cbe6f42f 100644

[PATCH v4 1/4] eal: add macro to embed information in binaries

2025-04-16 Thread Andre Muezerie
wise their symbols are not "seen" by the linker. This restriction requires some DPDK code to be refactored. To assimilate these requirements/restrictions, macro RTE_INCLUDE is introduced in this patch. Signed-off-by: Andre Muezerie --- lib/eal/common/eal_common_options.c | 2

[PATCH v4 3/4] usertools: parse strings from PE images

2025-04-16 Thread Andre Muezerie
Script usertools\dpdk-pmdinfo.py was enhanced to also be able to parse symbols from sections in PE images. Signed-off-by: Andre Muezerie --- usertools/dpdk-pmdinfo.py | 53 +++ 1 file changed, 43 insertions(+), 10 deletions(-) diff --git a/usertools/dpdk

[PATCH v4 2/4] buildtools: use macro to embed information in binaries

2025-04-16 Thread Andre Muezerie
in that scenario. Script gen-pmdinfo-cfile.py was updated to use the correct parameters when using lib.exe. Signed-off-by: Andre Muezerie --- buildtools/gen-pmdinfo-cfile.py | 24 +++- buildtools/meson.build | 4 +++- buildtools/pmdinfogen.py| 11 ++-

[PATCH v4 0/4] allow pmdinfo to be inserted and parsed using MSVC

2025-04-16 Thread Andre Muezerie
eplaced with os.name == "nt" v2: - dpdk-pmdinfo.py: not importing elftools on Windows - not requiring "pefile" Python module during build - gen-pmdinfo-cfile.py: renamed "ar" to "archiver" Andre Muezerie (4): eal: add macro to embed information in bi

[PATCH v3 4/4] drivers: use macro to embed information in binaries

2025-04-15 Thread Andre Muezerie
ter to be added to some macros so that the __LINE__ could be passed from the .c file to the macro defined in the header (which was originally using __COUNTER__). Signed-off-by: Andre Muezerie --- drivers/baseband/acc/rte_acc100_pmd.c | 4 ++-- drivers/baseband/acc/rte_vrb_pmd.c

[PATCH v3 2/4] buildtools: use macro to embed information in binaries

2025-04-15 Thread Andre Muezerie
in that scenario. Script gen-pmdinfo-cfile.py was updated to use the correct parameters when using lib.exe. Signed-off-by: Andre Muezerie --- buildtools/gen-pmdinfo-cfile.py | 24 +++- buildtools/meson.build | 4 +++- buildtools/pmdinfogen.py| 11 ++-

[PATCH v3 0/4] allow pmdinfo to be inserted and parsed using MSVC

2025-04-15 Thread Andre Muezerie
;pefile" Python module during build - gen-pmdinfo-cfile.py: renamed "ar" to "archiver" Andre Muezerie (4): eal: add macro to embed information in binaries buildtools: use macro to embed information in binaries usertools: parse strings from PE images drivers: u

[PATCH v3 3/4] usertools: parse strings from PE images

2025-04-15 Thread Andre Muezerie
Script usertools\dpdk-pmdinfo.py was enhanced to also be able to parse symbols from sections in PE images. Signed-off-by: Andre Muezerie --- usertools/dpdk-pmdinfo.py | 53 +++ 1 file changed, 43 insertions(+), 10 deletions(-) diff --git a/usertools/dpdk

[PATCH v3 1/4] eal: add macro to embed information in binaries

2025-04-15 Thread Andre Muezerie
wise their symbols are not "seen" by the linker. This restriction requires some DPDK code to be refactored. To assimilate these requirements/restrictions, macro RTE_INCLUDE is introduced in this patch. Signed-off-by: Andre Muezerie --- lib/eal/common/eal_common_options.c | 2

Re: [PATCH v2 2/4] buildtools: use macro to embed information in binaries

2025-04-15 Thread Andre Muezerie
On Tue, Apr 15, 2025 at 10:44:51AM +0300, Dmitry Kozlyuk wrote: > On 15.04.2025 04:21, Andre Muezerie wrote: > >-_, tmp_root, ar, archive, output, *pmdinfogen = sys.argv > >+_, tmp_root, archiver, archive, output, *pmdinfogen = sys.argv > > with tempfile.TemporaryDirectory(

[PATCH v2 1/4] eal: add macro to embed information in binaries

2025-04-15 Thread Andre Muezerie
wise their symbols are not "seen" by the linker. This restriction requires some DPDK code to be refactored. To assimilate these requirements/restrictions, macro RTE_INCLUDE is introduced in this patch. Signed-off-by: Andre Muezerie --- lib/eal/common/eal_common_options.c | 2

[PATCH v2 4/4] drivers: use macro to embed information in binaries

2025-04-14 Thread Andre Muezerie
ter to be added to some macros so that the __LINE__ could be passed from the .c file to the macro defined in the header (which was originally using __COUNTER__). Signed-off-by: Andre Muezerie --- drivers/baseband/acc/rte_acc100_pmd.c | 4 ++-- drivers/baseband/acc/rte_vrb_pmd.c

[PATCH v2 3/4] usertools: parse strings from PE images

2025-04-14 Thread Andre Muezerie
Script usertools\dpdk-pmdinfo.py was enhanced to also be able to parse symbols from sections in PE images. Signed-off-by: Andre Muezerie --- usertools/dpdk-pmdinfo.py | 55 --- 1 file changed, 45 insertions(+), 10 deletions(-) diff --git a/usertools/dpdk

[PATCH v2 0/4] allow pmdinfo to be inserted and parsed using MSVC

2025-04-14 Thread Andre Muezerie
.py build\app\dpdk-testpmd.exe v2: - dpdk-pmdinfo.py: not importing elftools on Windows - not requiring "pefile" Python module during build - gen-pmdinfo-cfile.py: renamed "ar" to "archiver" Andre Muezerie (4): eal: add macro to embed information in binar

[PATCH v2 2/4] buildtools: use macro to embed information in binaries

2025-04-14 Thread Andre Muezerie
in that scenario. Script gen-pmdinfo-cfile.py was updated to use the correct parameters when using lib.exe. Signed-off-by: Andre Muezerie --- buildtools/gen-pmdinfo-cfile.py | 10 +++--- buildtools/meson.build | 4 +++- buildtools/pmdinfogen.py| 5 +++-- 3 files cha

[PATCH] eal: simplify code to avoid Coverity false positive

2025-04-14 Thread Andre Muezerie
: Andre Muezerie --- lib/eal/common/eal_common_string_fns.c | 11 --- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/lib/eal/common/eal_common_string_fns.c b/lib/eal/common/eal_common_string_fns.c index 3bbd325515..fa87831c3a 100644 --- a/lib/eal/common/eal_common_string_fns.c

Re: [PATCH v4 1/1] mbuf: enable to be compiled with MSVC

2025-04-11 Thread Andre Muezerie
On Wed, Apr 09, 2025 at 06:42:10AM -0700, Andre Muezerie wrote: > On Wed, Apr 09, 2025 at 01:39:36PM +0200, David Marchand wrote: > > On Tue, Apr 8, 2025 at 11:24 PM Andre Muezerie > > wrote: > > > diff --git a/lib/net/meson.build b/lib/net/meson.build > > > in

Re: [PATCH v6 00/10] enable "app" to be compiled with MSVC

2025-04-11 Thread Andre Muezerie
On Fri, Apr 11, 2025 at 08:49:40AM +0200, David Marchand wrote: > Hello Andre, > > On Mon, Feb 24, 2025 at 5:25 PM Andre Muezerie > wrote: > > > > v6: > > - remove "volatile" and use rte_atomic_xxx to access the RTE_ATOMIC > > qualified lcor

[PATCH] mldev: enable to be compiled with msvc

2025-04-11 Thread Andre Muezerie
Now that the issues preventing this lib from being compiled with MSVC are solved, it can be enabled. Signed-off-by: Andre Muezerie --- lib/mldev/meson.build | 6 -- 1 file changed, 6 deletions(-) diff --git a/lib/mldev/meson.build b/lib/mldev/meson.build index 2c933baad6..0079ccd205 100644

[PATCH 4/4] drivers: use macro to embed information in binaries

2025-04-11 Thread Andre Muezerie
ter to be added to some macros so that the __LINE__ could be passed from the .c file to the macro defined in the header (which was originally using __COUNTER__). Signed-off-by: Andre Muezerie --- drivers/baseband/acc/rte_acc100_pmd.c | 4 ++-- drivers/baseband/acc/rte_vrb_pmd.c

[PATCH 3/4] usertools: parse strings from PE images

2025-04-11 Thread Andre Muezerie
Script usertools\dpdk-pmdinfo.py was enhanced to also be able to parse symbols from sections in PE images. Signed-off-by: Andre Muezerie --- usertools/dpdk-pmdinfo.py | 47 ++- 1 file changed, 41 insertions(+), 6 deletions(-) diff --git a/usertools/dpdk

[PATCH 2/4] buildtools: use macro to embed information in binaries

2025-04-11 Thread Andre Muezerie
ed to ELF on Linux). Signed-off-by: Andre Muezerie --- buildtools/gen-pmdinfo-cfile.py | 6 +- buildtools/meson.build | 8 ++-- buildtools/pmdinfogen.py| 5 +++-- 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/buildtools/gen-pmdinfo-cfile.py b/buildtools/ge

[PATCH 0/4] allow pmdinfo to be inserted and parsed using MSVC

2025-04-11 Thread Andre Muezerie
.py build\app\dpdk-testpmd.exe Andre Muezerie (4): eal: add macro to embed information in binaries buildtools: use macro to embed information in binaries usertools: parse strings from PE images drivers: use macro to embed information in binaries buildtools/gen-pmdinfo-cfile.py

[PATCH 1/4] eal: add macro to embed information in binaries

2025-04-11 Thread Andre Muezerie
wise their symbols are not "seen" by the linker. This restriction requires some DPDK code to be refactored. To assimilate these requirements/restrictions, macro RTE_INCLUDE is introduced in this patch. Signed-off-by: Andre Muezerie --- lib/eal/common/eal_common_options.c | 2

Re: [PATCH v1] net/idpf: avoid truncation of constant value

2025-04-11 Thread Andre Muezerie
On Fri, Apr 11, 2025 at 08:52:12AM +0200, David Marchand wrote: > On Wed, Apr 9, 2025 at 4:27 PM Bruce Richardson > wrote: > > > > On Wed, Apr 09, 2025 at 12:54:40PM +, Praveen Shetty wrote: > > > Truncation of constant value compiler warning was reported in clang/msvc > > > compiler for the V

Re: [PATCH v6 05/10] test-pmd: avoid undefined behavior

2025-04-10 Thread Andre Muezerie
On Thu, Apr 10, 2025 at 06:05:10PM +0200, David Marchand wrote: > On Mon, Feb 24, 2025 at 5:25 PM Andre Muezerie > wrote: > > > > Compiling with MSVC results in warnings like below: > > > > app/test-pmd/cmdline.c(9023): warning C5101: use of preprocessor > >

Re: [PATCH] app/testpmd: fix dump command list for MSVC

2025-04-10 Thread Andre Muezerie
"dump_log_types"); > + "dump_log_types"; > +} > > static cmdline_parse_inst_t cmd_dump = { > .f = cmd_dump_parsed, /* function to call */ > @@ -13961,6 +13968,7 @@ init_cmdline(void) > /* initialize non-constant command

  1   2   3   4   5   6   7   8   9   10   >