On Tue, 11 Feb 2025 23:06:10 +0800
Wenbo Cao <caowe...@mucse.com> wrote:

> For This patchset just to support the basic chip init work
> and user can just found the eth_dev, but can't control more.
> For Now just support 2*10g nic,the chip can support
> 2*10g,4*10g,4*1g,8*1g,8*10g.
> The Feature rx side can support rx-cksum-offload,rss,vlan-filter
> flow_clow,uncast_filter,mcast_filter,1588,Jumbo-frame
> The Feature tx side can support tx-cksum-offload,tso,vxlan-tso 
> flow director base on ntuple pattern of tcp/udp/ip/ eth_hdr->type
> for sriov is also support.
> 
> Because of the chip design defect, for multiple-port mode
> one pci-bdf will have multiple-port (max can have four ports)
> so this code must be care of one bdf init multiple-port.
> 
> v10:
>   * fixed mingw windows meson issue
>   * rnp not support windows for now.
>   * change ffs use osdep rte_fls_u32
> 
> v9:
>   * fixed commit log format check by devtools.
>   * fixed code compile issue.
> 
> v8:
>   * fixed codespell issue.
>   * fixed MAINTAINERS file
> 
> v7:
>   * add support nic basic feature such as rss vlan strip/filter,
>   * mtu-change recv/send scater-recv/mutltiple-send.
>   * fixed code rationality, advised by Ferruh Yigit.
> v6:
>   * fixed the doc(rst) format problem advise by Thomas Monjalon
> 
> v5:
>   * fixed the symbol name require by the style documentation
> 
> v4:
>   * one patch has been forgot to upload :(
> 
> v3:
>   * fixed http://dpdk.org/patch/129830 FreeBSD 13 compile Issue
>   * change iobar type to void suggest by Stephen Hemminger
>   * add KMOD_DEP support for vfio-pci
>   * change run-cmd argument parse check for invalid extra_args
> 
> v2:
>   * fixed MAINTAIN maillist fullname format
>   * fixed driver/net/meson the order issue of new driver to driver list
>   * improve virtual point function usage suggest by Stephen Hemminger
> 
> Wenbo Cao (28):
>   net/rnp: add skeleton
>   net/rnp: add ethdev probe and remove
>   net/rnp: add log
>   net/rnp: support mailbox basic operate
>   net/rnp: add device init and uninit
>   net/rnp: add get device information operation
>   net/rnp: add support MAC promisc mode
>   net/rnp: add queue setup and release operations
>   net/rnp: add queue stop and start operations
>   net/rnp: add support device start stop operations
>   net/rnp: add RSS support operations
>   net/rnp: add support link update operations
>   net/rnp: add support link setup operations
>   net/rnp: add Rx burst simple support
>   net/rnp: add Tx burst simple support
>   net/rnp: add MTU set operation
>   net/rnp: add Rx scatter segment version
>   net/rnp: add Tx multiple segment version
>   net/rnp: add support basic stats operation
>   net/rnp: add support xstats operation
>   net/rnp: add unicast MAC filter operation
>   net/rnp: add supported packet types
>   net/rnp: add support Rx checksum offload
>   net/rnp: add support Tx TSO offload
>   net/rnp: support VLAN offloads
>   net/rnp: add support VLAN filters operations
>   net/rnp: add queue info operation
>   net/rnp: support Rx/Tx burst mode info
> 
>  .mailmap                            |    1 +
>  MAINTAINERS                         |    6 +
>  doc/guides/nics/features/rnp.ini    |   33 +
>  doc/guides/nics/index.rst           |    1 +
>  doc/guides/nics/rnp.rst             |  101 ++
>  drivers/net/meson.build             |    1 +
>  drivers/net/rnp/base/meson.build    |   28 +
>  drivers/net/rnp/base/rnp_bdq_if.c   |  398 ++++++
>  drivers/net/rnp/base/rnp_bdq_if.h   |  154 +++
>  drivers/net/rnp/base/rnp_bitrev.h   |   64 +
>  drivers/net/rnp/base/rnp_common.c   |  103 ++
>  drivers/net/rnp/base/rnp_common.h   |   17 +
>  drivers/net/rnp/base/rnp_crc32.c    |   37 +
>  drivers/net/rnp/base/rnp_crc32.h    |   10 +
>  drivers/net/rnp/base/rnp_dma_regs.h |   68 +
>  drivers/net/rnp/base/rnp_eth_regs.h |   90 ++
>  drivers/net/rnp/base/rnp_fw_cmd.c   |  162 +++
>  drivers/net/rnp/base/rnp_fw_cmd.h   |  358 ++++++
>  drivers/net/rnp/base/rnp_hw.h       |  136 ++
>  drivers/net/rnp/base/rnp_mac.c      |  366 ++++++
>  drivers/net/rnp/base/rnp_mac.h      |   34 +
>  drivers/net/rnp/base/rnp_mac_regs.h |  207 +++
>  drivers/net/rnp/base/rnp_mbx.c      |  512 ++++++++
>  drivers/net/rnp/base/rnp_mbx.h      |   58 +
>  drivers/net/rnp/base/rnp_mbx_fw.c   |  499 ++++++++
>  drivers/net/rnp/base/rnp_mbx_fw.h   |   24 +
>  drivers/net/rnp/base/rnp_osdep.h    |  175 +++
>  drivers/net/rnp/meson.build         |   27 +
>  drivers/net/rnp/rnp.h               |  258 ++++
>  drivers/net/rnp/rnp_ethdev.c        | 1845 +++++++++++++++++++++++++++
>  drivers/net/rnp/rnp_link.c          |  439 +++++++
>  drivers/net/rnp/rnp_link.h          |   38 +
>  drivers/net/rnp/rnp_logs.h          |   36 +
>  drivers/net/rnp/rnp_rss.c           |  367 ++++++
>  drivers/net/rnp/rnp_rss.h           |   43 +
>  drivers/net/rnp/rnp_rxtx.c          | 1820 ++++++++++++++++++++++++++
>  drivers/net/rnp/rnp_rxtx.h          |  162 +++
>  37 files changed, 8678 insertions(+)
>  create mode 100644 doc/guides/nics/features/rnp.ini
>  create mode 100644 doc/guides/nics/rnp.rst
>  create mode 100644 drivers/net/rnp/base/meson.build
>  create mode 100644 drivers/net/rnp/base/rnp_bdq_if.c
>  create mode 100644 drivers/net/rnp/base/rnp_bdq_if.h
>  create mode 100644 drivers/net/rnp/base/rnp_bitrev.h
>  create mode 100644 drivers/net/rnp/base/rnp_common.c
>  create mode 100644 drivers/net/rnp/base/rnp_common.h
>  create mode 100644 drivers/net/rnp/base/rnp_crc32.c
>  create mode 100644 drivers/net/rnp/base/rnp_crc32.h
>  create mode 100644 drivers/net/rnp/base/rnp_dma_regs.h
>  create mode 100644 drivers/net/rnp/base/rnp_eth_regs.h
>  create mode 100644 drivers/net/rnp/base/rnp_fw_cmd.c
>  create mode 100644 drivers/net/rnp/base/rnp_fw_cmd.h
>  create mode 100644 drivers/net/rnp/base/rnp_hw.h
>  create mode 100644 drivers/net/rnp/base/rnp_mac.c
>  create mode 100644 drivers/net/rnp/base/rnp_mac.h
>  create mode 100644 drivers/net/rnp/base/rnp_mac_regs.h
>  create mode 100644 drivers/net/rnp/base/rnp_mbx.c
>  create mode 100644 drivers/net/rnp/base/rnp_mbx.h
>  create mode 100644 drivers/net/rnp/base/rnp_mbx_fw.c
>  create mode 100644 drivers/net/rnp/base/rnp_mbx_fw.h
>  create mode 100644 drivers/net/rnp/base/rnp_osdep.h
>  create mode 100644 drivers/net/rnp/meson.build
>  create mode 100644 drivers/net/rnp/rnp.h
>  create mode 100644 drivers/net/rnp/rnp_ethdev.c
>  create mode 100644 drivers/net/rnp/rnp_link.c
>  create mode 100644 drivers/net/rnp/rnp_link.h
>  create mode 100644 drivers/net/rnp/rnp_logs.h
>  create mode 100644 drivers/net/rnp/rnp_rss.c
>  create mode 100644 drivers/net/rnp/rnp_rss.h
>  create mode 100644 drivers/net/rnp/rnp_rxtx.c
>  create mode 100644 drivers/net/rnp/rnp_rxtx.h
> 


Also the script devtools/test-meson-builds.sh that runs through
different build options, eventually fails at:


  User defined options
    buildtype             : debugoptimized
    check_includes        : true
    cpu_instruction_set   : nehalem
    default_library       : shared
    enable_deprecated_libs: *
    examples              : all
    libdir                : lib
    werror                : true

Found ninja-1.12.1 at /usr/bin/ninja
ninja: Entering directory `./build-x86-generic'                                 
                                                                                
                                    
[1751/6916] Compiling C object 
drivers/libtmp_rte_net_rnp.a.p/net_rnp_rnp_ethdev.c.o
FAILED: drivers/libtmp_rte_net_rnp.a.p/net_rnp_rnp_ethdev.c.o 
cc -Idrivers/libtmp_rte_net_rnp.a.p -Idrivers -I../drivers -Idrivers/net/rnp 
-I../drivers/net/rnp -Idrivers/net/rnp/base -I../drivers/net/rnp/base 
-Ilib/ethdev -I../lib/ethdev -I. -I.. -Iconfig -I../config -Ilib/eal/include 
-I../lib/eal/include -Ilib/eal/linux/include -I../lib/eal/linux/include 
-Ilib/eal/x86/include -I../lib/eal/x86/include -I../kernel/linux 
-Ilib/eal/common -I../lib/eal/common -Ilib/eal -I../lib/eal -Ilib/kvargs 
-I../lib/kvargs -Ilib/log -I../lib/log -Ilib/metrics -I../lib/metrics 
-Ilib/telemetry -I../lib/telemetry -Ilib/net -I../lib/net -Ilib/mbuf 
-I../lib/mbuf -Ilib/mempool -I../lib/mempool -Ilib/ring -I../lib/ring 
-Ilib/meter -I../lib/meter -Idrivers/bus/pci -I../drivers/bus/pci 
-I../drivers/bus/pci/linux -Ilib/pci -I../lib/pci -Idrivers/bus/vdev 
-I../drivers/bus/vdev -I/usr/include/x86_64-linux-gnu 
-fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra 
-Werror -std=c11 -O2 -g -include rte_config.h -Wvla -Wcast-qual -Wdeprecated 
-Wformat -Wformat-nonliteral -Wformat-security -Wmissing-declarations 
-Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wpointer-arith 
-Wsign-compare -Wstrict-prototypes -Wundef -Wwrite-strings 
-Wno-packed-not-aligned -Wno-missing-field-initializers -D_GNU_SOURCE -fPIC 
-march=nehalem -mrtm -DALLOW_EXPERIMENTAL_API -DALLOW_INTERNAL_API 
-Wno-format-truncation -Wno-address-of-packed-member 
-DRTE_LOG_DEFAULT_LOGTYPE=pmd.net.rnp -MD -MQ 
drivers/libtmp_rte_net_rnp.a.p/net_rnp_rnp_ethdev.c.o -MF 
drivers/libtmp_rte_net_rnp.a.p/net_rnp_rnp_ethdev.c.o.d -o 
drivers/libtmp_rte_net_rnp.a.p/net_rnp_rnp_ethdev.c.o -c 
../drivers/net/rnp/rnp_ethdev.c
In file included from ../lib/eal/x86/include/rte_atomic.h:11,
                 from ../lib/eal/include/generic/rte_pause.h:19,
                 from ../lib/eal/x86/include/rte_pause.h:8,
                 from ../lib/eal/include/generic/rte_rwlock.h:31,
                 from ../lib/eal/x86/include/rte_rwlock.h:8,
                 from ../lib/eal/include/rte_eal_memconfig.h:10,
                 from ../lib/eal/include/rte_memory.h:21,
                 from ../lib/eal/include/rte_malloc.h:16,
                 from ../lib/ethdev/ethdev_pci.h:9,
                 from ../drivers/net/rnp/rnp_ethdev.c:5:
In function ‘_mm_loadu_si128’,
    inlined from ‘rte_mov16’ at ../lib/eal/x86/include/rte_memcpy.h:113:9,
    inlined from ‘rte_mov32’ at ../lib/eal/x86/include/rte_memcpy.h:131:2,
    inlined from ‘rte_mov64’ at ../lib/eal/x86/include/rte_memcpy.h:149:2,
    inlined from ‘rte_mov128’ at ../lib/eal/x86/include/rte_memcpy.h:161:2,
    inlined from ‘rte_memcpy_generic’ at 
../lib/eal/x86/include/rte_memcpy.h:615:4,
    inlined from ‘rte_memcpy’ at ../lib/eal/x86/include/rte_memcpy.h:757:10,
    inlined from ‘rnp_mbx_fw_reply_handler’ at 
../drivers/net/rnp/rnp_ethdev.c:75:3,
    inlined from ‘rnp_process_fw_msg’ at ../drivers/net/rnp/rnp_ethdev.c:113:4,
    inlined from ‘rnp_dev_interrupt_handler’ at 
../drivers/net/rnp/rnp_ethdev.c:130:2,
    inlined from ‘rnp_dev_interrupt_handler’ at 
../drivers/net/rnp/rnp_ethdev.c:123:13:
/usr/lib/gcc/x86_64-linux-gnu/14/include/emmintrin.h:706:10: error: array 
subscript 16 is outside array bounds of ‘uint32_t[64]’ {aka ‘unsigned int[64]’} 
[-Werror=array-bounds=]
  706 |   return *__P;
      |          ^~~~
../drivers/net/rnp/rnp_ethdev.c: In function ‘rnp_dev_interrupt_handler’:
../drivers/net/rnp/rnp_ethdev.c:103:18: note: at offset 256 into object 
‘msgbuf’ of size 256
  103 |         uint32_t msgbuf[64];
      |                  ^~~~~~
cc1: all warnings being treated as errors
[1772/6916] Compiling C object 
lib/librte_pipeline.a.p/pipeline_rte_table_action.c.o
ninja: build stopped: subcommand failed.

Reply via email to