This patch set provides the initial version of DPDK PMD for the built-in NIC device in Cavium ThunderX SoC family.
Implemented features and ThunderX nicvf PMD documentation added in doc/guides/nics/overview.rst and doc/guides/nics/thunderx.rst respectively in this patch set. These patches are checked using checkpatch.sh with following additional ignore option: options="$options --ignore=BIT_MACRO,CAMELCASE,BRACKET_SPACE" CAMELCASE - To accommodate PRIx64 BRACKET_SPACE - To accommodate AT&T inline line assembly in two places This patch set is based on DPDK 16.07-RC1 and tested with today's git HEAD change-set 84c9b5a9fe926f1aa033dc5352be8d4a5e0b789d along with following depended patch http://dpdk.org/dev/patchwork/patch/11826/ ethdev: add tunnel and port RSS offload types Jerin Jacob (20): thunderx/nicvf/base: add hardware API for ThunderX nicvf inbuilt NIC thunderx/nicvf: add pmd skeleton thunderx/nicvf: add link status and link update support thunderx/nicvf: add get_reg and get_reg_length support thunderx/nicvf: add dev_configure support thunderx/nicvf: add dev_infos_get support thunderx/nicvf: add rx_queue_setup/release support thunderx/nicvf: add tx_queue_setup/release support thunderx/nicvf: add rss and reta query and update support thunderx/nicvf: add mtu_set and promiscuous_enable support thunderx/nicvf: add stats support thunderx/nicvf: add single and multi segment tx functions thunderx/nicvf: add single and multi segment rx functions thunderx/nicvf: add dev_supported_ptypes_get and rx_queue_count support thunderx/nicvf: add rx queue start and stop support thunderx/nicvf: add tx queue start and stop support thunderx/nicvf: add device start,stop and close support thunderx/config: set max numa node to two thunderx/nicvf: updated driver documentation and release notes maintainers: claim responsibility for the ThunderX nicvf PMD MAINTAINERS | 6 + config/common_base | 10 + config/defconfig_arm64-thunderx-linuxapp-gcc | 11 + doc/guides/nics/index.rst | 1 + doc/guides/nics/overview.rst | 94 +- doc/guides/nics/thunderx.rst | 349 ++++ doc/guides/rel_notes/release_16_07.rst | 1 + drivers/net/Makefile | 1 + drivers/net/thunderx/Makefile | 66 + drivers/net/thunderx/base/nicvf_hw.c | 911 ++++++++++ drivers/net/thunderx/base/nicvf_hw.h | 240 +++ drivers/net/thunderx/base/nicvf_hw_defs.h | 1217 +++++++++++++ drivers/net/thunderx/base/nicvf_mbox.c | 416 +++++ drivers/net/thunderx/base/nicvf_mbox.h | 232 +++ drivers/net/thunderx/base/nicvf_plat.h | 132 ++ drivers/net/thunderx/nicvf_ethdev.c | 1857 ++++++++++++++++++++ drivers/net/thunderx/nicvf_ethdev.h | 103 ++ drivers/net/thunderx/nicvf_logs.h | 83 + drivers/net/thunderx/nicvf_rxtx.c | 624 +++++++ drivers/net/thunderx/nicvf_rxtx.h | 66 + drivers/net/thunderx/nicvf_struct.h | 124 ++ .../thunderx/rte_pmd_thunderx_nicvf_version.map | 4 + mk/rte.app.mk | 2 + 23 files changed, 6503 insertions(+), 47 deletions(-) create mode 100644 doc/guides/nics/thunderx.rst create mode 100644 drivers/net/thunderx/Makefile create mode 100644 drivers/net/thunderx/base/nicvf_hw.c create mode 100644 drivers/net/thunderx/base/nicvf_hw.h create mode 100644 drivers/net/thunderx/base/nicvf_hw_defs.h create mode 100644 drivers/net/thunderx/base/nicvf_mbox.c create mode 100644 drivers/net/thunderx/base/nicvf_mbox.h create mode 100644 drivers/net/thunderx/base/nicvf_plat.h create mode 100644 drivers/net/thunderx/nicvf_ethdev.c create mode 100644 drivers/net/thunderx/nicvf_ethdev.h create mode 100644 drivers/net/thunderx/nicvf_logs.h create mode 100644 drivers/net/thunderx/nicvf_rxtx.c create mode 100644 drivers/net/thunderx/nicvf_rxtx.h create mode 100644 drivers/net/thunderx/nicvf_struct.h create mode 100644 drivers/net/thunderx/rte_pmd_thunderx_nicvf_version.map -- 2.1.0