eal: add macro for attribute weak
eal: add shorthand __rte_weak macro qat: update code to use __rte_weak macro avf: update code to use __rte_weak macro fm10k: update code to use __rte_weak macro i40e: update code to use __rte_weak macro ixgbe: update code to use __rte_weak macro mlx5: update code to use __rte_weak macro virtio: update code to use __rte_weak macro acl: update code to use __rte_weak macro bpf: update code to use __rte_weak macro Signed-off-by: Keith Wiles <keith.wiles@intel.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
This commit is contained in:
parent
dea302eb4e
commit
81bede55e3
@ -259,37 +259,37 @@ static struct rte_pci_driver rte_qat_pmd = {
|
||||
.remove = qat_pci_remove
|
||||
};
|
||||
|
||||
__attribute__((weak)) int
|
||||
__rte_weak int
|
||||
qat_sym_dev_create(struct qat_pci_device *qat_pci_dev __rte_unused)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
__attribute__((weak)) int
|
||||
__rte_weak int
|
||||
qat_asym_dev_create(struct qat_pci_device *qat_pci_dev __rte_unused)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
__attribute__((weak)) int
|
||||
__rte_weak int
|
||||
qat_sym_dev_destroy(struct qat_pci_device *qat_pci_dev __rte_unused)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
__attribute__((weak)) int
|
||||
__rte_weak int
|
||||
qat_asym_dev_destroy(struct qat_pci_device *qat_pci_dev __rte_unused)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
__attribute__((weak)) int
|
||||
__rte_weak int
|
||||
qat_comp_dev_create(struct qat_pci_device *qat_pci_dev __rte_unused)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
__attribute__((weak)) int
|
||||
__rte_weak int
|
||||
qat_comp_dev_destroy(struct qat_pci_device *qat_pci_dev __rte_unused)
|
||||
{
|
||||
return 0;
|
||||
|
@ -673,7 +673,7 @@ qat_dequeue_op_burst(void *qp, void **ops, uint16_t nb_ops)
|
||||
return resp_counter;
|
||||
}
|
||||
|
||||
__attribute__((weak)) int
|
||||
__rte_weak int
|
||||
qat_comp_process_response(void **op __rte_unused, uint8_t *resp __rte_unused)
|
||||
{
|
||||
return 0;
|
||||
|
@ -1918,7 +1918,7 @@ avf_dev_tx_desc_status(void *tx_queue, uint16_t offset)
|
||||
return RTE_ETH_TX_DESC_FULL;
|
||||
}
|
||||
|
||||
uint16_t __attribute__((weak))
|
||||
__rte_weak uint16_t
|
||||
avf_recv_pkts_vec(__rte_unused void *rx_queue,
|
||||
__rte_unused struct rte_mbuf **rx_pkts,
|
||||
__rte_unused uint16_t nb_pkts)
|
||||
@ -1926,7 +1926,7 @@ avf_recv_pkts_vec(__rte_unused void *rx_queue,
|
||||
return 0;
|
||||
}
|
||||
|
||||
uint16_t __attribute__((weak))
|
||||
__rte_weak uint16_t
|
||||
avf_recv_scattered_pkts_vec(__rte_unused void *rx_queue,
|
||||
__rte_unused struct rte_mbuf **rx_pkts,
|
||||
__rte_unused uint16_t nb_pkts)
|
||||
@ -1934,7 +1934,7 @@ avf_recv_scattered_pkts_vec(__rte_unused void *rx_queue,
|
||||
return 0;
|
||||
}
|
||||
|
||||
uint16_t __attribute__((weak))
|
||||
__rte_weak uint16_t
|
||||
avf_xmit_fixed_burst_vec(__rte_unused void *tx_queue,
|
||||
__rte_unused struct rte_mbuf **tx_pkts,
|
||||
__rte_unused uint16_t nb_pkts)
|
||||
@ -1942,13 +1942,13 @@ avf_xmit_fixed_burst_vec(__rte_unused void *tx_queue,
|
||||
return 0;
|
||||
}
|
||||
|
||||
int __attribute__((weak))
|
||||
__rte_weak int
|
||||
avf_rxq_vec_setup(__rte_unused struct avf_rx_queue *rxq)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
int __attribute__((weak))
|
||||
__rte_weak int
|
||||
avf_txq_vec_setup(__rte_unused struct avf_tx_queue *txq)
|
||||
{
|
||||
return -1;
|
||||
|
@ -129,13 +129,13 @@ fm10k_mbx_unlock(struct fm10k_hw *hw)
|
||||
}
|
||||
|
||||
/* Stubs needed for linkage when vPMD is disabled */
|
||||
int __attribute__((weak))
|
||||
__rte_weak int
|
||||
fm10k_rx_vec_condition_check(__rte_unused struct rte_eth_dev *dev)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
uint16_t __attribute__((weak))
|
||||
__rte_weak uint16_t
|
||||
fm10k_recv_pkts_vec(
|
||||
__rte_unused void *rx_queue,
|
||||
__rte_unused struct rte_mbuf **rx_pkts,
|
||||
@ -144,7 +144,7 @@ fm10k_recv_pkts_vec(
|
||||
return 0;
|
||||
}
|
||||
|
||||
uint16_t __attribute__((weak))
|
||||
__rte_weak uint16_t
|
||||
fm10k_recv_scattered_pkts_vec(
|
||||
__rte_unused void *rx_queue,
|
||||
__rte_unused struct rte_mbuf **rx_pkts,
|
||||
@ -153,33 +153,33 @@ fm10k_recv_scattered_pkts_vec(
|
||||
return 0;
|
||||
}
|
||||
|
||||
int __attribute__((weak))
|
||||
__rte_weak int
|
||||
fm10k_rxq_vec_setup(__rte_unused struct fm10k_rx_queue *rxq)
|
||||
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
void __attribute__((weak))
|
||||
__rte_weak void
|
||||
fm10k_rx_queue_release_mbufs_vec(
|
||||
__rte_unused struct fm10k_rx_queue *rxq)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
void __attribute__((weak))
|
||||
__rte_weak void
|
||||
fm10k_txq_vec_setup(__rte_unused struct fm10k_tx_queue *txq)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
int __attribute__((weak))
|
||||
__rte_weak int
|
||||
fm10k_tx_vec_condition_check(__rte_unused struct fm10k_tx_queue *txq)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
uint16_t __attribute__((weak))
|
||||
__rte_weak uint16_t
|
||||
fm10k_xmit_fixed_burst_vec(__rte_unused void *tx_queue,
|
||||
__rte_unused struct rte_mbuf **tx_pkts,
|
||||
__rte_unused uint16_t nb_pkts)
|
||||
|
@ -3176,13 +3176,13 @@ i40e_set_default_pctype_table(struct rte_eth_dev *dev)
|
||||
}
|
||||
|
||||
/* Stubs needed for linkage when CONFIG_RTE_I40E_INC_VECTOR is set to 'n' */
|
||||
int __attribute__((weak))
|
||||
__rte_weak int
|
||||
i40e_rx_vec_dev_conf_condition_check(struct rte_eth_dev __rte_unused *dev)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
uint16_t __attribute__((weak))
|
||||
__rte_weak uint16_t
|
||||
i40e_recv_pkts_vec(
|
||||
void __rte_unused *rx_queue,
|
||||
struct rte_mbuf __rte_unused **rx_pkts,
|
||||
@ -3191,7 +3191,7 @@ i40e_recv_pkts_vec(
|
||||
return 0;
|
||||
}
|
||||
|
||||
uint16_t __attribute__((weak))
|
||||
__rte_weak uint16_t
|
||||
i40e_recv_scattered_pkts_vec(
|
||||
void __rte_unused *rx_queue,
|
||||
struct rte_mbuf __rte_unused **rx_pkts,
|
||||
@ -3200,7 +3200,7 @@ i40e_recv_scattered_pkts_vec(
|
||||
return 0;
|
||||
}
|
||||
|
||||
uint16_t __attribute__((weak))
|
||||
__rte_weak uint16_t
|
||||
i40e_recv_pkts_vec_avx2(void __rte_unused *rx_queue,
|
||||
struct rte_mbuf __rte_unused **rx_pkts,
|
||||
uint16_t __rte_unused nb_pkts)
|
||||
@ -3208,7 +3208,7 @@ i40e_recv_pkts_vec_avx2(void __rte_unused *rx_queue,
|
||||
return 0;
|
||||
}
|
||||
|
||||
uint16_t __attribute__((weak))
|
||||
__rte_weak uint16_t
|
||||
i40e_recv_scattered_pkts_vec_avx2(void __rte_unused *rx_queue,
|
||||
struct rte_mbuf __rte_unused **rx_pkts,
|
||||
uint16_t __rte_unused nb_pkts)
|
||||
@ -3216,25 +3216,25 @@ i40e_recv_scattered_pkts_vec_avx2(void __rte_unused *rx_queue,
|
||||
return 0;
|
||||
}
|
||||
|
||||
int __attribute__((weak))
|
||||
__rte_weak int
|
||||
i40e_rxq_vec_setup(struct i40e_rx_queue __rte_unused *rxq)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
int __attribute__((weak))
|
||||
__rte_weak int
|
||||
i40e_txq_vec_setup(struct i40e_tx_queue __rte_unused *txq)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
void __attribute__((weak))
|
||||
__rte_weak void
|
||||
i40e_rx_queue_release_mbufs_vec(struct i40e_rx_queue __rte_unused*rxq)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
uint16_t __attribute__((weak))
|
||||
__rte_weak uint16_t
|
||||
i40e_xmit_fixed_burst_vec(void __rte_unused * tx_queue,
|
||||
struct rte_mbuf __rte_unused **tx_pkts,
|
||||
uint16_t __rte_unused nb_pkts)
|
||||
@ -3242,7 +3242,7 @@ i40e_xmit_fixed_burst_vec(void __rte_unused * tx_queue,
|
||||
return 0;
|
||||
}
|
||||
|
||||
uint16_t __attribute__((weak))
|
||||
__rte_weak uint16_t
|
||||
i40e_xmit_pkts_vec_avx2(void __rte_unused * tx_queue,
|
||||
struct rte_mbuf __rte_unused **tx_pkts,
|
||||
uint16_t __rte_unused nb_pkts)
|
||||
|
@ -5715,13 +5715,13 @@ ixgbe_config_rss_filter(struct rte_eth_dev *dev,
|
||||
}
|
||||
|
||||
/* Stubs needed for linkage when CONFIG_RTE_IXGBE_INC_VECTOR is set to 'n' */
|
||||
int __attribute__((weak))
|
||||
__rte_weak int
|
||||
ixgbe_rx_vec_dev_conf_condition_check(struct rte_eth_dev __rte_unused *dev)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
uint16_t __attribute__((weak))
|
||||
__rte_weak uint16_t
|
||||
ixgbe_recv_pkts_vec(
|
||||
void __rte_unused *rx_queue,
|
||||
struct rte_mbuf __rte_unused **rx_pkts,
|
||||
@ -5730,7 +5730,7 @@ ixgbe_recv_pkts_vec(
|
||||
return 0;
|
||||
}
|
||||
|
||||
uint16_t __attribute__((weak))
|
||||
__rte_weak uint16_t
|
||||
ixgbe_recv_scattered_pkts_vec(
|
||||
void __rte_unused *rx_queue,
|
||||
struct rte_mbuf __rte_unused **rx_pkts,
|
||||
@ -5739,7 +5739,7 @@ ixgbe_recv_scattered_pkts_vec(
|
||||
return 0;
|
||||
}
|
||||
|
||||
int __attribute__((weak))
|
||||
__rte_weak int
|
||||
ixgbe_rxq_vec_setup(struct ixgbe_rx_queue __rte_unused *rxq)
|
||||
{
|
||||
return -1;
|
||||
|
@ -2324,7 +2324,7 @@ removed_rx_burst(void *dpdk_txq __rte_unused,
|
||||
* (e.g. mlx5_rxtx_vec_sse.c for x86).
|
||||
*/
|
||||
|
||||
uint16_t __attribute__((weak))
|
||||
__rte_weak uint16_t
|
||||
mlx5_tx_burst_raw_vec(void *dpdk_txq __rte_unused,
|
||||
struct rte_mbuf **pkts __rte_unused,
|
||||
uint16_t pkts_n __rte_unused)
|
||||
@ -2332,7 +2332,7 @@ mlx5_tx_burst_raw_vec(void *dpdk_txq __rte_unused,
|
||||
return 0;
|
||||
}
|
||||
|
||||
uint16_t __attribute__((weak))
|
||||
__rte_weak uint16_t
|
||||
mlx5_tx_burst_vec(void *dpdk_txq __rte_unused,
|
||||
struct rte_mbuf **pkts __rte_unused,
|
||||
uint16_t pkts_n __rte_unused)
|
||||
@ -2340,7 +2340,7 @@ mlx5_tx_burst_vec(void *dpdk_txq __rte_unused,
|
||||
return 0;
|
||||
}
|
||||
|
||||
uint16_t __attribute__((weak))
|
||||
__rte_weak uint16_t
|
||||
mlx5_rx_burst_vec(void *dpdk_txq __rte_unused,
|
||||
struct rte_mbuf **pkts __rte_unused,
|
||||
uint16_t pkts_n __rte_unused)
|
||||
@ -2348,25 +2348,25 @@ mlx5_rx_burst_vec(void *dpdk_txq __rte_unused,
|
||||
return 0;
|
||||
}
|
||||
|
||||
int __attribute__((weak))
|
||||
__rte_weak int
|
||||
mlx5_check_raw_vec_tx_support(struct rte_eth_dev *dev __rte_unused)
|
||||
{
|
||||
return -ENOTSUP;
|
||||
}
|
||||
|
||||
int __attribute__((weak))
|
||||
__rte_weak int
|
||||
mlx5_check_vec_tx_support(struct rte_eth_dev *dev __rte_unused)
|
||||
{
|
||||
return -ENOTSUP;
|
||||
}
|
||||
|
||||
int __attribute__((weak))
|
||||
__rte_weak int
|
||||
mlx5_rxq_check_vec_support(struct mlx5_rxq_data *rxq __rte_unused)
|
||||
{
|
||||
return -ENOTSUP;
|
||||
}
|
||||
|
||||
int __attribute__((weak))
|
||||
__rte_weak int
|
||||
mlx5_check_vec_rx_support(struct rte_eth_dev *dev __rte_unused)
|
||||
{
|
||||
return -ENOTSUP;
|
||||
|
@ -47,7 +47,7 @@ virtio_rxq_vec_setup(struct virtnet_rx *rxq)
|
||||
}
|
||||
|
||||
/* Stub for linkage when arch specific implementation is not available */
|
||||
uint16_t __attribute__((weak))
|
||||
__rte_weak uint16_t
|
||||
virtio_recv_pkts_vec(void *rx_queue __rte_unused,
|
||||
struct rte_mbuf **rx_pkts __rte_unused,
|
||||
uint16_t nb_pkts __rte_unused)
|
||||
|
@ -16,7 +16,7 @@ EAL_REGISTER_TAILQ(rte_acl_tailq)
|
||||
* If the compiler doesn't support AVX2 instructions,
|
||||
* then the dummy one would be used instead for AVX2 classify method.
|
||||
*/
|
||||
int __attribute__ ((weak))
|
||||
__rte_weak int
|
||||
rte_acl_classify_avx2(__rte_unused const struct rte_acl_ctx *ctx,
|
||||
__rte_unused const uint8_t **data,
|
||||
__rte_unused uint32_t *results,
|
||||
@ -26,7 +26,7 @@ rte_acl_classify_avx2(__rte_unused const struct rte_acl_ctx *ctx,
|
||||
return -ENOTSUP;
|
||||
}
|
||||
|
||||
int __attribute__ ((weak))
|
||||
__rte_weak int
|
||||
rte_acl_classify_sse(__rte_unused const struct rte_acl_ctx *ctx,
|
||||
__rte_unused const uint8_t **data,
|
||||
__rte_unused uint32_t *results,
|
||||
@ -36,7 +36,7 @@ rte_acl_classify_sse(__rte_unused const struct rte_acl_ctx *ctx,
|
||||
return -ENOTSUP;
|
||||
}
|
||||
|
||||
int __attribute__ ((weak))
|
||||
__rte_weak int
|
||||
rte_acl_classify_neon(__rte_unused const struct rte_acl_ctx *ctx,
|
||||
__rte_unused const uint8_t **data,
|
||||
__rte_unused uint32_t *results,
|
||||
@ -46,7 +46,7 @@ rte_acl_classify_neon(__rte_unused const struct rte_acl_ctx *ctx,
|
||||
return -ENOTSUP;
|
||||
}
|
||||
|
||||
int __attribute__ ((weak))
|
||||
__rte_weak int
|
||||
rte_acl_classify_altivec(__rte_unused const struct rte_acl_ctx *ctx,
|
||||
__rte_unused const uint8_t **data,
|
||||
__rte_unused uint32_t *results,
|
||||
|
@ -131,7 +131,7 @@ rte_bpf_load(const struct rte_bpf_prm *prm)
|
||||
return bpf;
|
||||
}
|
||||
|
||||
__rte_experimental __attribute__ ((weak)) struct rte_bpf *
|
||||
__rte_experimental __rte_weak struct rte_bpf *
|
||||
rte_bpf_elf_load(const struct rte_bpf_prm *prm, const char *fname,
|
||||
const char *sname)
|
||||
{
|
||||
|
@ -68,6 +68,11 @@ typedef uint16_t unaligned_uint16_t;
|
||||
/******* Macro to mark functions and fields scheduled for removal *****/
|
||||
#define __rte_deprecated __attribute__((__deprecated__))
|
||||
|
||||
/**
|
||||
* Mark a function or variable to a weak reference.
|
||||
*/
|
||||
#define __rte_weak __attribute__((__weak__))
|
||||
|
||||
/*********** Macros to eliminate unused variable warnings ********/
|
||||
|
||||
/**
|
||||
|
Loading…
x
Reference in New Issue
Block a user