[v5,02/16] compress/qat: add makefiles for PMD
Checks
Commit Message
Add Makefiles, directory and empty source files for compression PMD.
Handle cases for building either symmetric crypto PMD
or compression PMD or both and the common files both depend on.
Signed-off-by: Fiona Trahe <fiona.trahe@intel.com>
Signed-off-by: Tomasz Jozwiak <tomaszx.jozwiak@intel.com>
---
MAINTAINERS | 4 +++
config/common_base | 3 +-
drivers/common/qat/Makefile | 60 +++++++++++++++++++++++--------------
drivers/compress/qat/qat_comp.c | 5 ++++
drivers/compress/qat/qat_comp.h | 14 +++++++++
drivers/compress/qat/qat_comp_pmd.c | 5 ++++
drivers/compress/qat/qat_comp_pmd.h | 15 ++++++++++
test/test/test_cryptodev.c | 6 ++--
8 files changed, 86 insertions(+), 26 deletions(-)
create mode 100644 drivers/compress/qat/qat_comp.c
create mode 100644 drivers/compress/qat/qat_comp.h
create mode 100644 drivers/compress/qat/qat_comp_pmd.c
create mode 100644 drivers/compress/qat/qat_comp_pmd.h
Comments
> -----Original Message-----
> From: Trahe, Fiona
> Sent: Wednesday, July 11, 2018 12:57 PM
> To: dev@dpdk.org
> Cc: De Lara Guarch, Pablo <pablo.de.lara.guarch@intel.com>; Trahe, Fiona
> <fiona.trahe@intel.com>; Jozwiak, TomaszX <tomaszx.jozwiak@intel.com>
> Subject: [PATCH v5 02/16] compress/qat: add makefiles for PMD
>
> Add Makefiles, directory and empty source files for compression PMD.
> Handle cases for building either symmetric crypto PMD or compression PMD or
> both and the common files both depend on.
>
> Signed-off-by: Fiona Trahe <fiona.trahe@intel.com>
> Signed-off-by: Tomasz Jozwiak <tomaszx.jozwiak@intel.com>
> ---
> MAINTAINERS | 4 +++
> config/common_base | 3 +-
> drivers/common/qat/Makefile | 60 +++++++++++++++++++++++--------------
> drivers/compress/qat/qat_comp.c | 5 ++++
> drivers/compress/qat/qat_comp.h | 14 +++++++++
> drivers/compress/qat/qat_comp_pmd.c | 5 ++++
> drivers/compress/qat/qat_comp_pmd.h | 15 ++++++++++
> test/test/test_cryptodev.c | 6 ++--
> 8 files changed, 86 insertions(+), 26 deletions(-) create mode 100644
> drivers/compress/qat/qat_comp.c create mode 100644
> drivers/compress/qat/qat_comp.h create mode 100644
> drivers/compress/qat/qat_comp_pmd.c
> create mode 100644 drivers/compress/qat/qat_comp_pmd.h
>
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 8050b5d..50b2dff 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -852,6 +852,10 @@ F: drivers/compress/isal/
> F: doc/guides/compressdevs/isal.rst
> F: doc/guides/compressdevs/features/isal.ini
>
> +Intel QuickAssist
> +M: Fiona Trahe <fiona.trahe@intel.com>
> +F: drivers/compress/qat/
> +F: drivers/common/qat/
>
> Eventdev Drivers
> ----------------
> diff --git a/config/common_base b/config/common_base index
> e4241db..1e340b4 100644
> --- a/config/common_base
> +++ b/config/common_base
> @@ -480,7 +480,8 @@ CONFIG_RTE_LIBRTE_DPAA_MAX_CRYPTODEV=4
> #
> # Compile PMD for QuickAssist based devices # -
> CONFIG_RTE_LIBRTE_PMD_QAT=n
> +CONFIG_RTE_LIBRTE_PMD_QAT=y
> +CONFIG_RTE_LIBRTE_PMD_QAT_SYM=n
Since now you are enabling QAT driver by default, mk/rte.app.mk needs to be changed.
QAT_SYM requires libcrypto, not QAT itself, so right now, by default libcrypto is needed.
A change like the following would solve the problem, but not sure if it is correct.
+_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_QAT) += -lrte_pmd_qat
ifeq ($(CONFIG_RTE_LIBRTE_CRYPTODEV),y)
_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_MB) += -lrte_pmd_aesni_mb
_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_MB) += -lIPSec_MB
@@ -190,7 +191,7 @@ _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_GCM) += -lIPSec_MB
_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_CCP) += -lrte_pmd_ccp -lcrypto
_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_OPENSSL) += -lrte_pmd_openssl -lcrypto
_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_NULL_CRYPTO) += -lrte_pmd_null_crypto
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_QAT) += -lrte_pmd_qat -lcrypto
+_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_QAT_SYM) += -lcrypto
@@ -852,6 +852,10 @@ F: drivers/compress/isal/
F: doc/guides/compressdevs/isal.rst
F: doc/guides/compressdevs/features/isal.ini
+Intel QuickAssist
+M: Fiona Trahe <fiona.trahe@intel.com>
+F: drivers/compress/qat/
+F: drivers/common/qat/
Eventdev Drivers
----------------
@@ -480,7 +480,8 @@ CONFIG_RTE_LIBRTE_DPAA_MAX_CRYPTODEV=4
#
# Compile PMD for QuickAssist based devices
#
-CONFIG_RTE_LIBRTE_PMD_QAT=n
+CONFIG_RTE_LIBRTE_PMD_QAT=y
+CONFIG_RTE_LIBRTE_PMD_QAT_SYM=n
#
# Max. number of QuickAssist devices, which can be detected and attached
#
@@ -3,48 +3,64 @@
include $(RTE_SDK)/mk/rte.vars.mk
-# library name
-LIB = librte_pmd_qat.a
-
-# library version
-LIBABIVER := 1
-
-# build flags
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -O3
-
# build directories
QAT_CRYPTO_DIR := $(RTE_SDK)/drivers/crypto/qat
-VPATH=$(QAT_CRYPTO_DIR)
+QAT_COMPRESS_DIR := $(RTE_SDK)/drivers/compress/qat
+VPATH=$(QAT_CRYPTO_DIR):$(QAT_COMPRESS_DIR)
# external library include paths
CFLAGS += -I$(SRCDIR)/qat_adf
CFLAGS += -I$(SRCDIR)
CFLAGS += -I$(QAT_CRYPTO_DIR)
+CFLAGS += -I$(QAT_COMPRESS_DIR)
-# library common source files
-SRCS-y += qat_device.c
-SRCS-y += qat_common.c
-SRCS-y += qat_logs.c
-SRCS-y += qat_qp.c
+
+ifeq ($(CONFIG_RTE_LIBRTE_COMPRESSDEV),y)
+ CFLAGS += -DALLOW_EXPERIMENTAL_API
+ LDLIBS += -lrte_compressdev
+ SRCS-y += qat_comp.c
+ SRCS-y += qat_comp_pmd.c
+ build_qat = yes
+endif
# library symmetric crypto source files
ifeq ($(CONFIG_RTE_LIBRTE_CRYPTODEV),y)
+ifeq ($(CONFIG_RTE_LIBRTE_PMD_QAT_SYM),y)
LDLIBS += -lrte_cryptodev
LDLIBS += -lcrypto
CFLAGS += -DBUILD_QAT_SYM
SRCS-y += qat_sym.c
SRCS-y += qat_sym_session.c
SRCS-y += qat_sym_pmd.c
+ build_qat = yes
+endif
endif
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool
-LDLIBS += -lrte_pci -lrte_bus_pci
+ifdef build_qat
-# export include files
-SYMLINK-y-include +=
+ # library name
+ LIB = librte_pmd_qat.a
-# versioning export map
-EXPORT_MAP := ../../crypto/qat/rte_pmd_qat_version.map
+ # library version
+ LIBABIVER := 1
+ # build flags
+ CFLAGS += $(WERROR_FLAGS)
+ CFLAGS += -O3
+
+ # library common source files
+ SRCS-y += qat_device.c
+ SRCS-y += qat_common.c
+ SRCS-y += qat_logs.c
+ SRCS-y += qat_qp.c
+
+ LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool
+ LDLIBS += -lrte_pci -lrte_bus_pci
+
+ # export include files
+ SYMLINK-y-include +=
+
+ # versioning export map
+ EXPORT_MAP := ../../crypto/qat/rte_pmd_qat_version.map
+endif
include $(RTE_SDK)/mk/rte.lib.mk
new file mode 100644
@@ -0,0 +1,5 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(c) 2018 Intel Corporation
+ */
+
+#include "qat_comp.h"
new file mode 100644
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(c) 2015-2018 Intel Corporation
+ */
+
+#ifndef _QAT_COMP_H_
+#define _QAT_COMP_H_
+
+#ifdef RTE_LIBRTE_COMPRESSDEV
+
+#include <rte_compressdev.h>
+#include <rte_compressdev_pmd.h>
+
+#endif
+#endif
new file mode 100644
@@ -0,0 +1,5 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(c) 2015-2018 Intel Corporation
+ */
+
+#include "qat_comp_pmd.h"
new file mode 100644
@@ -0,0 +1,15 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(c) 2015-2018 Intel Corporation
+ */
+
+#ifndef _QAT_COMP_PMD_H_
+#define _QAT_COMP_PMD_H_
+
+#ifdef RTE_LIBRTE_COMPRESSDEV
+
+#include <rte_compressdev.h>
+#include <rte_compressdev_pmd.h>
+
+
+#endif
+#endif /* _QAT_COMP_PMD_H_ */
@@ -9938,9 +9938,9 @@ test_cryptodev_qat(void /*argv __rte_unused, int argc __rte_unused*/)
RTE_STR(CRYPTODEV_NAME_QAT_SYM_PMD));
if (gbl_driver_id == -1) {
- RTE_LOG(ERR, USER1, "QAT PMD must be loaded. Check if "
- "CONFIG_RTE_LIBRTE_PMD_QAT is enabled "
- "in config file to run this testsuite.\n");
+ RTE_LOG(ERR, USER1, "QAT PMD must be loaded. Check that both "
+ "CONFIG_RTE_LIBRTE_PMD_QAT and CONFIG_RTE_LIBRTE_PMD_QAT_SYM "
+ "are enabled in config file to run this testsuite.\n");
return TEST_SKIPPED;
}