[PATCH v3 00/25] add the NFP vDPA PMD
Ferruh Yigit
ferruh.yigit at amd.com
Thu Oct 26 16:47:31 CEST 2023
On 10/26/2023 7:42 AM, Chaoyong He wrote:
> This patch series aims to add the NFP vDPA PMD, we also grab the common
> logic into the `drivers/common/nfp` directory.
>
> ---
> v3:
> * Replace 'pthread_xxx' API with 'rte_thread_xxx' API.
> * Replace '__atomic_xxx' built-ins with 'rte_atomic_xxx'.
> * Drop the check statement in meson.build file which prevent build of
> PMD.
> * Fix a problem about the logtype prefix.
> * Move the document modification to the commit which should be.
> v2:
> * Grab more logic into the `drivers/common/nfp` directory.
> * Delete some logic which should be when moving logic.
> ---
>
> Chaoyong He (25):
> drivers: introduce the NFP common library
> net/nfp: make VF PMD using of NFP common module
> net/nfp: rename common module name
> net/nfp: rename ctrl module name
> net/nfp: extract the cap data field
> net/nfp: extract the qcp data field
> net/nfp: extract the ctrl BAR data field
> net/nfp: extract the ctrl data field
> net/nfp: change the parameter of APIs
> net/nfp: change the parameter of reconfig
> net/nfp: extract the MAC address data field
> net/nfp: rename parameter in related logic
> drivers: add the common ctrl module
> drivers: add the nfp common module
> drivers: move queue logic to common module
> drivers: move platform module to common library
> drivers: move device module to common library
> drivers/vdpa: introduce the NFP vDPA library
> drivers: add the basic framework of vDPA PMD
> vdpa/nfp: add the logic of remap PCI memory
> vdpa/nfp: add the hardware init logic
> drivers: add the datapath update logic
> vdpa/nfp: add the notify related logic
> vdpa/nfp: add nfp vDPA device operations
> doc: add a entry in the release notes
>
There is a build error on atomics API [1] with clang [2], it is fine
with gcc, cc'ed Tyler and David for help.
[1]
../drivers/vdpa/nfp/nfp_vdpa.c:548:7:
error: address argument to atomic operation must be a pointer to _Atomic
type ('uint32_t *' (aka 'unsigned int *') invalid)
if ((rte_atomic_load_explicit(&device->running, rte_memory...
^ ~~~~~~~~~~~~~~~~
../lib/eal/include/rte_stdatomic.h:71:2:
note: expanded from macro 'rte_atomic_load_explicit'
atomic_load_explicit(ptr, memorder)
^ ~~~
/usr/lib/llvm-14/lib/clang/14.0.0/include/stdatomic.h:130:30:
note: expanded from macro 'atomic_load_explicit'
#define atomic_load_explicit __c11_atomic_load
^
[2]
CC=clang meson -Denable_stdatomic=true build
$ clang --version
Ubuntu clang version 14.0.0-1ubuntu1.1
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
More information about the dev
mailing list