[dpdk-dev] [PATCH v2 00/15] Add patch set for IPN3KE

Ferruh Yigit ferruh.yigit at intel.com
Fri Mar 29 19:59:02 CET 2019


On 3/29/2019 3:58 PM, Rosen Xu wrote:
> v2 updates:
> ==========
>  - Fix v1 comments
>  - Add support for 10G Base Line Design Bitstream
>  - Add support for 25G Base Line Design Bitstream
> 
> This patch set adds the support of a new net PMD, Intel® FPGA Programmable
> Acceleration Card N3000, also called ipn3ke.
> 
> The ipn3ke PMD (librte_pmd_ipn3ke) provides poll mode driver support
> for Intel® FPGA PAC(Programmable Acceleration Card) N3000 based on
> the Intel Ethernet Controller X710/XXV710 and Intel Arria 10 FPGA.
> 
> In this card, FPGA is an acceleration bridge between network interface
> and the Intel Ethernet Controller. Although both FPGA and Ethernet
> Controllers are connected to CPU with PCIe Gen3x16 Switch, all the
> packet RX/TX is handled by Intel Ethernet Controller. So from application
> point of view the data path is still the legacy Intel Ethernet Controller
> X710/XXV710 PMD. Besides this, users can enable more acceleration
> features by FPGA IP.
> 
> Rosen Xu (7):
>   drivers/bus/ifpga: add AFU shared data
>   drivers/bus/ifpga: add function for AFU search by name
>   drivers/net/ipn3ke: add IPN3KE ethdev PMD driver
>   drivers/net/ipn3ke: add IPN3KE representor of PMD driver
>   drivers/net/ipn3ke: add IPN3KE TM of PMD driver
>   drivers/net/ipn3ke: add IPN3KE Flow of PMD driver
>   drivers/raw/ifpga_rawdev: add IPN3KE support for IFPGA Rawdev
> 
> Zhang, Tianfei (8):
>   raw/ifpga/base: clean up code for ifpga share code
>   raw/ifpga/base: store private features in FME and Port list
>   raw/ifpga/base: add SPI and MAX10 device driver
>   raw/ifpga/base: add I2C and at24 EEPROM driver
>   raw/ifpga/base: add eth group driver
>   raw/ifpga/base: add device tree support
>   raw/ifpga/base: add version description on README
>   raw/ifpga/base: using prefix name "ifpga_" for feature and feature_ops
>     data struct

Hi Rosen,

I am seeing some build errors, for 32bit [1], cross compilation [2] and linkage
errors [3], can you please check them?

Is "libfdt.h" dependency in [2] documented in driver doc?


[1]
Building i686-native-linuxapp-gcc ...
.../dpdk/drivers/net/ipn3ke/ipn3ke_ethdev.c: In function ‘ipn3ke_indirect_read’:
.../dpdk/drivers/net/ipn3ke/ipn3ke_ethdev.c:68:19: error: cast to pointer from
integer of different size [-Werror=int-to-pointer-cast]
  indirect_addrs = (volatile void *)(base_addr | 0x10);
                   ^
.../dpdk/drivers/net/ipn3ke/ipn3ke_ethdev.c:76:19: error: cast to pointer from
integer of different size [-Werror=int-to-pointer-cast]
  indirect_addrs = (volatile void *)(base_addr | 0x18);
                   ^
.../dpdk/drivers/net/ipn3ke/ipn3ke_ethdev.c: In function ‘ipn3ke_indirect_write’:
.../dpdk/drivers/net/ipn3ke/ipn3ke_ethdev.c:118:19: error: cast to pointer from
integer of different size [-Werror=int-to-pointer-cast]
  indirect_addrs = (volatile void *)(base_addr | 0x10);
                   ^
cc1: all warnings being treated as errors
make[7]: *** [.../dpdk/mk/internal/rte.compile-pre.mk:116: ipn3ke_ethdev.o] Error 1
make[7]: *** Waiting for unfinished jobs....
In file included from .../dpdk/drivers/net/ipn3ke/ipn3ke_representor.c:25:
.../dpdk/drivers/net/ipn3ke/ipn3ke_representor.c: In function ‘ipn3ke_update_link’:
.../dpdk/drivers/net/ipn3ke/ipn3ke_logs.h:13:49: error: format ‘%lx’ expects
argument of type ‘long unsigned int’, but argument 4 has type ‘uint64_t’ {aka
‘long long unsigned int’} [-Werror=format=]
  rte_log(RTE_LOG_ ## level, ipn3ke_afu_logtype, "ipn3ke_afu: " fmt, \
                                                 ^~~~~~~~~~~~~~
.../dpdk/drivers/net/ipn3ke/ipn3ke_logs.h:19:2: note: in expansion of macro
‘IPN3KE_AFU_PMD_LOG’
  IPN3KE_AFU_PMD_LOG(DEBUG, fmt, ## args)
  ^~~~~~~~~~~~~~~~~~
.../dpdk/drivers/net/ipn3ke/ipn3ke_representor.c:388:2: note: in expansion of
macro ‘IPN3KE_AFU_PMD_DEBUG’
  IPN3KE_AFU_PMD_DEBUG("line_link_bitmap is %lx\n", line_link_bitmap);
  ^~~~~~~~~~~~~~~~~~~~
.../dpdk/drivers/net/ipn3ke/ipn3ke_representor.c:388:46: note: format string is
defined here
  IPN3KE_AFU_PMD_DEBUG("line_link_bitmap is %lx\n", line_link_bitmap);
                                            ~~^
                                            %llx
cc1: all warnings being treated as errors



[2]
.../dpdk/drivers/raw/ifpga_rawdev/base/opae_intel_max10.c:6:10: fatal error:
libfdt.h: No such file or directory
 #include <libfdt.h>
          ^~~~~~~~~~


[3]
/usr/bin/ld: ipn3ke_representor.o: in function `ipn3ke_rpst_init':
ipn3ke_representor.c:(.text+0xc8b): undefined reference to `pthread_create'
/usr/bin/ld: ipn3ke_representor.c:(.text+0xca8): undefined reference to
`pthread_cancel'
/usr/bin/ld: ipn3ke_representor.c:(.text+0xcbe): undefined reference to
`pthread_join'
/usr/bin/ld: ipn3ke_representor.o: in function `ipn3ke_rpst_uninit':
ipn3ke_representor.c:(.text+0xd6b): undefined reference to `pthread_create'
/usr/bin/ld: ipn3ke_representor.c:(.text+0xd88): undefined reference to
`pthread_cancel'
/usr/bin/ld: ipn3ke_representor.c:(.text+0xd9e): undefined reference to
`pthread_join'
collect2: error: ld returned 1 exit status
/usr/bin/ld: ipn3ke_representor.o: in function `ipn3ke_rpst_init':
ipn3ke_representor.c:(.text+0xc8b): undefined reference to `pthread_create'
/usr/bin/ld: ipn3ke_representor.c:(.text+0xca8): undefined reference to
`pthread_cancel'
/usr/bin/ld: ipn3ke_representor.c:(.text+0xcbe): undefined reference to
`pthread_join'
/usr/bin/ld: ipn3ke_representor.o: in function `ipn3ke_rpst_uninit':
ipn3ke_representor.c:(.text+0xd6b): undefined reference to `pthread_create'
/usr/bin/ld: ipn3ke_representor.c:(.text+0xd88): undefined reference to
`pthread_cancel'
/usr/bin/ld: ipn3ke_representor.c:(.text+0xd9e): undefined reference to
`pthread_join'
collect2: error: ld returned 1 exit status


More information about the dev mailing list