[dpdk-dev] [PATCH v7 00/13] Introducing NXP dpaa2_sec based cryptodev pmd
Akhil Goyal
akhil.goyal at nxp.com
Mon Apr 10 14:36:42 CEST 2017
Hi All,
On 4/10/2017 6:00 PM, akhil.goyal at nxp.com wrote:
> From: Akhil Goyal <akhil.goyal at nxp.com>
>
> Based over the DPAA2 PMD driver [1], this series of patches introduces the
> DPAA2_SEC PMD which provides DPDK crypto driver for NXP's DPAA2 CAAM
> Hardware accelerator.
>
> SEC is NXP DPAA2 SoC's security engine for cryptographic acceleration and
> offloading. It implements block encryption, stream cipher, hashing and
> public key algorithms. It also supports run-time integrity checking, and a
> hardware random number generator.
>
> Besides the objects exposed in [1], another key object has been added
> through this patch:
>
> - DPSECI, refers to SEC block interface
>
> :: Patch Layout ::
>
> 0001~0002: Cryptodev PMD
> 0003 : MC dpseci object
> 0004 : Crytodev PMD basic ops
> 0005~0006: Run Time Assembler(RTA) common headers for CAAM hardware
> 0007~0009: Crytodev PMD ops
> 0010 : Documentation
> 0011 : MAINTAINERS
> 0012~0013: Performance and Functional tests
>
> :: Future Work To Do ::
>
> - More functionality and algorithms are still work in progress
> -- Hash followed by Cipher mode
> -- session-less API
> -- Chained mbufs
>
> changes in v7:
> - Rebased over 17.02RC1 and latest DPAA2 PMD patches
> - Handled comments from Pablo and John
>
A typo here. I have rebased the patches over 17.05RC1 and latest DPAA2
PMD patches
-Akhil
> changes in v6:
> - Rebased over latest DPAA2 PMD and over crypto-next
> - Handled comments from Pablo and John
> - split one patch for correcting check-git-log.sh
>
> changes in v5:
> - v4 discarded because of incorrect patchset
>
> changes in v4:
> - Moved patch for documentation in the end
> - Moved MC object DPSECI from base DPAA2 series to this patch set for
> better understanding
> - updated documentation to remove confusion about external libs.
>
> changes in v3:
> - Added functional test cases
> - Incorporated comments from Pablo
>
> :: References ::
>
> [1] http://dpdk.org/ml/archives/dev/2017-April/063504.html
>
>
> Akhil Goyal (13):
> cryptodev: add cryptodev type for dpaa2 sec
> crypto/dpaa2_sec: add dpaa2 sec poll mode driver
> crypto/dpaa2_sec: add mc dpseci object support
> crypto/dpaa2_sec: add basic crypto operations
> crypto/dpaa2_sec: add run time assembler for descriptor formation
> crypto/dpaa2_sec: add sample descriptors for NXP dpaa2 sec ops
> bus/fslmc: add packet frame list entry definitions
> crypto/dpaa2_sec: add crypto operation support
> crypto/dpaa2_sec: statistics support
> doc: add NXP dpaa2 sec in cryptodev
> maintainers: claim responsibility for dpaa2 sec pmd
> test/test: add dpaa2 sec crypto performance test
> test/test: add dpaa2 sec crypto functional test
>
> MAINTAINERS | 6 +
> config/common_base | 8 +
> config/defconfig_arm64-dpaa2-linuxapp-gcc | 12 +
> doc/guides/cryptodevs/dpaa2_sec.rst | 232 ++
> doc/guides/cryptodevs/features/dpaa2_sec.ini | 34 +
> doc/guides/cryptodevs/index.rst | 1 +
> doc/guides/nics/dpaa2.rst | 2 +
> drivers/Makefile | 1 +
> drivers/bus/Makefile | 4 +
> drivers/bus/fslmc/Makefile | 4 +
> drivers/bus/fslmc/portal/dpaa2_hw_pvt.h | 25 +
> drivers/bus/fslmc/rte_bus_fslmc_version.map | 1 +
> drivers/crypto/Makefile | 2 +
> drivers/crypto/dpaa2_sec/Makefile | 82 +
> drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c | 1662 +++++++++++++
> drivers/crypto/dpaa2_sec/dpaa2_sec_logs.h | 70 +
> drivers/crypto/dpaa2_sec/dpaa2_sec_priv.h | 368 +++
> drivers/crypto/dpaa2_sec/hw/compat.h | 123 +
> drivers/crypto/dpaa2_sec/hw/desc.h | 2570 ++++++++++++++++++++
> drivers/crypto/dpaa2_sec/hw/desc/algo.h | 431 ++++
> drivers/crypto/dpaa2_sec/hw/desc/common.h | 97 +
> drivers/crypto/dpaa2_sec/hw/desc/ipsec.h | 1513 ++++++++++++
> drivers/crypto/dpaa2_sec/hw/rta.h | 920 +++++++
> .../crypto/dpaa2_sec/hw/rta/fifo_load_store_cmd.h | 312 +++
> drivers/crypto/dpaa2_sec/hw/rta/header_cmd.h | 217 ++
> drivers/crypto/dpaa2_sec/hw/rta/jump_cmd.h | 173 ++
> drivers/crypto/dpaa2_sec/hw/rta/key_cmd.h | 188 ++
> drivers/crypto/dpaa2_sec/hw/rta/load_cmd.h | 301 +++
> drivers/crypto/dpaa2_sec/hw/rta/math_cmd.h | 368 +++
> drivers/crypto/dpaa2_sec/hw/rta/move_cmd.h | 411 ++++
> drivers/crypto/dpaa2_sec/hw/rta/nfifo_cmd.h | 162 ++
> drivers/crypto/dpaa2_sec/hw/rta/operation_cmd.h | 565 +++++
> drivers/crypto/dpaa2_sec/hw/rta/protocol_cmd.h | 698 ++++++
> drivers/crypto/dpaa2_sec/hw/rta/sec_run_time_asm.h | 789 ++++++
> .../crypto/dpaa2_sec/hw/rta/seq_in_out_ptr_cmd.h | 174 ++
> drivers/crypto/dpaa2_sec/hw/rta/signature_cmd.h | 41 +
> drivers/crypto/dpaa2_sec/hw/rta/store_cmd.h | 151 ++
> drivers/crypto/dpaa2_sec/mc/dpseci.c | 551 +++++
> drivers/crypto/dpaa2_sec/mc/fsl_dpseci.h | 738 ++++++
> drivers/crypto/dpaa2_sec/mc/fsl_dpseci_cmd.h | 249 ++
> .../crypto/dpaa2_sec/rte_pmd_dpaa2_sec_version.map | 4 +
> drivers/mempool/Makefile | 4 +
> drivers/mempool/dpaa2/Makefile | 4 +
> lib/librte_cryptodev/rte_cryptodev.h | 3 +
> mk/rte.app.mk | 5 +
> test/test/test_cryptodev.c | 106 +
> test/test/test_cryptodev_blockcipher.c | 3 +
> test/test/test_cryptodev_blockcipher.h | 1 +
> test/test/test_cryptodev_perf.c | 23 +
> 49 files changed, 14409 insertions(+)
> create mode 100644 doc/guides/cryptodevs/dpaa2_sec.rst
> create mode 100644 doc/guides/cryptodevs/features/dpaa2_sec.ini
> create mode 100644 drivers/crypto/dpaa2_sec/Makefile
> create mode 100644 drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c
> create mode 100644 drivers/crypto/dpaa2_sec/dpaa2_sec_logs.h
> create mode 100644 drivers/crypto/dpaa2_sec/dpaa2_sec_priv.h
> create mode 100644 drivers/crypto/dpaa2_sec/hw/compat.h
> create mode 100644 drivers/crypto/dpaa2_sec/hw/desc.h
> create mode 100644 drivers/crypto/dpaa2_sec/hw/desc/algo.h
> create mode 100644 drivers/crypto/dpaa2_sec/hw/desc/common.h
> create mode 100644 drivers/crypto/dpaa2_sec/hw/desc/ipsec.h
> create mode 100644 drivers/crypto/dpaa2_sec/hw/rta.h
> create mode 100644 drivers/crypto/dpaa2_sec/hw/rta/fifo_load_store_cmd.h
> create mode 100644 drivers/crypto/dpaa2_sec/hw/rta/header_cmd.h
> create mode 100644 drivers/crypto/dpaa2_sec/hw/rta/jump_cmd.h
> create mode 100644 drivers/crypto/dpaa2_sec/hw/rta/key_cmd.h
> create mode 100644 drivers/crypto/dpaa2_sec/hw/rta/load_cmd.h
> create mode 100644 drivers/crypto/dpaa2_sec/hw/rta/math_cmd.h
> create mode 100644 drivers/crypto/dpaa2_sec/hw/rta/move_cmd.h
> create mode 100644 drivers/crypto/dpaa2_sec/hw/rta/nfifo_cmd.h
> create mode 100644 drivers/crypto/dpaa2_sec/hw/rta/operation_cmd.h
> create mode 100644 drivers/crypto/dpaa2_sec/hw/rta/protocol_cmd.h
> create mode 100644 drivers/crypto/dpaa2_sec/hw/rta/sec_run_time_asm.h
> create mode 100644 drivers/crypto/dpaa2_sec/hw/rta/seq_in_out_ptr_cmd.h
> create mode 100644 drivers/crypto/dpaa2_sec/hw/rta/signature_cmd.h
> create mode 100644 drivers/crypto/dpaa2_sec/hw/rta/store_cmd.h
> create mode 100644 drivers/crypto/dpaa2_sec/mc/dpseci.c
> create mode 100644 drivers/crypto/dpaa2_sec/mc/fsl_dpseci.h
> create mode 100644 drivers/crypto/dpaa2_sec/mc/fsl_dpseci_cmd.h
> create mode 100644 drivers/crypto/dpaa2_sec/rte_pmd_dpaa2_sec_version.map
>
More information about the dev
mailing list