From mboxrd@z Thu Jan 1 00:00:00 1970 From: Pablo de Lara Subject: [PATCH] doc: update the snow3g library information Date: Fri, 1 Apr 2016 12:23:57 +0100 Message-ID: <1459509837-41193-1-git-send-email-pablo.de.lara.guarch@intel.com> Cc: declan.doherty@intel.com, Pablo de Lara To: dev@dpdk.org, john.mcnamara@intel.com Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by dpdk.org (Postfix) with ESMTP id 8569729D2 for ; Fri, 1 Apr 2016 13:23:52 +0200 (CEST) List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" A new process to request the libsso library required by the SNOW3G PMD has been put in place, through a website, replacing the previous email method. This commit updates the SNOW3G documentation, to reflect this change. Since the library does not support newer gcc versions, the documentation also contains a patch to make the library work with gcc > 5.0. Signed-off-by: Pablo de Lara --- doc/guides/cryptodevs/snow3g.rst | 41 ++++++++++++++++++++++++++++++++-------- 1 file changed, 33 insertions(+), 8 deletions(-) diff --git a/doc/guides/cryptodevs/snow3g.rst b/doc/guides/cryptodevs/snow3g.rst index b4c53dc..7e38d20 100644 --- a/doc/guides/cryptodevs/snow3g.rst +++ b/doc/guides/cryptodevs/snow3g.rst @@ -57,15 +57,40 @@ Limitations Installation ------------ -To build DPDK with the SNOW3G_PMD the user is required to get -the export controlled libsso library, sending a request to -`DPDKUser_software_access@intel.com`, and compile it -on their user system before building DPDK: +To build DPDK with the SNOW3G_PMD the user is required to download +the export controlled ``libsso`` library, by requesting it from +``_, +and compiling it on their system before building DPDK:: -.. code-block:: console + make -f Makefile_snow3g - make -f Makefile_snow3g +**Note**: If using a gcc version higher than 5.0, and compilation fails, apply the following patch: -The environmental variable LIBSSO_PATH must be exported with the path +.. code-block:: diff + + /libsso/src/snow3g/sso_snow3g.c + + static inline void ClockFSM_4(sso_snow3gKeyState4_t *pCtx, __m128i *data) + { + __m128i F, R; + - uint32_t K, L; + + uint32_t K; + + /* Declare unused if SNOW3G_WSM/SNB are defined */ + + uint32_t L __attribute__ ((unused)) = 0; + + F = _mm_add_epi32(pCtx->LFSR_X[15], pCtx->FSM_X[0]); + R = _mm_xor_si128(pCtx->LFSR_X[5], pCtx->FSM_X[2]); + + /libsso/include/sso_snow3g_internal.h + + -inline void ClockFSM_1(sso_snow3gKeyState1_t *pCtx, uint32_t *data); + -inline void ClockLFSR_1(sso_snow3gKeyState1_t *pCtx); + -inline void sso_snow3gStateInitialize_1(sso_snow3gKeyState1_t * pCtx, sso_snow3g_key_schedule_t *pKeySched, uint8_t *pIV); + +void ClockFSM_1(sso_snow3gKeyState1_t *pCtx, uint32_t *data); + +void ClockLFSR_1(sso_snow3gKeyState1_t *pCtx); + +void sso_snow3gStateInitialize_1(sso_snow3gKeyState1_t * pCtx, sso_snow3g_key_schedule_t *pKeySched, uint8_t *pIV); + + +The environmental variable ``LIBSSO_PATH`` must be exported with the path where you extracted and built the libsso library and finally set -CONFIG_RTE_LIBRTE_PMD_SNOW3G=y in config/common_base. +``CONFIG_RTE_LIBRTE_PMD_SNOW3G=y`` in ``config/common_base``. -- 2.5.5