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