mempool/octeontx2: add build infra and device probe
Add the make and meson based build infrastructure along with the mempool(NPA) device probe. Signed-off-by: Jerin Jacob <jerinj@marvell.com> Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
This commit is contained in:
parent
14ad4f0184
commit
732377a679
|
@ -450,6 +450,7 @@ M: Jerin Jacob <jerinj@marvell.com>
|
|||
M: Nithin Dabilpuram <ndabilpuram@marvell.com>
|
||||
M: Vamsi Attunuru <vattunuru@marvell.com>
|
||||
F: drivers/common/octeontx2/
|
||||
F: drivers/mempool/octeontx2/
|
||||
F: doc/guides/platform/img/octeontx2_*
|
||||
F: doc/guides/platform/octeontx2.rst
|
||||
|
||||
|
|
|
@ -777,6 +777,11 @@ CONFIG_RTE_DRIVER_MEMPOOL_STACK=y
|
|||
#
|
||||
CONFIG_RTE_LIBRTE_OCTEONTX_MEMPOOL=y
|
||||
|
||||
#
|
||||
# Compile PMD for octeontx2 npa mempool device
|
||||
#
|
||||
CONFIG_RTE_LIBRTE_OCTEONTX2_MEMPOOL=y
|
||||
|
||||
#
|
||||
# Compile librte_mbuf
|
||||
#
|
||||
|
|
|
@ -11,7 +11,10 @@ endif
|
|||
ifeq ($(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF)$(CONFIG_RTE_LIBRTE_OCTEONTX_MEMPOOL),yy)
|
||||
DIRS-y += octeontx
|
||||
endif
|
||||
OCTEONTX2-y := $(CONFIG_RTE_LIBRTE_OCTEONTX2_MEMPOOL)
|
||||
ifeq ($(findstring y,$(OCTEONTX2-y)),y)
|
||||
DIRS-y += octeontx2
|
||||
endif
|
||||
|
||||
MVEP-y := $(CONFIG_RTE_LIBRTE_MVPP2_PMD)
|
||||
MVEP-y += $(CONFIG_RTE_LIBRTE_MVNETA_PMD)
|
||||
|
|
|
@ -13,5 +13,6 @@ endif
|
|||
DIRS-$(CONFIG_RTE_DRIVER_MEMPOOL_RING) += ring
|
||||
DIRS-$(CONFIG_RTE_DRIVER_MEMPOOL_STACK) += stack
|
||||
DIRS-$(CONFIG_RTE_LIBRTE_OCTEONTX_MEMPOOL) += octeontx
|
||||
DIRS-$(CONFIG_RTE_LIBRTE_OCTEONTX2_MEMPOOL) += octeontx2
|
||||
|
||||
include $(RTE_SDK)/mk/rte.subdir.mk
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
# Copyright(c) 2017 Intel Corporation
|
||||
|
||||
drivers = ['bucket', 'dpaa', 'dpaa2', 'octeontx', 'ring', 'stack']
|
||||
drivers = ['bucket', 'dpaa', 'dpaa2', 'octeontx', 'octeontx2', 'ring', 'stack']
|
||||
std_deps = ['mempool']
|
||||
config_flag_fmt = 'RTE_LIBRTE_@0@_MEMPOOL'
|
||||
driver_name_fmt = 'rte_mempool_@0@'
|
||||
|
|
36
drivers/mempool/octeontx2/Makefile
Normal file
36
drivers/mempool/octeontx2/Makefile
Normal file
|
@ -0,0 +1,36 @@
|
|||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
# Copyright(C) 2019 Marvell International Ltd.
|
||||
#
|
||||
|
||||
include $(RTE_SDK)/mk/rte.vars.mk
|
||||
|
||||
#
|
||||
# library name
|
||||
#
|
||||
LIB = librte_mempool_octeontx2.a
|
||||
|
||||
CFLAGS += $(WERROR_FLAGS)
|
||||
CFLAGS += -I$(RTE_SDK)/drivers/common/octeontx2
|
||||
CFLAGS += -I$(RTE_SDK)/drivers/mempool/octeontx2
|
||||
CFLAGS += -I$(RTE_SDK)/drivers/bus/pci
|
||||
CFLAGS += -O3
|
||||
|
||||
ifneq ($(CONFIG_RTE_ARCH_64),y)
|
||||
CFLAGS += -Wno-int-to-pointer-cast
|
||||
CFLAGS += -Wno-pointer-to-int-cast
|
||||
endif
|
||||
|
||||
EXPORT_MAP := rte_mempool_octeontx2_version.map
|
||||
|
||||
LIBABIVER := 1
|
||||
|
||||
#
|
||||
# all source are stored in SRCS-y
|
||||
#
|
||||
SRCS-$(CONFIG_RTE_LIBRTE_OCTEONTX2_MEMPOOL) += \
|
||||
otx2_mempool.c
|
||||
|
||||
LDLIBS += -lrte_eal -lrte_mempool -lrte_mbuf
|
||||
LDLIBS += -lrte_common_octeontx2 -lrte_kvargs -lrte_bus_pci
|
||||
|
||||
include $(RTE_SDK)/mk/rte.lib.mk
|
20
drivers/mempool/octeontx2/meson.build
Normal file
20
drivers/mempool/octeontx2/meson.build
Normal file
|
@ -0,0 +1,20 @@
|
|||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
# Copyright(C) 2019 Marvell International Ltd.
|
||||
#
|
||||
|
||||
sources = files('otx2_mempool.c',
|
||||
)
|
||||
|
||||
extra_flags = []
|
||||
# This integrated controller runs only on a arm64 machine, remove 32bit warnings
|
||||
if not dpdk_conf.get('RTE_ARCH_64')
|
||||
extra_flags += ['-Wno-int-to-pointer-cast', '-Wno-pointer-to-int-cast']
|
||||
endif
|
||||
|
||||
foreach flag: extra_flags
|
||||
if cc.has_argument(flag)
|
||||
cflags += flag
|
||||
endif
|
||||
endforeach
|
||||
|
||||
deps += ['eal', 'mbuf', 'kvargs', 'bus_pci', 'common_octeontx2', 'mempool']
|
57
drivers/mempool/octeontx2/otx2_mempool.c
Normal file
57
drivers/mempool/octeontx2/otx2_mempool.c
Normal file
|
@ -0,0 +1,57 @@
|
|||
/* SPDX-License-Identifier: BSD-3-Clause
|
||||
* Copyright(C) 2019 Marvell International Ltd.
|
||||
*/
|
||||
|
||||
#include <rte_bus_pci.h>
|
||||
#include <rte_common.h>
|
||||
#include <rte_eal.h>
|
||||
#include <rte_pci.h>
|
||||
|
||||
#include "otx2_common.h"
|
||||
|
||||
static int
|
||||
npa_remove(struct rte_pci_device *pci_dev)
|
||||
{
|
||||
if (rte_eal_process_type() != RTE_PROC_PRIMARY)
|
||||
return 0;
|
||||
|
||||
RTE_SET_USED(pci_dev);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
npa_probe(struct rte_pci_driver *pci_drv, struct rte_pci_device *pci_dev)
|
||||
{
|
||||
RTE_SET_USED(pci_drv);
|
||||
|
||||
if (rte_eal_process_type() != RTE_PROC_PRIMARY)
|
||||
return 0;
|
||||
|
||||
RTE_SET_USED(pci_dev);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static const struct rte_pci_id pci_npa_map[] = {
|
||||
{
|
||||
RTE_PCI_DEVICE(PCI_VENDOR_ID_CAVIUM,
|
||||
PCI_DEVID_OCTEONTX2_RVU_NPA_PF)
|
||||
},
|
||||
{
|
||||
RTE_PCI_DEVICE(PCI_VENDOR_ID_CAVIUM,
|
||||
PCI_DEVID_OCTEONTX2_RVU_NPA_VF)
|
||||
},
|
||||
{
|
||||
.vendor_id = 0,
|
||||
},
|
||||
};
|
||||
|
||||
static struct rte_pci_driver pci_npa = {
|
||||
.id_table = pci_npa_map,
|
||||
.drv_flags = RTE_PCI_DRV_NEED_MAPPING | RTE_PCI_DRV_IOVA_AS_VA,
|
||||
.probe = npa_probe,
|
||||
.remove = npa_remove,
|
||||
};
|
||||
|
||||
RTE_PMD_REGISTER_PCI(mempool_octeontx2, pci_npa);
|
||||
RTE_PMD_REGISTER_PCI_TABLE(mempool_octeontx2, pci_npa_map);
|
||||
RTE_PMD_REGISTER_KMOD_DEP(mempool_octeontx2, "vfio-pci");
|
|
@ -0,0 +1,4 @@
|
|||
DPDK_19.08 {
|
||||
|
||||
local: *;
|
||||
};
|
|
@ -88,6 +88,7 @@ _LDLIBS-$(CONFIG_RTE_LIBRTE_TIMER) += -lrte_timer
|
|||
_LDLIBS-$(CONFIG_RTE_LIBRTE_MEMPOOL) += -lrte_mempool
|
||||
_LDLIBS-$(CONFIG_RTE_LIBRTE_STACK) += -lrte_stack
|
||||
_LDLIBS-$(CONFIG_RTE_DRIVER_MEMPOOL_RING) += -lrte_mempool_ring
|
||||
_LDLIBS-$(CONFIG_RTE_LIBRTE_OCTEONTX2_MEMPOOL) += -lrte_mempool_octeontx2
|
||||
_LDLIBS-$(CONFIG_RTE_LIBRTE_RING) += -lrte_ring
|
||||
_LDLIBS-$(CONFIG_RTE_LIBRTE_PCI) += -lrte_pci
|
||||
_LDLIBS-$(CONFIG_RTE_LIBRTE_EAL) += -lrte_eal
|
||||
|
@ -107,7 +108,10 @@ endif
|
|||
ifeq ($(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF)$(CONFIG_RTE_LIBRTE_OCTEONTX_MEMPOOL),yy)
|
||||
_LDLIBS-y += -lrte_common_octeontx
|
||||
endif
|
||||
OCTEONTX2-y := $(CONFIG_RTE_LIBRTE_OCTEONTX2_MEMPOOL)
|
||||
ifeq ($(findstring y,$(OCTEONTX2-y)),y)
|
||||
_LDLIBS-y += -lrte_common_octeontx2
|
||||
endif
|
||||
|
||||
MVEP-y := $(CONFIG_RTE_LIBRTE_MVPP2_PMD)
|
||||
MVEP-y += $(CONFIG_RTE_LIBRTE_MVNETA_PMD)
|
||||
|
|
Loading…
Reference in a new issue