Signed-off-by: Amr Mokhtar <amr.mokh...@intel.com> --- MAINTAINERS | 10 ++++++++++ config/common_base | 23 +++++++++++++++++++++++ doc/guides/rel_notes/release_17_11.rst | 10 ++++++++++ mk/rte.app.mk | 13 +++++++++++++ 4 files changed, 56 insertions(+)
diff --git a/MAINTAINERS b/MAINTAINERS index 8df2a7f..1d444f9 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -273,6 +273,16 @@ F: lib/librte_eventdev/ F: drivers/event/skeleton/ F: test/test/test_eventdev.c +BBDEV API - EXPERIMENTAL +M: Amr Mokhtar <amr.mokh...@intel.com> +F: lib/librte_bbdev/ +F: drivers/bbdev/ +F: app/test-bbdev +F: examples/bbdev_app/ +F: doc/guides/bbdevs/ +F: doc/guides/prog_guide/bbdev.rst +F: doc/guides/sample_app_ug/bbdev_app.rst +F: doc/guides/tools/testbbdev.rst Networking Drivers ------------------ diff --git a/config/common_base b/config/common_base index 12f6be9..494869e 100644 --- a/config/common_base +++ b/config/common_base @@ -540,6 +540,24 @@ CONFIG_RTE_LIBRTE_PMD_SW_EVENTDEV_DEBUG=n CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF=y CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF_DEBUG=n +# Compile generic wireless base band device library +# EXPERIMENTAL: API may change without prior notice +# +CONFIG_RTE_LIBRTE_BBDEV=y +CONFIG_RTE_LIBRTE_BBDEV_DEBUG=n +CONFIG_RTE_BBDEV_MAX_DEVS=128 +CONFIG_RTE_BBDEV_NAME_MAX_LEN=64 + +# +# Compile PMD for NULL bbdev device +# +CONFIG_RTE_LIBRTE_PMD_BBDEV_NULL=y + +# +# Compile PMD for turbo software bbdev device +# +CONFIG_RTE_LIBRTE_PMD_BBDEV_TURBO_SW=n + # # Compile librte_ring # @@ -736,6 +754,11 @@ CONFIG_RTE_APP_TEST=y CONFIG_RTE_APP_TEST_RESOURCE_TAR=n # +# Compile the bbdev test application +# +CONFIG_RTE_TEST_BBDEV=y + +# # Compile the PMD test application # CONFIG_RTE_TEST_PMD=y diff --git a/doc/guides/rel_notes/release_17_11.rst b/doc/guides/rel_notes/release_17_11.rst index 8bf91bd..cdd30bc 100644 --- a/doc/guides/rel_notes/release_17_11.rst +++ b/doc/guides/rel_notes/release_17_11.rst @@ -41,6 +41,16 @@ New Features Also, make sure to start the actual text at the margin. ========================================================= +* **Added Wireless Base Band Device (bbdev).** + + The Wireless Baseband library provides a common programming framework that + abstracts HW accelerators based on FPGA and/or Fixed Function Accelerators that + assist with LTE Physical Layer processing. Furthermore, it decouples the + application from the compute-intensive wireless functions by abstracting their + optimized libraries to appear as virtual bbdev devices. + + The framework currently only supports Turbo Code FEC function. + Resolved Issues --------------- diff --git a/mk/rte.app.mk b/mk/rte.app.mk index c25fdd9..7286ad9 100644 --- a/mk/rte.app.mk +++ b/mk/rte.app.mk @@ -93,6 +93,7 @@ _LDLIBS-$(CONFIG_RTE_LIBRTE_NET) += -lrte_net _LDLIBS-$(CONFIG_RTE_LIBRTE_ETHER) += -lrte_ethdev _LDLIBS-$(CONFIG_RTE_LIBRTE_CRYPTODEV) += -lrte_cryptodev _LDLIBS-$(CONFIG_RTE_LIBRTE_EVENTDEV) += -lrte_eventdev +_LDLIBS-$(CONFIG_RTE_LIBRTE_BBDEV) += -lrte_bbdev _LDLIBS-$(CONFIG_RTE_LIBRTE_MEMPOOL) += -lrte_mempool _LDLIBS-$(CONFIG_RTE_DRIVER_MEMPOOL_RING) += -lrte_mempool_ring _LDLIBS-$(CONFIG_RTE_LIBRTE_RING) += -lrte_ring @@ -146,6 +147,18 @@ endif # $(CONFIG_RTE_LIBRTE_VHOST) _LDLIBS-$(CONFIG_RTE_LIBRTE_VMXNET3_PMD) += -lrte_pmd_vmxnet3_uio _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_XENVIRT) += -lrte_pmd_xenvirt -lxenstore +ifeq ($(CONFIG_RTE_LIBRTE_BBDEV),y) +_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_NULL) += -lrte_pmd_bbdev_null + +# TURBO SOFTWARE PMD is dependent on the BBLIB library +_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_TURBO_SW) += -lrte_pmd_bbdev_turbo_sw +_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_TURBO_SW) += -L$(BBLIB_PATH)/lib_common -lcommon +_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_TURBO_SW) += -L$(BBLIB_PATH)/lib_crc -lcrc +_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_TURBO_SW) += -L$(BBLIB_PATH)/lib_turbo -lturbo +_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_TURBO_SW) += -L$(BBLIB_PATH)/lib_rate_matching -lrate_matching +_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_TURBO_SW) += -lirc -limf -lstdc++ -lipps +endif # CONFIG_RTE_LIBRTE_BBDEV + ifeq ($(CONFIG_RTE_LIBRTE_CRYPTODEV),y) _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_MB) += -lrte_pmd_aesni_mb _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_MB) += -L$(AESNI_MULTI_BUFFER_LIB_PATH) -lIPSec_MB -- 2.7.4