The purpose of this patch is used to fix building issues for LoongArch architecture. The hardware instructions based vector implementation will come in a future patch.
Signed-off-by: Min Zhou <zhou...@loongson.cn> --- drivers/net/ixgbe/ixgbe_rxtx_vec_lsx.c | 60 ++++++++++++++++++++++++++ drivers/net/ixgbe/meson.build | 2 + 2 files changed, 62 insertions(+) create mode 100644 drivers/net/ixgbe/ixgbe_rxtx_vec_lsx.c diff --git a/drivers/net/ixgbe/ixgbe_rxtx_vec_lsx.c b/drivers/net/ixgbe/ixgbe_rxtx_vec_lsx.c new file mode 100644 index 0000000000..412c8f937a --- /dev/null +++ b/drivers/net/ixgbe/ixgbe_rxtx_vec_lsx.c @@ -0,0 +1,60 @@ +/* + * SPDX-License-Identifier: BSD-3-Clause + * Copyright(c) 2022 Loongson Technology Corporation Limited + */ + +#include "base/ixgbe_common.h" +#include "ixgbe_ethdev.h" +#include "ixgbe_rxtx.h" + +/* The vector support will come later */ +#ifdef RTE_ARCH_NO_VECTOR +int +ixgbe_rx_vec_dev_conf_condition_check(__rte_unused struct rte_eth_dev *dev) +{ + return -1; +} + +uint16_t +ixgbe_recv_pkts_vec(__rte_unused void *rx_queue, + __rte_unused struct rte_mbuf **rx_pkts, + __rte_unused uint16_t nb_pkts) +{ + return 0; +} + +uint16_t +ixgbe_recv_scattered_pkts_vec(__rte_unused void *rx_queue, + __rte_unused struct rte_mbuf **rx_pkts, + __rte_unused uint16_t nb_pkts) +{ + return 0; +} + +int +ixgbe_rxq_vec_setup(__rte_unused struct ixgbe_rx_queue *rxq) +{ + return -1; +} + +uint16_t +ixgbe_xmit_fixed_burst_vec(__rte_unused void *tx_queue, + __rte_unused struct rte_mbuf **tx_pkts, + __rte_unused uint16_t nb_pkts) +{ + return 0; +} + +int +ixgbe_txq_vec_setup(__rte_unused struct ixgbe_tx_queue *txq) +{ + return -1; +} + +void +ixgbe_rx_queue_release_mbufs_vec(__rte_unused struct ixgbe_rx_queue *rxq) +{ +} +#else +#error "The current version of LoongArch does not support vector!" +#endif diff --git a/drivers/net/ixgbe/meson.build b/drivers/net/ixgbe/meson.build index 162f8d5f46..33c9a58ac8 100644 --- a/drivers/net/ixgbe/meson.build +++ b/drivers/net/ixgbe/meson.build @@ -29,6 +29,8 @@ if arch_subdir == 'x86' endif elif arch_subdir == 'arm' sources += files('ixgbe_rxtx_vec_neon.c') +elif arch_subdir == 'loongarch' + sources += files('ixgbe_rxtx_vec_lsx.c') endif includes += include_directories('base') -- 2.31.1