From patchwork Thu Sep 13 06:08:37 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Gagandeep Singh X-Patchwork-Id: 44637 X-Patchwork-Delegate: gakhil@marvell.com Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 4A9F84F9B; Thu, 13 Sep 2018 08:09:29 +0200 (CEST) Received: from EUR02-VE1-obe.outbound.protection.outlook.com (mail-eopbgr20044.outbound.protection.outlook.com [40.107.2.44]) by dpdk.org (Postfix) with ESMTP id 20F8A4CA1 for ; Thu, 13 Sep 2018 08:09:26 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=XyrAPlMFq5VcsOBGaS0p4ZVj6Ka1TxZ5YD3hTEtjDOw=; b=xJ021AJPQh4I6wgMpKkQuqGkDFV9sGUHwpVTngp2aUuZ8YaWSLPlTvmwUvb+L8gN5/YVzz+3UJLBM5JStX0gMzgY3Ghu8sxtqMXKwN+AiH0Z/3CFTtXZkty1AA+d6CZKXJj9L/AkD5+Tlvy6s4HWt0zRbkWfuXlD2KljkMK3UdE= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=G.Singh@nxp.com; Received: from Tophie.ap.freescale.net (14.142.187.166) by HE1PR04MB1529.eurprd04.prod.outlook.com (2a01:111:e400:59a8::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1143.15; Thu, 13 Sep 2018 06:09:23 +0000 From: Gagandeep Singh To: dev@dpdk.org, akhil.goyal@nxp.com Cc: Hemant Agrawal Date: Thu, 13 Sep 2018 11:38:37 +0530 Message-Id: <20180913060846.29930-2-g.singh@nxp.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20180913060846.29930-1-g.singh@nxp.com> References: <20180913060846.29930-1-g.singh@nxp.com> MIME-Version: 1.0 X-Originating-IP: [14.142.187.166] X-ClientProxiedBy: BM1PR01CA0095.INDPRD01.PROD.OUTLOOK.COM (2603:1096:b00::11) To HE1PR04MB1529.eurprd04.prod.outlook.com (2a01:111:e400:59a8::19) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 72c4968a-9a66-45b2-5c78-08d6193f7415 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989137)(4534165)(7168020)(4627221)(201703031133081)(201702281549075)(8990107)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020); SRVR:HE1PR04MB1529; X-Microsoft-Exchange-Diagnostics: 1; HE1PR04MB1529; 3:hfR3r63P3q4yZ2LNoTJWiNJB9HBvjlC/m6nR0JCWt8/2/XbXuq+VdG7WmME7qsrV9NTF5dm0IMen1Nt34QN2YXQCUq19n56uatsqNDaXzHWLkrnyU/2J3WX+uyIjHfLP2muCnA1bgaBv0MNo7BDoHPITmJcFy2RUvfMG0OALzEK210xY3M7Iq0l1voDOF88DNT2DPlH91KZpV3uFi1J05pSUkC8oloZkdcmOJ64z8yhGHZ8dMZNEqIve0XU+Z8dG; 25:Rr1BJeElTNCjGVH1paiakjkTQoby1OUdTFr1k1EdzQdHiK2OpmjR5DFxJdvhqg/4wXeLDr6kzsebslFPmJyuxNFKIB8826n+01WCv1T831GVkrzsBzLT9nB3ghISe63e31XL48cl59BrgqunKdDAw+xzNDBm3qqfaA/G9VcgCEFuQFi1ys/r4kjNQW/vpcfEjorU0Hj1OBz26dfOTJR7ZjU6DIoNT/Jhjp+U5STYCUYzPTbuDUiMMcbjw6v8T3LlJKu0z2eQYaH3/zL/cooM91/Z1eccImptxsvWoFfIEAYxQsL16cQDp8+8KTKXeCcIlObKy13CFoAg9sphIO7fAQ==; 31:bPEvxNQzIy3sTCUQWcsD7lbPKrtRqFkljT3V9mNfXBkC2ZLIxDNl4+lNwdiFOA768SC2zwpOsblo09OZYYja9Mr4zEobxSZ2S5FBJS+BMp6qXPxVuwgFUW6ShWC8YAQCavdfAB2gd66qx3/Jw4tdie9xGQks8kVRDImxE4C6l21QCpAOXbCx9lTwq/rfujCIVrBRdvR1rqG1ekMAJK3mn3B+YIS/yn7LnxByzOWv9Is= X-MS-TrafficTypeDiagnostic: HE1PR04MB1529: X-Microsoft-Exchange-Diagnostics: 1; HE1PR04MB1529; 20:ZAoAZjePpjCr5YpCEtGP29V7iVfxhgpX6Qab2NnswbPA0kSVUoK76V1TkQxGIXHyP9LAAo1KcmfHrMX70ewdniq4PHL5aGiGnUJNI6kVCgQKAU86ovN6ZK76XYG+nLIn7MaIB8BycZs/L6wcYlKUF1cby72olRvUggzDxQYJeogEE9VgLDmQAeQh95LbhOVmDoKZ0EkMGdNasHXXeAa3ZRmnSkNkFJ2JBtFwEcrL3rArTNarZd2dmfbVOQEjMquZ2mDK/bCD6KpIb8XmMkffeG49Bem2kvQonUmzIfc7EICA/VvfnxhVenYNcMbuCFSfVni9czPtnYzogPc7vnpMv6kzxM2u0RqSQtveJDAPRmE54wniO67EDu6p0MI32jLYPZvSLaZZikeGqfm6KwdNrO7C9ON5abR4w4q1CeCQIBldqPvYIDxizJ78Kchf0kreCmGrnIgL+WKFgtFnkHgdDyLN7ui3qpk1P7pOqivjDvjg1acCnJhS5Rz9R8/Rk9sQ X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(278428928389397)(192374486261705)(35073007944872)(185117386973197)(264314650089876); X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(823301075)(3231311)(944501410)(52105095)(3002001)(93006095)(93001095)(10201501046)(6055026)(149027)(150027)(6041310)(20161123558120)(20161123562045)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(201708071742011)(7699050); SRVR:HE1PR04MB1529; BCL:0; PCL:0; RULEID:; SRVR:HE1PR04MB1529; X-Microsoft-Exchange-Diagnostics: 1; HE1PR04MB1529; 4:JVg5KvYEU4TSlFlG6PZplSQcFzRYS1SgC5A6Bctah9IO2s8msPZ/ExiY90LQqUP/3XQkODDo0NZQKxf0xlOP6IwrJ8PBT8g76RsPEFNsiFuWbbl5vPoet0sYWGT8zzN2MzGUsuFhbmCBOaAJPNmr14mkkp7IipYkMd9tEO24s585kM+ykvjQr0RnJSYY7fBkjjj5PBoL/ZSezo4GULhKz+uhyAkHVqAJ7T3a9gNr9gkBP3WuDnxAj/UaMzwn6nBe5FGUkpfBYP73af0R8iIAWtpm2Ji6Ue8SPatTRvhrvSI+9UVfa4K4Je7cF+PHmSTJPtvGgVlrg8685bV6AvC88Kl7pTJCSOOQ99su5wg36fjdNnn0V2AgjPJniYNAe3sewele02XUlsV2iPGhbGt9r3cNvr092H/ZHF+cFUeDiZhpjr/3iVYnKca3DWC71fzDmt4RgTmYFB2ZZhVIODN+8w== X-Forefront-PRVS: 07943272E1 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(366004)(376002)(39860400002)(136003)(346002)(396003)(189003)(199004)(2906002)(6506007)(386003)(5009440100003)(6486002)(6512007)(6306002)(52116002)(23676004)(486006)(2616005)(68736007)(956004)(53936002)(2870700001)(476003)(446003)(11346002)(305945005)(26005)(7736002)(55236004)(76176011)(186003)(16526019)(50226002)(478600001)(47776003)(1076002)(3846002)(6116002)(105586002)(106356001)(25786009)(14444005)(50466002)(5660300001)(36756003)(72206003)(66066001)(316002)(97736004)(8936002)(81166006)(4326008)(8676002)(86362001)(6636002)(6666003)(81156014)(110426005); DIR:OUT; SFP:1101; SCL:1; SRVR:HE1PR04MB1529; H:Tophie.ap.freescale.net; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; Received-SPF: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?utf-8?q?1=3BHE1PR04MB1529=3B23=3AUztw?= =?utf-8?q?Zmi6PSx3oz1NYgOXeWcFMsXYy+aRJW6CUldG2uNgHwD37bssTPUsv3Zp?= =?utf-8?q?+WFf/pbdtWh1uJXbmc1/Vd6oVqS+LI3YPrF+BXoNpQs6qfSN5HVfWgow?= =?utf-8?q?e6qhxrD/L3h2v8Med8q1vw+xqOPxd41a/6gmb4HsWEFPKXqthCjFftjj?= =?utf-8?q?dRDn6r2QQo4WK4snHfF9WFbKiZYJRvBkVsG1kluWTca+LpNdZLlHHI4L?= =?utf-8?q?qoemB6K0Ssie/M0ljlqPmRA7d9HnO79y3KcgWWlsy5lGfUchA/tkKjlC?= =?utf-8?q?Z3riKS3UKiioFwsiXxzaSrMd8ALIPOPlQiI8cE2ap43HyizOezuPFRW8?= =?utf-8?q?sGMoXcc9RHOAXJT0ZzMj0NLYjohdnAfirxF5Jk0NdStTdMcwG/xp0j72?= =?utf-8?q?R+7VTg3B376h05B+Z0ecHilxooJnx9M6TGIUSc9bqx54Lc1Mq4zQbcHT?= =?utf-8?q?dOX1BD2niSbheiS2FM2XPwfQDk/MWQI4JofdtyO1oLA7Odmias05Yj4v?= =?utf-8?q?gmkgZWXXQ4WRzJgkg3FJJQZJ5Vi09zw3N/VLDyFMrbNIv2PytOrAGNVf?= =?utf-8?q?C/iyTmdEYAjdqWBP+7Bh3HuDQ6Ol2oCKoJt/Aqmd6eOcRZLgiSrRHLP8?= =?utf-8?q?U4AkxcibYSFx4g+VBzWEq5aq6cQeKZlDtAX0rp4hGIZc8inPJeimldTe?= =?utf-8?q?/sQVS0idmnpFgG6zhjdAJGgsUSZyV7xXYV7c6hwpNCM8ojykNInzvRfF?= =?utf-8?q?BbWAVzjdfCY4Ih/Nr9fmmBw/ys2HmMBY5dlMOtWrzKakBOUBs/uxWYGK?= =?utf-8?q?Lfx4xNzpUtYS//zJlqfhh4UzgylDJ1YOvxDM0LDXq4fo9BrljVitsnD8?= =?utf-8?q?LqXvtwgXmx+1PK/NOFSLsTbp4E2NvFVP0gNY1wvJ6Gxl9AmQkguXvxx4?= =?utf-8?q?Vuv3/KcK1IUPEv8sf+JW5RnSZS+v3nyl0yGFpik35b+0oXuZ+fQBdfq5?= =?utf-8?q?MZ5XBZjqgm6hSfhoi+jeK8o7xjpGNDQ7QqBcCsNgO3JFLzfv0urC3NQ6?= =?utf-8?q?zEi0pJmGuUZWJlEJDpwQuQ99DeCHmaA0NS5FokV6YWD0NR2Cyyk0Avb3?= =?utf-8?q?cGRlVKX02OHp3F2s+aH9zcGhcoAPVbBYxbqCjIbzgozMa5UNgajPBPKx?= =?utf-8?q?Sd9qYl9noPgo+5voRjuGVrIIh3r+F/9G4YsFJ+PAjeELF46mNmlIXHtL?= =?utf-8?q?cnKV2UOP1IULCxIaIiBsHN1iWvLpxvDZXrqYY/mBW91ev4Ug9zX/Gexq?= =?utf-8?q?tmW/heMKlkk562qTevnEPOlJri9JmxhrgJAulBmgb0i1tGIEJxRhEScw?= =?utf-8?q?ugayDILa2uCb2KZri0dyMv4IeD1owCA=3D?= X-Microsoft-Antispam-Message-Info: SrtTfdnbLI604orCjX44xTdmCcZTzN+6RQ7MPW7MIiyhxlISYEJQlH+uurzz66NoUhMcu+FxQHymA0LayqnclBikmMHojwHpt2WXlvlxg4IukeZfe6STz4APi5vtzKWnYuK/gIFW4vU2vllfUK1mJBXngqWdZyKF/edB94ZhYnvyU1cG1QlEn8mSX41r2z2SN72XpTP63cAF66duVbmlPmXRa83Gmz3f8bnAcejLYU3WLBoP7gfu8YpTJL9sqlH1saK7t/pkU79J++E1xPoMK4UrQlsxCxePeEmzN70YZqvXHROfkBszMQs9DyP2m4GQetotKdpdg5vcUhFruJ22JxFhT2UJq6QyxmrKskaG7HA= X-Microsoft-Exchange-Diagnostics: 1; HE1PR04MB1529; 6:skBQw56ce0TLDtf+ayAUG2KtlbJUVsY/VIF4EXwQkx7L0nuAxM2hEqf6JoVv2OTK/3VKgSAvAYEhoO27ULAUbMN/QZZYVnYiis4uhiZFwjv/axi+d9uNh6vv/iDxqPCei27JUP6jHWQZunlVVXg3ekv/sLq6y+44DFKb0vlP7nohYj4qo4VuGzgaZ70bGWQRpM+k3vOQJaXv/qnwagi6LPmXEJ4NnWM7IxqtZAsLcJNqPY5YXOb95FkKvy6Xf4S3CXQn4w4IdQjPGAz0p5WTE6E12rougTKEcVuxcCi0S5M5u0MnEVs3bAaO1DhNB9GNVI6c5m8j9B63RN8dqdeLD2j+ZtOxHRH9L51mVt8GsNAiN8YTF6wJtsAg5s+9ZjCnd841hBOUyFN1uFLpfEAdDoSPpb52huOFmzpvyYTzLls0AfjyaIXmgU2NT3QoIWMyqH5mLXEHLoOkELXDChgRgw==; 5:aandzPSbC6ezG3g+nqULuK5UfQuGIF56+SK7Xr9Xb913yRDcvkmiESBP4ENTxK7scwwpPzOdk74HORqbO05MeUvl+uB+yCFn8qrVD91otRhgZL6x0MEmsIcIXevXQN3udy1LfgGUYS6ZXuX6JyhNoKrauyMK9HRTHifgRrPPlxA=; 7:sEIyNMVCEdQT9VT+faqt/kdobGrDFv3CPvSMYPp9A9OPwYK078NUCOlqcYh2NWwimoNESy1Bp7pYtjGgh77UG2AmGz+ootepveFL1/FROisyiZXXF5A1RiTmHMyTvpkc5zlDZ7nNdVrssM5fv79hhD+8a0O4dp9o3lxKQVFvBj+XiPeBaSZYRW/eUK4pj/SYZ5zhg27rGSWyLcFeIt1nnkHcDE3Q5OtMPyJO+CNLeRDo6m8pLXKfLmBYansT4Mhs SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Sep 2018 06:09:23.0694 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 72c4968a-9a66-45b2-5c78-08d6193f7415 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR04MB1529 Subject: [dpdk-dev] [PATCH 01/10] doc: add caam jr cryptodev details X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" From: Hemant Agrawal Signed-off-by: Hemant Agrawal --- doc/guides/cryptodevs/caam_jr.rst | 159 ++++++++++++++++++++++++++++++ doc/guides/cryptodevs/index.rst | 1 + 2 files changed, 160 insertions(+) create mode 100644 doc/guides/cryptodevs/caam_jr.rst diff --git a/doc/guides/cryptodevs/caam_jr.rst b/doc/guides/cryptodevs/caam_jr.rst new file mode 100644 index 000000000..0ee501506 --- /dev/null +++ b/doc/guides/cryptodevs/caam_jr.rst @@ -0,0 +1,159 @@ +.. SPDX-License-Identifier: BSD-3-Clause + Copyright 2017 NXP + + +NXP CAAM JOB RING (caam_jr) +=========================== + +The caam_jr PMD provides poll mode crypto driver support for NXP SEC 4.x+ (CAAM) +hardware accelerator. More information is available at: + +`NXP Cryptographic Acceleration Technology `_. + +Architecture +------------ + +SEC is the SOC's security engine, which serves as NXP's latest cryptographic +acceleration and offloading hardware. It combines functions previously +implemented in separate modules to create a modular and scalable acceleration +and assurance engine. It also implements block encryption algorithms, stream +cipher algorithms, hashing algorithms, public key algorithms, run-time +integrity checking, and a hardware random number generator. SEC performs +higher-level cryptographic operations than previous NXP cryptographic +accelerators. This provides significant improvement to system level performance. + +SEC HW accelerator above 4.x+ version are also known as CAAM. + +caam_jr PMD is one of DPAA drivers which uses uio interface to interact with +Linux kernel for configure and destroy the device instance (ring). + + +Implementation +-------------- + +SEC provides platform assurance by working with SecMon, which is a companion +logic block that tracks the security state of the SOC. SEC is programmed by +means of descriptors (not to be confused with frame descriptors (FDs)) that +indicate the operations to be performed and link to the message and +associated data. SEC incorporates two DMA engines to fetch the descriptors, +read the message data, and write the results of the operations. The DMA +engine provides a scatter/gather capability so that SEC can read and write +data scattered in memory. SEC may be configured by means of software for +dynamic changes in byte ordering. The default configuration for this version +of SEC is little-endian mode. + +Note that one physical Job Ring represent one caam_jr device. + +Features +-------- + +The CAAM_JR PMD has support for: + +Cipher algorithms: + +* ``RTE_CRYPTO_CIPHER_3DES_CBC`` +* ``RTE_CRYPTO_CIPHER_AES128_CBC`` +* ``RTE_CRYPTO_CIPHER_AES192_CBC`` +* ``RTE_CRYPTO_CIPHER_AES256_CBC`` +* ``RTE_CRYPTO_CIPHER_AES128_CTR`` +* ``RTE_CRYPTO_CIPHER_AES192_CTR`` +* ``RTE_CRYPTO_CIPHER_AES256_CTR`` + +Hash algorithms: + +* ``RTE_CRYPTO_AUTH_SHA1_HMAC`` +* ``RTE_CRYPTO_AUTH_SHA224_HMAC`` +* ``RTE_CRYPTO_AUTH_SHA256_HMAC`` +* ``RTE_CRYPTO_AUTH_SHA384_HMAC`` +* ``RTE_CRYPTO_AUTH_SHA512_HMAC`` +* ``RTE_CRYPTO_AUTH_MD5_HMAC`` + +AEAD algorithms: + +* ``RTE_CRYPTO_AEAD_AES_GCM`` + +Supported DPAA SoCs +-------------------- + +* LS1046A/LS1026A +* LS1043A/LS1023A +* LS1028A +* LS1012A + +Limitations +----------- + +* Hash followed by Cipher mode is not supported +* Only supports the session-oriented API implementation (session-less APIs are not supported). + +Prerequisites +------------- + +caam_jr driver has following dependencies are not part of DPDK and must be installed separately: + +* **NXP Linux SDK** + + NXP Linux software development kit (SDK) includes support for the family + of QorIQ® ARM-Architecture-based system on chip (SoC) processors + and corresponding boards. + + It includes the Linux board support packages (BSPs) for NXP SoCs, + a fully operational tool chain, kernel and board specific modules. + + SDK and related information can be obtained from: `NXP QorIQ SDK `_. + +Currently supported by DPDK: + +* NXP SDK **18.09+**. +* Supported architectures: **arm64 LE**. + +* Follow the DPDK :ref:`Getting Started Guide for Linux ` to setup the basic DPDK environment. + +Pre-Installation Configuration +------------------------------ + +Config File Options +~~~~~~~~~~~~~~~~~~~ + +The following options can be modified in the ``config`` file +to enable caam_jr PMD. + +Please note that enabling debugging options may affect system performance. + +* ``CONFIG_RTE_LIBRTE_PMD_CAAM_JR`` (default ``n``) + By default it is only enabled in common_armv8a_linuxapp config. + Toggle compilation of the ``librte_pmd_caam_jr`` driver. + +* ``CONFIG_RTE_LIBRTE_PMD_CAAM_JR_BE`` (default ``n``) + By default it is disabled. + It can be used when the underlying hardware supports the CAAM in BE mode. + e.g. LS1043A, LS1046A supports CAAM in BE mode. + +* ``CONFIG_RTE_LIBRTE_PMD_CAAM_JR_DEBUG`` (default ``n``) + By default it is disabled. + It can be used enabled debug mode. + +* ``CONFIG_RTE_CAAM_JR_PMD_MAX_NB_SESSIONS`` + By default it is set as 2048 in common_base config. + It indicates Number of sessions to create in the session memory pool + on a single caam_jr device. + + +Installations +------------- +To compile the caam_jr PMD for Linux arm64 gcc target, run the +following ``make`` command: + +.. code-block:: console + + cd + make config T=arm64-armv8a-linuxapp-gcc install + +Enabling logs +------------- + +For enabling logs, use the following EAL parameter: + +.. code-block:: console + + ./your_crypto_application --log-level=pmd.crypto.caam, diff --git a/doc/guides/cryptodevs/index.rst b/doc/guides/cryptodevs/index.rst index e9928a4e2..7dddeec8a 100644 --- a/doc/guides/cryptodevs/index.rst +++ b/doc/guides/cryptodevs/index.rst @@ -13,6 +13,7 @@ Crypto Device Drivers aesni_mb aesni_gcm armv8 + caam_jr ccp dpaa2_sec dpaa_sec