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

Reply via email to