All of lore.kernel.org
 help / color / mirror / Atom feed
* [[PATCH v2 01/29] cst :update to a292f9d
@ 2017-04-26  3:28 Chunrong Guo
  2017-04-26  3:28 ` [[PATCH v2 02/29] dpl-examples:update to cea280f Chunrong Guo
                   ` (27 more replies)
  0 siblings, 28 replies; 29+ messages in thread
From: Chunrong Guo @ 2017-04-26  3:28 UTC (permalink / raw)
  To: meta-freescale; +Cc: zongchun.yu, chunrong.guo

From: Chunrong Guo <chunrong.guo@nxp.com>

   *include the following changes
    a292f9d - Change year format in COPYING file
    fb20b2b - Add NXP copyright in COPYING file
    4e6b30b - Add NXP Copyright to files created/modified after 2016-11-07
    d5c123b - Change platform name in input files for sd and nand boot
    fe94a1a - Add support for nand secure boot to powerpc platforms
    ff1f63c - Merge pull request #49 in SDK/cst from ~B57223/cst-create-pbi:master to master
    7c815ad - Correct check_field_length function definition
    af8de9a - Merge pull request #48 in SDK/cst from ~B57223/cst-create-pbi:feature/ls1021_sd_boot to master
    5a9d935 - Input files for SD secure boot
    69cfefb - Added a new field in input file of pbi creation
    1bd1235 - LS1021ATWR: Moved input file location
    395cd67 - Merge pull request #46 in SDK/cst from feature/ls1021_sd_boot to master
    d592cfc - LS1021ATWR: Modifications in previous patches for sd sec boot
    f5461bb - LS1021ATWR: input files to be used for signing images
    a54adbd - LS1021ATWR: Sample input file for PBI creation tool
    ec264fc - LS1021ATWR: Modify tool for ACS write functionality
    a68286a - LS1021ATWR: Create tool to add pbi commands for sd secure
    6f08868 - Merge pull request #43 in SDK/cst from ~B57231/cst:feature/QSDK-3343 to master
    70c7c6b - Merge pull request #42 in SDK/cst from ~B57223/cst-create-pbi:master to feature/ls1021_sd_boot
    7ace9c7 - LS2080A: Changes for IE key Extension feature
    d0d1bef - LS1012ARDB: Change kernel entry point in ie key input file
    6ef3aeb - LS1012: Change entry point of kernel in inputfile
    b4c5d98 - LS1088 : Input files for IE key extension feature
    b840665 - LS2088 :PPA input file & updates headers addresses
    b5c6b02 - Add input files for LS1088 QSPI target

Signed-off-by: Chunrong Guo <B40290@freescale.com>
---
 recipes-devtools/cst/cst_git.bb | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/recipes-devtools/cst/cst_git.bb b/recipes-devtools/cst/cst_git.bb
index 25f89af..135d27c 100644
--- a/recipes-devtools/cst/cst_git.bb
+++ b/recipes-devtools/cst/cst_git.bb
@@ -2,16 +2,15 @@ SUMMARY = "utility for security boot"
 SECTION = "cst"
 LICENSE = "BSD"
 
-# TODO: fix license - this file is not a license
-LIC_FILES_CHKSUM = "file://common/include/global.h;endline=26;md5=e31e31c35cc53f6fba7e3c4e9baf4339"
+LIC_FILES_CHKSUM = "file://COPYING;md5=e959d5d617e33779d0e90ce1d9043eff"
 
 DEPENDS += "openssl"
 RDEPENDS_${PN} = "bash"
 
 inherit kernel-arch
 
-SRC_URI = "git://git.freescale.com/ppc/sdk/cst.git;branch=sdk-v2.0.x"
-SRCREV = "67ee75303916fc60dfd68ba1920932f57a8b9e94"
+SRC_URI = "git://git.freescale.com/ppc/sdk/cst.git;nobranch=1"
+SRCREV = "a292f9d52c9e5837a4836436f7540f1b0c01db92"
 
 S = "${WORKDIR}/git"
 
-- 
1.9.0



^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [[PATCH v2 02/29] dpl-examples:update to cea280f
  2017-04-26  3:28 [[PATCH v2 01/29] cst :update to a292f9d Chunrong Guo
@ 2017-04-26  3:28 ` Chunrong Guo
  2017-04-26  3:28 ` [[PATCH v2 03/29] ls2088ardb: Add machine config file Chunrong Guo
                   ` (26 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: Chunrong Guo @ 2017-04-26  3:28 UTC (permalink / raw)
  To: meta-freescale; +Cc: zongchun.yu, chunrong.guo

From: Chunrong Guo <chunrong.guo@nxp.com>

       *include the following changes
	cea280f - Merge pull request #101 in DPAA2/dpl-examples from ls2088a to master
	48d3ed0 - Merge pull request #102 in DPAA2/dpl-examples from ls1088a to master
	dfd7820 - Merge pull request #103 in DPAA2/dpl-examples from ls2080a to master
	628c6c1 - Merge pull request #104 in DPAA2/dpl-examples from ls2085a to master
	5dd1e38 - ls2088a: add copyright and license to all dts files
	0aa371e - ls1088a: add copyright and license to all dts files
	0a35813 - ls2080a: add copyright and license to all dts files
	e8376e9 - ls2085a: add copyright and license to all dts files
	e02d126 - Merge pull request #92 in DPAA2/dpl-examples from ls2088a to master
	93846a0 - ls2088a: regenerate dtb files to reflect changes in dts
	55f14af - Merge pull request #90 in DPAA2/dpl-examples from ls1088a to master
	5191a60 - Merge pull request #89 in DPAA2/dpl-examples from ls2080a to master
	87ad3dd - Merge pull request #88 in DPAA2/dpl-examples from ls2085a to master
	e4c5247 - Merge pull request #87 in DPAA2/dpl-examples from ls2088a to master
	7f0f743 - ls2088a: rename DTS/DTB filenames in order to comply to the naming-rule
	9769879 - ls2088a: move custom DPL/DPCs into a designated folder
	d4483e6 - ls2085a: move custom DPL/DPCs into a designated folder
	2e47868 - ls2080a: move custom DPL/DPCs into a designated folder
	57ecdea - ls1088a: move custom DPL/DPCs into a designated folder
	7948392 - Merge pull request #82 in DPAA2/dpl-examples from ls2088a to master
	ef6717b - ls2088a: fix starting dpio index
	acad100 - Merge pull request #80 in DPAA2/dpl-examples from ls2085a to master
	93e50c0 - Merge pull request #79 in DPAA2/dpl-examples from ls2080a to master
	40026cb - Merge pull request #78 in DPAA2/dpl-examples from ls2088a to master
	c12a26d - Merge pull request #77 in DPAA2/dpl-examples from ls1088a to master
	4e2d298 - Merge pull request #72 in DPAA2/dpl-examples from ~B55220/dpl-examples:ls2088a to ls2088a
	dde06c5 - ls1088a: change index of DPNI to 0
	d79c0a2 - AIOPSL-1001: Added new dpc file for ADKs with increased BMAN buffers
	609c1e8 - ls2088a: add flow steering/hashing specialized DPL
	727ebcf - ls2080a: add dtb files for QDS and RDB
	0d18fd7 - ls2080a: update DPLs to MC10.x version
	a0656ec - ls2085a: add dtb files for QDS and RDB
	5635219 - ls2085a: update DPLs to MC10.x version
	75a256d - ls2080a: rename files in order to follow a convention
	43f4fbb - ls2085a: rename files in order to follow a convention
	3d12541 - ls2088a: refactor object declaration
	debf636 - ls2088a: rename files in order to follow a convention
	ed3b0d7 - ls1088a: refactor object declaration
	3c0f2ac - ls1088a: rename files in order to follow a convention
	ec92c4e - Merge pull request #70 in DPAA2/dpl-examples from ls2088a to master
	e42328d - ls1088a: added dpl for NSP
	e1a0817 - ls2088a: Add dtb files for QDS and RDB
	5cf8ccd - ls2088a: Added versioning support to DPLs
	1660e6c - ls1088a: Add dtb files for QDS and RDB
	0d69b43 - ls1088a: Added versioning support to DPLs
	59bee84 - ls1088a: add more DPMCPs
	c7b51df - ls1088a: QDS: add dprtc object to support dpaa2 1588 driver
	833f9fc - ls1088a: RDB: add dprtc object to support dpaa2 1588 driver
	0737ab2 - Add more DPMCPs for each of the DPMACs
	05c433f - dts: Updated ls1088 DPL/DPC
	d7a93a4 - Update wq_ch_conversion to 24 for both QDS and RDB
	ad0ec82 - Added DPMACs and DPIOs to objects node
	d306562 - ls1088a-qds: Add DPL and DPC files
	449f183 - ls1088a-rdb: Add DPC file
	49e0208 - ls1088a-rdb: Update DPL file
	dddd5e5 - ls2088: change wq_ch_conversion value to 32
	4cb3f63 - ls2085aqds: Increase number of 2-WQ channels
	576f37b - Remove obsolete "compatible" properties
	3d09df2 - 2088ardb: Connect dpni1 to dpmac5
	60874e4 - ls2088aqds: Add DPC and DPL for SERDES configuration 0x4d_0x57
	d9f27e6 - Merge pull request #55 in DPAA2/dpl-examples from ~B05472/dpl-examples:dpl_ls2088a to master
	307ad01 - Merge pull request #52 in DPAA2/dpl-examples from ~B44149/dpl-examples:master to master
	2924b1b - Merge pull request #45 in DPAA2/dpl-examples from ~B32168/dpl-examples:master to master
	7916347 - ls2088aqds: Rename DPL file
	eb30fb2 - ls2088ardb: Use DPL from ls2085ardb
	f9b5094 - ls2088ardb: Add DPSW example
	07e57ba - Merge pull request #54 in DPAA2/dpl-examples from ~B39531/dpl-examples:ls2088a-rdb to master
	a2eae0a - DPL and DPC for LS2088A RDB
	8b5cc0f - DPL and DPC for LS2088A QDS
	ef66a78 - Update copyright details

Signed-off-by: Chunrong Guo <B40290@freescale.com>
---
 recipes-dpaa2/dpl-examples/dpl-examples_git.bb | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/recipes-dpaa2/dpl-examples/dpl-examples_git.bb b/recipes-dpaa2/dpl-examples/dpl-examples_git.bb
index aa3ee44..dfa2295 100644
--- a/recipes-dpaa2/dpl-examples/dpl-examples_git.bb
+++ b/recipes-dpaa2/dpl-examples/dpl-examples_git.bb
@@ -6,8 +6,8 @@ DEPENDS = "dtc-native"
 
 inherit deploy
 
-SRC_URI = "git://git.freescale.com/ppc/sdk/dpl-examples.git;branch=sdk-v2.0.x"
-SRCREV = "2f8a6c2c0607b663afd69aa0477c2047f25031ca"
+SRC_URI = "git://git.freescale.com/ppc/sdk/dpl-examples.git;nobranch=1"
+SRCREV = "cea280fd06b9c43fa73f3d9ef629b171cccd0fcd"
 
 S = "${WORKDIR}/git"
 
-- 
1.9.0



^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [[PATCH v2 03/29] ls2088ardb: Add machine config file
  2017-04-26  3:28 [[PATCH v2 01/29] cst :update to a292f9d Chunrong Guo
  2017-04-26  3:28 ` [[PATCH v2 02/29] dpl-examples:update to cea280f Chunrong Guo
@ 2017-04-26  3:28 ` Chunrong Guo
  2017-04-26  3:28 ` [[PATCH v2 04/29] ls2-rcw: add ls2088a as COMPATIBLE_MACHINE Chunrong Guo
                   ` (25 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: Chunrong Guo @ 2017-04-26  3:28 UTC (permalink / raw)
  To: meta-freescale; +Cc: zongchun.yu, chunrong.guo

From: Chunrong Guo <chunrong.guo@nxp.com>

Signed-off-by: Chunrong Guo <B40290@freescale.com>
---
 conf/machine/ls2088ardb.conf | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)
 create mode 100644 conf/machine/ls2088ardb.conf

diff --git a/conf/machine/ls2088ardb.conf b/conf/machine/ls2088ardb.conf
new file mode 100644
index 0000000..9047fae
--- /dev/null
+++ b/conf/machine/ls2088ardb.conf
@@ -0,0 +1,23 @@
+#@TYPE: Machine
+#@NAME: NXP LS2088ARDB
+#@SOC: LSCH3
+#@DESCRIPTION: Machine configuration for running LS2088ARDB in 64-bit mode
+#@MAINTAINER: Zongchun Yu <Zongchun.Yu@nxp.com>
+
+require conf/machine/include/qoriq-arm64.inc
+require conf/machine/include/arm/arch-arm64.inc
+
+MACHINEOVERRIDES =. "fsl-lsch3:ls2088a:"
+
+UBOOT_CONFIG ??= "secure-boot nor"
+UBOOT_CONFIG[nor] = "ls2080ardb_defconfig,,u-boot-dtb.bin"
+UBOOT_CONFIG[secure-boot] = "ls2080ardb_SECURE_BOOT_defconfig,,u-boot-dtb.bin"
+
+KERNEL_DEVICETREE ?= "freescale/fsl-ls2088a-rdb.dtb"
+KERNEL_DEFCONFIG ?= "${S}/arch/arm64/configs/defconfig"
+
+SERIAL_CONSOLES ?= "115200;ttyS0 115200;ttyS1 115200;ttyAMA0"
+SERIAL_CONSOLES_CHECK ?= "${SERIAL_CONSOLES}"
+
+EXTRA_IMAGEDEPENDS += "dpl-examples ls2-phy ls2-rcw management-complex ppa"
+USE_VT = "0"
-- 
1.9.0



^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [[PATCH v2 04/29] ls2-rcw: add ls2088a as COMPATIBLE_MACHINE
  2017-04-26  3:28 [[PATCH v2 01/29] cst :update to a292f9d Chunrong Guo
  2017-04-26  3:28 ` [[PATCH v2 02/29] dpl-examples:update to cea280f Chunrong Guo
  2017-04-26  3:28 ` [[PATCH v2 03/29] ls2088ardb: Add machine config file Chunrong Guo
@ 2017-04-26  3:28 ` Chunrong Guo
  2017-04-26  3:28 ` [[PATCH v2 05/29] ls2-phy: add ls2088ardb " Chunrong Guo
                   ` (24 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: Chunrong Guo @ 2017-04-26  3:28 UTC (permalink / raw)
  To: meta-freescale; +Cc: zongchun.yu, chunrong.guo

From: Chunrong Guo <chunrong.guo@nxp.com>

Signed-off-by: Chunrong Guo <B40290@freescale.com>
---
 recipes-bsp/rcw/ls2-rcw_git.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/recipes-bsp/rcw/ls2-rcw_git.bb b/recipes-bsp/rcw/ls2-rcw_git.bb
index 70d27a0..b4fba4a 100644
--- a/recipes-bsp/rcw/ls2-rcw_git.bb
+++ b/recipes-bsp/rcw/ls2-rcw_git.bb
@@ -29,4 +29,4 @@ addtask deploy before do_build after do_install
 
 PACKAGES += "${PN}-image"
 FILES_${PN}-image += "/boot"
-COMPATIBLE_MACHINE = "(ls1012a|ls2080a)"
+COMPATIBLE_MACHINE = "(ls1012a|ls2080a|ls2088a)"
-- 
1.9.0



^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [[PATCH v2 05/29] ls2-phy: add ls2088ardb as COMPATIBLE_MACHINE
  2017-04-26  3:28 [[PATCH v2 01/29] cst :update to a292f9d Chunrong Guo
                   ` (2 preceding siblings ...)
  2017-04-26  3:28 ` [[PATCH v2 04/29] ls2-rcw: add ls2088a as COMPATIBLE_MACHINE Chunrong Guo
@ 2017-04-26  3:28 ` Chunrong Guo
  2017-04-26  3:28 ` [[PATCH v2 06/29] ppa: Add support for ls2088a Chunrong Guo
                   ` (23 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: Chunrong Guo @ 2017-04-26  3:28 UTC (permalink / raw)
  To: meta-freescale; +Cc: zongchun.yu, chunrong.guo

From: Chunrong Guo <chunrong.guo@nxp.com>

Signed-off-by: Chunrong Guo <B40290@freescale.com>
---
 recipes-bsp/ls2-phy/ls2-phy_git.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/recipes-bsp/ls2-phy/ls2-phy_git.bb b/recipes-bsp/ls2-phy/ls2-phy_git.bb
index 9833769..d21147f 100644
--- a/recipes-bsp/ls2-phy/ls2-phy_git.bb
+++ b/recipes-bsp/ls2-phy/ls2-phy_git.bb
@@ -25,6 +25,6 @@ addtask deploy before do_build after do_install
 PACKAGES += "${PN}-image"
 FILES_${PN}-image += "/boot"
 
-COMPATIBLE_MACHINE = "(ls2080ardb)"
+COMPATIBLE_MACHINE = "(ls2080ardb|ls2088ardb)"
 PACKAGE_ARCH = "${MACHINE_ARCH}"
 
-- 
1.9.0



^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [[PATCH v2 06/29] ppa: Add support for ls2088a
  2017-04-26  3:28 [[PATCH v2 01/29] cst :update to a292f9d Chunrong Guo
                   ` (3 preceding siblings ...)
  2017-04-26  3:28 ` [[PATCH v2 05/29] ls2-phy: add ls2088ardb " Chunrong Guo
@ 2017-04-26  3:28 ` Chunrong Guo
  2017-04-26  3:28 ` [[PATCH v2 07/29] dpl-examples: add ls2088a as COMPATIBLE_MACHINE Chunrong Guo
                   ` (22 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: Chunrong Guo @ 2017-04-26  3:28 UTC (permalink / raw)
  To: meta-freescale; +Cc: zongchun.yu, chunrong.guo

From: Chunrong Guo <chunrong.guo@nxp.com>

Signed-off-by: Chunrong Guo <B40290@freescale.com>
---
 recipes-bsp/ppa/ppa_git.bb | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/recipes-bsp/ppa/ppa_git.bb b/recipes-bsp/ppa/ppa_git.bb
index 421d949..58c7dbf 100644
--- a/recipes-bsp/ppa/ppa_git.bb
+++ b/recipes-bsp/ppa/ppa_git.bb
@@ -15,6 +15,7 @@ EXTRA_OEMAKE = "CC64="${CC}" LD64="${LD}"  OBJ64="${OBJCOPY}""
 
 PPA_PATH ?= "ppa/soc-ls1043/platform-rdb"
 PPA_PATH_ls1046a = "ppa/soc-ls1046/platform-rdb"
+PPA_PATH_ls2088a = "ppa/soc-ls2088/platform-rdb"
 PPA_NAME ?= "ppa-${MACHINE}-${DATETIME}"
 PPA_NAME[vardepsexclude] = "DATETIME"
 
@@ -45,5 +46,5 @@ FILES_${PN}-image += "/boot"
 
 CLEANBROKEN = "1"
 PARALLEL_MAKE = ""
-COMPATIBLE_MACHINE = "(ls1043a|ls1046a)"
+COMPATIBLE_MACHINE = "(ls1043a|ls1046a|ls2088a)"
 PACKAGE_ARCH = "${MACHINE_ARCH}"
-- 
1.9.0



^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [[PATCH v2 07/29] dpl-examples: add ls2088a as COMPATIBLE_MACHINE
  2017-04-26  3:28 [[PATCH v2 01/29] cst :update to a292f9d Chunrong Guo
                   ` (4 preceding siblings ...)
  2017-04-26  3:28 ` [[PATCH v2 06/29] ppa: Add support for ls2088a Chunrong Guo
@ 2017-04-26  3:28 ` Chunrong Guo
  2017-04-26  3:28 ` [[PATCH v2 08/29] restool: add ls2088ardb as COMPATIBLE_MACHIN Chunrong Guo
                   ` (21 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: Chunrong Guo @ 2017-04-26  3:28 UTC (permalink / raw)
  To: meta-freescale; +Cc: zongchun.yu, chunrong.guo

From: Chunrong Guo <chunrong.guo@nxp.com>

Signed-off-by: Chunrong Guo <B40290@freescale.com>
---
 recipes-dpaa2/dpl-examples/dpl-examples_git.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/recipes-dpaa2/dpl-examples/dpl-examples_git.bb b/recipes-dpaa2/dpl-examples/dpl-examples_git.bb
index dfa2295..17946b3 100644
--- a/recipes-dpaa2/dpl-examples/dpl-examples_git.bb
+++ b/recipes-dpaa2/dpl-examples/dpl-examples_git.bb
@@ -25,6 +25,6 @@ addtask deploy before do_build after do_install
 PACKAGES += "${PN}-image"
 FILES_${PN}-image += "/boot"
 
-COMPATIBLE_MACHINE = "(ls2080ardb)"
+COMPATIBLE_MACHINE = "(ls2080ardb|ls2088a)"
 PACKAGE_ARCH = "${MACHINE_ARCH}"
 
-- 
1.9.0



^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [[PATCH v2 08/29] restool: add ls2088ardb as COMPATIBLE_MACHIN
  2017-04-26  3:28 [[PATCH v2 01/29] cst :update to a292f9d Chunrong Guo
                   ` (5 preceding siblings ...)
  2017-04-26  3:28 ` [[PATCH v2 07/29] dpl-examples: add ls2088a as COMPATIBLE_MACHINE Chunrong Guo
@ 2017-04-26  3:28 ` Chunrong Guo
  2017-04-26  3:28 ` [[PATCH v2 09/29] usdpaa-apps:update to 49fce3a Chunrong Guo
                   ` (20 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: Chunrong Guo @ 2017-04-26  3:28 UTC (permalink / raw)
  To: meta-freescale; +Cc: zongchun.yu, chunrong.guo

From: Chunrong Guo <chunrong.guo@nxp.com>

Signed-off-by: Chunrong Guo <B40290@freescale.com>
---
 recipes-dpaa2/restool/restool_git.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/recipes-dpaa2/restool/restool_git.bb b/recipes-dpaa2/restool/restool_git.bb
index e67be12..144a5c5 100644
--- a/recipes-dpaa2/restool/restool_git.bb
+++ b/recipes-dpaa2/restool/restool_git.bb
@@ -15,6 +15,6 @@ do_install () {
     oe_runmake install DESTDIR=${D}
 }
 
-COMPATIBLE_MACHINE = "(ls2080ardb)"
+COMPATIBLE_MACHINE = "(ls2080ardb|ls2088ardb)"
 PACKAGE_ARCH = "${MACHINE_ARCH}"
 
-- 
1.9.0



^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [[PATCH v2 09/29] usdpaa-apps:update to 49fce3a
  2017-04-26  3:28 [[PATCH v2 01/29] cst :update to a292f9d Chunrong Guo
                   ` (6 preceding siblings ...)
  2017-04-26  3:28 ` [[PATCH v2 08/29] restool: add ls2088ardb as COMPATIBLE_MACHIN Chunrong Guo
@ 2017-04-26  3:28 ` Chunrong Guo
  2017-04-26  3:28 ` [[PATCH v2 10/29] usdpaa :update to db0ea70 Chunrong Guo
                   ` (19 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: Chunrong Guo @ 2017-04-26  3:28 UTC (permalink / raw)
  To: meta-freescale; +Cc: zongchun.yu, chunrong.guo

From: Chunrong Guo <chunrong.guo@nxp.com>

   * include the following changes
    49fce3a - Merge pull request #31 in SDK/usdpaa-apps from ~B18196/usdpaa-apps:sdk-v2.0.x to sdk-v2.0.x
    a487b87 - usdpaa_apps: Patch to disable the non-fmc support by default.
    68c4db1 - Merge pull request #29 in SDK/usdpaa-apps from ~B06830/usdpaa-apps:bugfix/QUSDPA-870 to sdk-v2.0.x
    b54f883 - Revert "build: Eliminate the use of implicit rules and rule-specific variables"

Signed-off-by: Chunrong Guo <B40290@freescale.com>
---
 .../openembedded-layer/recipes-dpaa/usdpaa-apps/usdpaa-apps_git.bb    | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/dynamic-layers/openembedded-layer/recipes-dpaa/usdpaa-apps/usdpaa-apps_git.bb b/dynamic-layers/openembedded-layer/recipes-dpaa/usdpaa-apps/usdpaa-apps_git.bb
index c8de693..b60e805 100644
--- a/dynamic-layers/openembedded-layer/recipes-dpaa/usdpaa-apps/usdpaa-apps_git.bb
+++ b/dynamic-layers/openembedded-layer/recipes-dpaa/usdpaa-apps/usdpaa-apps_git.bb
@@ -12,8 +12,8 @@ RDEPENDS_${PN} = "libgcc bash"
 RDEPENDS_${PN}_append_b4860qds = " ipc-ust"
 RDEPENDS_${PN}_append_b4420qds = " ipc-ust"
 
-SRC_URI = "git://git.freescale.com/ppc/sdk/usdpaa/usdpaa-apps.git;branch=sdk-v2.0.x"
-SRCREV = "8fe2e9669650d2f7ed26b43d860228ca0f7211a9"
+SRC_URI = "git://git.freescale.com/ppc/sdk/usdpaa/usdpaa-apps.git;nobranch=1"
+SRCREV = "49fce3aeec2ceb4c7f69f32871f8f0cbc1e04a51"
 
 S = "${WORKDIR}/git"
 
-- 
1.9.0



^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [[PATCH v2 10/29] usdpaa :update to db0ea70
  2017-04-26  3:28 [[PATCH v2 01/29] cst :update to a292f9d Chunrong Guo
                   ` (7 preceding siblings ...)
  2017-04-26  3:28 ` [[PATCH v2 09/29] usdpaa-apps:update to 49fce3a Chunrong Guo
@ 2017-04-26  3:28 ` Chunrong Guo
  2017-04-26  3:28 ` [[PATCH v2 11/29] restool: update SRC_URI to fix fetching Chunrong Guo
                   ` (18 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: Chunrong Guo @ 2017-04-26  3:28 UTC (permalink / raw)
  To: meta-freescale; +Cc: zongchun.yu, chunrong.guo

From: Chunrong Guo <chunrong.guo@nxp.com>

    * include the following changes
      db0ea70 - Merge pull request #95 in SDK/usdpaa from ~B18196/usdpaa:sdk-v2.0.x to sdk-v2.0.x

Signed-off-by: Chunrong Guo <B40290@freescale.com>
---
 recipes-dpaa/usdpaa/usdpaa_git.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/recipes-dpaa/usdpaa/usdpaa_git.bb b/recipes-dpaa/usdpaa/usdpaa_git.bb
index dde8fd9..a4c94d1 100644
--- a/recipes-dpaa/usdpaa/usdpaa_git.bb
+++ b/recipes-dpaa/usdpaa/usdpaa_git.bb
@@ -8,7 +8,7 @@ inherit pkgconfig
 DEPENDS += "flib"
 
 SRC_URI = "git://git.freescale.com/ppc/sdk/usdpaa.git;nobranch=1"
-SRCREV = "7dd9b4eee5346729a83adad491dda979d55ac62b"
+SRCREV = "db0ea70dbb599c07144a6d720539e88b8c5291da"
 
 S = "${WORKDIR}/git"
 
-- 
1.9.0



^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [[PATCH v2 11/29] restool: update SRC_URI to fix fetching
  2017-04-26  3:28 [[PATCH v2 01/29] cst :update to a292f9d Chunrong Guo
                   ` (8 preceding siblings ...)
  2017-04-26  3:28 ` [[PATCH v2 10/29] usdpaa :update to db0ea70 Chunrong Guo
@ 2017-04-26  3:28 ` Chunrong Guo
  2017-04-26  3:28 ` [[PATCH v2 12/29] ppa :update to 9fcb080 Chunrong Guo
                   ` (17 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: Chunrong Guo @ 2017-04-26  3:28 UTC (permalink / raw)
  To: meta-freescale; +Cc: zongchun.yu, chunrong.guo

From: Chunrong Guo <chunrong.guo@nxp.com>

     *fix the below error
     |<50>ERROR: restool-git-r0 do_fetch: Fetcher failure: Unable to find revision eba25cdfdccef45f7ba02dd2f829b9b55198fbb1
     |in branch sdk-v2.0.x even from upstream

Signed-off-by: Chunrong Guo <B40290@freescale.com>
---
 recipes-dpaa2/restool/restool_git.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/recipes-dpaa2/restool/restool_git.bb b/recipes-dpaa2/restool/restool_git.bb
index 144a5c5..ab46fb3 100644
--- a/recipes-dpaa2/restool/restool_git.bb
+++ b/recipes-dpaa2/restool/restool_git.bb
@@ -4,7 +4,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=e613b54e73c0e4a2a8918c61924bd623"
 
 RDEPENDS_${PN} += "bash"
 
-SRC_URI = "git://git.freescale.com/ppc/sdk/restool.git;branch=sdk-v2.0.x"
+SRC_URI = "git://git.freescale.com/ppc/sdk/restool.git;nobranch=1"
 SRCREV = "eba25cdfdccef45f7ba02dd2f829b9b55198fbb1"
 
 S = "${WORKDIR}/git"
-- 
1.9.0



^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [[PATCH v2 12/29] ppa :update to 9fcb080
  2017-04-26  3:28 [[PATCH v2 01/29] cst :update to a292f9d Chunrong Guo
                   ` (9 preceding siblings ...)
  2017-04-26  3:28 ` [[PATCH v2 11/29] restool: update SRC_URI to fix fetching Chunrong Guo
@ 2017-04-26  3:28 ` Chunrong Guo
  2017-04-26  3:28 ` [[PATCH v2 13/29] management-complex: upgrade to 10.1.2 Chunrong Guo
                   ` (16 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: Chunrong Guo @ 2017-04-26  3:28 UTC (permalink / raw)
  To: meta-freescale; +Cc: zongchun.yu, chunrong.guo

From: Chunrong Guo <chunrong.guo@nxp.com>

    *include the following changes
     9fcb080 - Fixing syntax error in $(CMN_SRC).
     ef15fbf - Adding infrastructure for prng driver.
     6cac899 - Merge branch 'master' of http://sw-stash.freescale.net/scm/dnnpi/ppa-generic
     c9eba96 - Fixing syntax error for targets rdb-fit, qds-fit.
     3c0d284 - rdb-fit : Fixed build issue from top level build script
     dacdc9a - Add support for LS1088 qds board.
     8e0136a - Adding infrastructure for qds board support.
     eeabd6d - Suppressed benign error msg when build is not directly from git repo
     7d5a230 - Adding prototype for _init_ddr(); Fixing undefined constants in ls2088 soc.s; Cleanup of sim plat.mk files;Using var ARMV8_
     098f92a - Final merge of ddr init.
     d164d7e - Merge branch 'ddr-init-v01'; This is a non-buildable intermediate commit.
     e77d7e4 - Saving/Restoring additional registers when called from Aarch32; Modified to use one common vector.s file.
     4ebb613 - Cleaning bits 63:32 of input parameter registers when 64-bit function called from 32-bit interface.
     d863875 - Adding cpu hotplug capability to LS1088.
     22b5260 - psci: ls1088a: add CPU_SUSPEND support
     88f85df - Enabling SRE for ICC_SRE_EL1(S) and ICC_SRE_EL1(NS) in GICv3 initialization.
     b686af9 - common/makefile.inc: Fix dependency
     13b87a5 - Changing mode on build script to 'execute'.
     9ca1e42 - Reworked _soc_core_restart() of LS2088 to set interrupt priority and group on the core executing CPU_ON rather than the cor
     3152e62 - Adding support for parallel (make -jn) builds.
     91aeb18 - Reworking cpu_off for LS2080, LS2088; Cleanup _gic_init_percpu
     7c702de - Forcing sequential processing by make.
     d70d1ff - Adding core timer enable in LS2088 _soc_core_entr_off(); Removing endian parameter from smc64_arch_el2_2_aarch32().
     b5342e6 - Adding smp-boot support for the UA device.

Signed-off-by: Chunrong Guo <B40290@freescale.com>
---
 recipes-bsp/ppa/ppa_git.bb | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/recipes-bsp/ppa/ppa_git.bb b/recipes-bsp/ppa/ppa_git.bb
index 58c7dbf..2ea4b6d 100644
--- a/recipes-bsp/ppa/ppa_git.bb
+++ b/recipes-bsp/ppa/ppa_git.bb
@@ -6,8 +6,8 @@ DEPENDS += "u-boot-mkimage-native dtc-native"
 
 inherit deploy
 
-SRC_URI = "git://git.freescale.com/ppc/sdk/ppa-generic.git;branch=sdk-v2.0.x"
-SRCREV = "cb683b7cab76f2d685f54393d3b51dd1d02dac9d"
+SRC_URI = "git://git.freescale.com/ppc/sdk/ppa-generic.git;nobranch=1"
+SRCREV = "9fcb080dd7415927aa3fbabfcba8982bcb1466d3"
 
 S = "${WORKDIR}/git"
 
-- 
1.9.0



^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [[PATCH v2 13/29] management-complex: upgrade to 10.1.2
  2017-04-26  3:28 [[PATCH v2 01/29] cst :update to a292f9d Chunrong Guo
                   ` (10 preceding siblings ...)
  2017-04-26  3:28 ` [[PATCH v2 12/29] ppa :update to 9fcb080 Chunrong Guo
@ 2017-04-26  3:28 ` Chunrong Guo
  2017-04-26  3:28 ` [[PATCH v2 14/29] ls2-rcw: update to 5d4624f Chunrong Guo
                   ` (15 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: Chunrong Guo @ 2017-04-26  3:28 UTC (permalink / raw)
  To: meta-freescale; +Cc: zongchun.yu, chunrong.guo

From: Chunrong Guo <chunrong.guo@nxp.com>

    *support ls2088a

Signed-off-by: Chunrong Guo <B40290@freescale.com>
---
 .../management-complex/management-complex_0.8.4.bb | 36 ----------------------
 .../management-complex_10.1.2.bb                   | 36 ++++++++++++++++++++++
 2 files changed, 36 insertions(+), 36 deletions(-)
 delete mode 100644 recipes-dpaa2/management-complex/management-complex_0.8.4.bb
 create mode 100644 recipes-dpaa2/management-complex/management-complex_10.1.2.bb

diff --git a/recipes-dpaa2/management-complex/management-complex_0.8.4.bb b/recipes-dpaa2/management-complex/management-complex_0.8.4.bb
deleted file mode 100644
index 26cf3d8..0000000
--- a/recipes-dpaa2/management-complex/management-complex_0.8.4.bb
+++ /dev/null
@@ -1,36 +0,0 @@
-SUMMARY = "DPAA2 Management Complex Firmware"
-LICENSE = "Freescale-Binary-EULA"
-LIC_FILES_CHKSUM = "file://Freescale-Binary-EULA;md5=da89ad557c4a497fb005e76c2600cda3"
-
-inherit deploy
-
-INHIBIT_DEFAULT_DEPS = "1"
-
-SRC_URI = "git://git.freescale.com/ppc/sdk/mc-binary.git;branch=sdk-v2.0.x"
-SRCREV = "40e7cc7bfc9b35488394450605d649cb7073051a"
-
-S = "${WORKDIR}/git"
-
-do_install () {
-    install -d ${D}/boot
-    install -m 755 ${S}/ls2080a/*.itb ${D}/boot
-}
-
-do_deploy () {
-    install -d ${DEPLOYDIR}/mc_app
-    install -m 755 ${S}/ls2080a/*.itb ${DEPLOYDIR}/mc_app
-    # make a symlink to the latest binary
-    for mc_binary in `ls ${DEPLOYDIR}/mc_app |sort`;do
-        ln -sfT ${mc_binary} ${DEPLOYDIR}/mc_app/mc.itb
-    done
-}
-addtask deploy before do_build after do_install
-
-PACKAGES += "${PN}-image"
-FILES_${PN}-image += "/boot"
-
-INHIBIT_PACKAGE_STRIP = "1"
-
-COMPATIBLE_MACHINE = "(ls2080ardb)"
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-
diff --git a/recipes-dpaa2/management-complex/management-complex_10.1.2.bb b/recipes-dpaa2/management-complex/management-complex_10.1.2.bb
new file mode 100644
index 0000000..e5fe33b
--- /dev/null
+++ b/recipes-dpaa2/management-complex/management-complex_10.1.2.bb
@@ -0,0 +1,36 @@
+SUMMARY = "DPAA2 Management Complex Firmware"
+LICENSE = "Freescale-Binary-EULA"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=0ef9ba7621bd36f5fef5009fbeb56b00"
+
+inherit deploy
+
+INHIBIT_DEFAULT_DEPS = "1"
+
+SRC_URI = "git://git.freescale.com/ppc/sdk/mc-binary.git;nobranch=1"
+SRCREV = "10db0dfa51c8aa6308d7986355bb8b1a3a34d298"
+
+S = "${WORKDIR}/git"
+
+do_install () {
+    install -d ${D}/boot
+    install -m 755 ${S}/ls2080a/*.itb ${D}/boot
+}
+
+do_deploy () {
+    install -d ${DEPLOYDIR}/mc_app
+    install -m 755 ${S}/ls2080a/*.itb ${DEPLOYDIR}/mc_app
+    # make a symlink to the latest binary
+    for mc_binary in `ls ${DEPLOYDIR}/mc_app |sort`;do
+        ln -sfT ${mc_binary} ${DEPLOYDIR}/mc_app/mc.itb
+    done
+}
+addtask deploy before do_build after do_install
+
+PACKAGES += "${PN}-image"
+FILES_${PN}-image += "/boot"
+
+INHIBIT_PACKAGE_STRIP = "1"
+
+COMPATIBLE_MACHINE = "(ls2080ardb|ls2088a)"
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
-- 
1.9.0



^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [[PATCH v2 14/29] ls2-rcw: update to 5d4624f
  2017-04-26  3:28 [[PATCH v2 01/29] cst :update to a292f9d Chunrong Guo
                   ` (11 preceding siblings ...)
  2017-04-26  3:28 ` [[PATCH v2 13/29] management-complex: upgrade to 10.1.2 Chunrong Guo
@ 2017-04-26  3:28 ` Chunrong Guo
  2017-04-26  3:28 ` [[PATCH v2 15/29] fm-ucode: update to c275e91 Chunrong Guo
                   ` (14 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: Chunrong Guo @ 2017-04-26  3:28 UTC (permalink / raw)
  To: meta-freescale; +Cc: zongchun.yu, chunrong.guo

From: Chunrong Guo <chunrong.guo@nxp.com>

   *include the following changes
    5d4624f - ls2088a: Add RCW with a new SerDes protocol
    fe6844e - board: ls1012aqds: Add support of 0x2205 SerDes protocol
    900340e - ls2088aqds: Add initial RCW binaries
    32c580c - ls2088ardb: Add RCWs for serdes protocl 0x2a_0x41

Signed-off-by: Chunrong Guo <B40290@freescale.com>
---
 recipes-bsp/rcw/ls2-rcw_git.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/recipes-bsp/rcw/ls2-rcw_git.bb b/recipes-bsp/rcw/ls2-rcw_git.bb
index b4fba4a..019ae35 100644
--- a/recipes-bsp/rcw/ls2-rcw_git.bb
+++ b/recipes-bsp/rcw/ls2-rcw_git.bb
@@ -9,7 +9,7 @@ INHIBIT_DEFAULT_DEPS = "1"
 PACKAGE_ARCH = "${MACHINE_ARCH}"
 
 SRC_URI = "git://git.freescale.com/ppc/sdk/ls2-rcw.git;nobranch=1"
-SRCREV = "83a7a661404b760874759073c9f14c8c2c8a9af3"
+SRCREV = "5d4624f74ad2744160060a006b7b5a6359d69142"
 
 S = "${WORKDIR}/git"
 
-- 
1.9.0



^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [[PATCH v2 15/29] fm-ucode: update to c275e91
  2017-04-26  3:28 [[PATCH v2 01/29] cst :update to a292f9d Chunrong Guo
                   ` (12 preceding siblings ...)
  2017-04-26  3:28 ` [[PATCH v2 14/29] ls2-rcw: update to 5d4624f Chunrong Guo
@ 2017-04-26  3:28 ` Chunrong Guo
  2017-04-26  3:28 ` [[PATCH v2 16/29] dpdk: update to a3395d2 Chunrong Guo
                   ` (13 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: Chunrong Guo @ 2017-04-26  3:28 UTC (permalink / raw)
  To: meta-freescale; +Cc: zongchun.yu, chunrong.guo

From: Chunrong Guo <chunrong.guo@nxp.com>

   *include the following changes
    c275e91 - Release Notes update for SDK 2.0-1703
    477ee5f - Added missing image T1040 Reduced NG CAPWAP
    e70cd68 - QSDK-3369: Integrate latest fixes in NG CAPWAP FMan ucode images
    172d4c1 - QSDK-3326: FMan ucode image update for LS1043 / LS1046

Signed-off-by: Chunrong Guo <B40290@freescale.com>
---
 recipes-dpaa/fm-ucode/fm-ucode_git.bb | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/recipes-dpaa/fm-ucode/fm-ucode_git.bb b/recipes-dpaa/fm-ucode/fm-ucode_git.bb
index 5af1814..3217a50 100644
--- a/recipes-dpaa/fm-ucode/fm-ucode_git.bb
+++ b/recipes-dpaa/fm-ucode/fm-ucode_git.bb
@@ -7,8 +7,8 @@ PR = "r1"
 
 inherit deploy
 
-SRC_URI = "git://git.freescale.com/ppc/sdk/fm-ucode.git;branch=sdk-v2.0.x"
-SRCREV = "b19c645821941493fbef32e616b5a16404259976"
+SRC_URI = "git://git.freescale.com/ppc/sdk/fm-ucode.git;nobranch=1"
+SRCREV = "c275e91392e2adab1ed22f3867b8269ca3c54014"
 
 S = "${WORKDIR}/git"
 
@@ -18,8 +18,8 @@ REGLEX_t1040 = "t1040"
 REGLEX_t1042 = "t1040"
 REGLEX_b4420 = "b4860"
 REGLEX_t4160 = "t4240"
-REGLEX_ls1043a = "t2080"
-REGLEX_ls1046a = "t2080"
+REGLEX_ls1043a = "ls1043"
+REGLEX_ls1046a = "ls1046"
 
 do_install () {
     UCODE=`echo ${REGLEX} | sed -e 's,-.*$,,' -e 's,[a-zA-Z]*$,,'`
-- 
1.9.0



^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [[PATCH v2 16/29] dpdk: update to a3395d2
  2017-04-26  3:28 [[PATCH v2 01/29] cst :update to a292f9d Chunrong Guo
                   ` (13 preceding siblings ...)
  2017-04-26  3:28 ` [[PATCH v2 15/29] fm-ucode: update to c275e91 Chunrong Guo
@ 2017-04-26  3:28 ` Chunrong Guo
  2017-04-26  3:28 ` [[PATCH v2 17/29] dpdk-extras :update to 47ee260 Chunrong Guo
                   ` (12 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: Chunrong Guo @ 2017-04-26  3:28 UTC (permalink / raw)
  To: meta-freescale; +Cc: zongchun.yu, chunrong.guo

From: Chunrong Guo <chunrong.guo@nxp.com>

   *include the following changes
    a3395d2 - Merge pull request #310 in GITAM/dpdk from hotfix/DPDK-477-l3fwd-performance to 16.07-qoriq
    cda2d04 - dpaa2: disable bug_on in qbman
    cd7609b - dpaa2: enable virt addressing by default
    0a17438 - dpaa2: fix legal copyright for MC files
    0b5b9f9 - Merge pull request #306 in GITAM/dpdk from ~B35197/dpdk:16.07-qoriq to 16.07-qoriq
    e1ab876 - dpaa_sec: allocate ctx memory from per device mempool in place of malloc
    2fcbd10 - dpaa: fix incorrect header macro name
    23ec077 - dpaa2:pool: removing comments and remove mbuf_size
    ed6da95 - dpaa2: fix 0 buffer release call to qbman
    0bbba9c - dpaa2: update ext for dpl scripts
    8061b41 - dpaa: enable frame queue taildrop for rx queues
    baec797 - dpaa2: compilation warning with GCC 6.1
    b6d8b7c - ext: updating the ext commit
    f5a43ca - dpaa - update the readme files
    27c2b01 - dpaa build check script with debug
    a3e73f0 - dpaa2: remove unused sw annotation and duplicate code for rx buffer layout
    c00e7cb - dpaa2: Handle boundary condition and set invalid bpid properly
    0c4c95f - DPAA:Adding correct flib directories path in Makefile
    5f9295f - dpaa2: in sync with upstream code
    b3926f9 - Merge pull request #289 in GITAM/dpdk from ~B56361/dpdk-b56361:feature/DPDK-359 to 16.07-qoriq
    9c3cb3e - dpaa_sec: boundary check for session and qp logic
    13262d5 - dpaa2: add support for pause frames
    adc1fe1 - Merge pull request #292 in GITAM/dpdk from ~B35197/dpdk:16.07-qoriq to 16.07-qoriq
    306942a - dpaa2: Improve mbuf-fd conversion routines to support fragmentation
    3a363b7 - Merge pull request #294 in GITAM/dpdk from ~B27504/dpdk:16.07-qoriq to 16.07-qoriq
    d85e655 - dpaa1: Add functionality to enable/disable multicast ethernet frames
    690eb31 - Merge pull request #293 in GITAM/dpdk from ~B10814/dpdk:16.07-qoriq to 16.07-qoriq
    585f8bc - ethdev: prevent duplicate event callback
    4534008 - eal/arm: fix file descriptor leak when getting CPU features
    ce66837 - app/testpmd: fix timeout in Rx queue flushing
    68f549a - app/testpmd: fix RSS hash key size
    3e65873 - app/testpmd: fix help of MTU set commmand
    011af8b - pmdinfogen: fix clang build
    1fbb214 - examples/qos_sched: fix dequeue from ring
    cbe4f1e - examples/l2fwd-crypto: fix verify with decrypt in chain
    c1a7e72 - examples/ipsec-secgw: check SP only when setup
    c7e10ca - timer: fix lag delay
    34405e3 - vhost: fix Windows VM hang
    d30eb3f - tools: fix virtio interface name when binding
    24d1523 - tools: fix json output of pmdinfo
    f198525 - Merge pull request #291 in GITAM/dpdk from ~B46179/dpdk_rebase:16.07-qoriq to 16.07-qoriq
    60e04ab - IP_FRAG: Updating correct packet type in fragmented packets
    5c13b51 - DPAA:Adding refcount support in ethernet driver
    9355023 - net/dpaa2: add support for free buffer count
    249254f - Merge pull request #285 in GITAM/dpdk from ~B35197/dpdk:16.07-qoriq to 16.07-qoriq
    69eda52 - dpaa_sec: implement attach/detach qp with session apis
    0038181 - ipsec-secgw: attach session to a queue pair
    5b2a271 - cryptodev: add apis to attach session with queue pair
    0a9ad9f - cryptodev: add max_nb_session_per_qp parameter in rte_cryptodev_info.sym
    5777555 - Merge pull request #287 in GITAM/dpdk from ~B10814/dpdk:16.07-qoriq to 16.07-qoriq
    505624c - dpaa1: fix coverity reported issues
    da4765d - dpaa2: fix the coverity reported issues
    cb0fa4e - dpaa2: upgrade MC to 10.1.0
    5e45742 - DPAA: Removing usage of shared portals in QBMAN
    2e9ee37 - DPAA: Adding perf optimizations in qman
    e16eac0 - DPAA: Adding performance optimizations in ethernet driver
    a08afad - DPAA: Adding L3_IPV4_EXT as supported ptype
    1387949 - DPAA: Correcting the Parse results masks
    dd7ea75 - mk: fix build of assembly files for ARM64
    5cd5587 - flib/rta: fix HMAC key size in cnstr_shdsc_hmac()
    c686a81 - crypto/dpaa2_sec: add per device mempool to store frame list entries
    575b661 - Merge pull request #279 in GITAM/dpdk from ~B10814/dpdk:16.07-qoriq to 16.07-qoriq
    ff60419 - Merge pull request #274 in GITAM/dpdk from ~B46179/dpdk_rebase:16.07-qoriq to 16.07-qoriq
    9b4d9da - IP_RSMBL: Removing compilation failure from IP_Reassembly
    588049f - DPAA: Adding checksum offload support for SG use-case
    774a5e7 - dpaa: removing unused dtsec registers and routines
    dc00642 - dpaa: add support for unicast mac addr filters
    0c047b3 - dpaa: removing warning with 32 bit compilation
    4cf6c40 - mbuf: use pktmbuf helper to create the pool
    ee78cc9 - fsl_qbman: ceetm: fix parsing of lni and sp id ranges
    6a80c9c - fsl_qbman: fix bman debugfs endianness
    bd9d970 - fsl_qbman: fix kernel doc comments
    0922755 - fsl_qbman: ceetm: add missing endianness conversions
    704abbb - fsl_qman: Fix endianness in ccgr query
    c299629 - fsl_qman: Fix endianness class queue query
    5638a2c - fsl_qbman: Fix endianness for wq query

Signed-off-by: Chunrong Guo <B40290@freescale.com>
---
 recipes-extended/dpdk/dpdk_16.07.bb | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/recipes-extended/dpdk/dpdk_16.07.bb b/recipes-extended/dpdk/dpdk_16.07.bb
index 89c2558..ee0fcca 100644
--- a/recipes-extended/dpdk/dpdk_16.07.bb
+++ b/recipes-extended/dpdk/dpdk_16.07.bb
@@ -13,7 +13,7 @@ SRC_URI = "git://git.freescale.com/ppc/sdk/dpdk.git;nobranch=1 \
     file://add-RTE_KERNELDIR_OUT-to-split-kernel-bu.patch \
     file://0001-include-sys-sysmacros.h-for-major-minor-defintions.patch \
 "
-SRCREV = "34b69f9ab1af11db43df2d616be1c1f20feef70b"
+SRCREV = "a3395d24774a8a7a2ce0d56a92a8ad2895b2ae8c"
 
 S = "${WORKDIR}/git"
 
@@ -40,7 +40,7 @@ do_install() {
     oe_runmake EXTRA_LDFLAGS="-L${STAGING_LIBDIR} --hash-style=gnu" T="${RTE_TARGET}" DESTDIR="${D}" install
 
     # Build and install the DPDK examples
-    for APP in examples/l2fwd examples/l3fwd examples/l2fwd-crypto examples/ipsec-secgw examples/kni; do
+    for APP in examples/l2fwd examples/l3fwd examples/l2fwd-crypto examples/ipsec-secgw examples/kni examples/ip_fragmentation examples/ip_reassembly; do
         oe_runmake EXTRA_LDFLAGS="-L${STAGING_LIBDIR} --hash-style=gnu"  -C ${APP}
 
         [ ! -d ${D}/${bindir}/dpdk-example ] && install -d 0644 ${D}/${bindir}/dpdk-example
@@ -75,6 +75,10 @@ FILES_${PN}-dbg += "${bindir}/dpdk-example/.debug \
     ${datadir}/examples/l3fwd/build/app/.debug \
     ${datadir}/examples/ipsec-secgw/build/.debug \
     ${datadir}/examples/ipsec-secgw/build/app/.debug \
+    ${datadir}/examples/ip_fragmentation/build/.debug \
+    ${datadir}/examples/ip_fragmentation/build/app/.debug \
+    ${datadir}/examples/ip_reassembly/build/.debug \
+    ${datadir}/examples/ip_reassembly/build/app/.debug \
 "
 FILES_${PN}-dev += "${datadir}/mk ${datadir}/scripts \
     ${datadir}/${RTE_TARGET} \
-- 
1.9.0



^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [[PATCH v2 17/29] dpdk-extras :update to 47ee260
  2017-04-26  3:28 [[PATCH v2 01/29] cst :update to a292f9d Chunrong Guo
                   ` (14 preceding siblings ...)
  2017-04-26  3:28 ` [[PATCH v2 16/29] dpdk: update to a3395d2 Chunrong Guo
@ 2017-04-26  3:28 ` Chunrong Guo
  2017-04-26  3:28 ` [[PATCH v2 18/29] u-boot:update to a06b209 Chunrong Guo
                   ` (11 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: Chunrong Guo @ 2017-04-26  3:28 UTC (permalink / raw)
  To: meta-freescale; +Cc: zongchun.yu, chunrong.guo

From: Chunrong Guo <chunrong.guo@nxp.com>

   *include the following changes
    47ee260 - dpaa2: sync dynamic DPL creation and destroy scripts
    210d969 - dpaa2: set platform specific value for QoS entries
    31f9b14 - Adding BSD License - COPYING
    be5e732 - Merge pull request #12 in GITAM/dpdk-extras from ~B46179/dpdk-extras:master to master
    d0f97d4 - Removing LICENSE.GPL file

Signed-off-by: Chunrong Guo <B40290@freescale.com>
---
 recipes-extended/dpdk/dpdk-extras_git.bb | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/recipes-extended/dpdk/dpdk-extras_git.bb b/recipes-extended/dpdk/dpdk-extras_git.bb
index a18c467..098766d 100644
--- a/recipes-extended/dpdk/dpdk-extras_git.bb
+++ b/recipes-extended/dpdk/dpdk-extras_git.bb
@@ -1,12 +1,12 @@
 DESCRIPTION = "Data Plane Development Kit Extended utilities"
 HOMEPAGE = "http://dpdk.org"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://LICENSE.GPL;md5=751419260aa954499f7abaabaa882bbe"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d65993a77975d92d8125471e44ab0b21"
 
 RDEPENDS_${PN} = "dpdk"
 
 SRC_URI = "git://git.freescale.com/ppc/sdk/dpdk-extras.git;nobranch=1"
-SRCREV = "ebc515aad0605ad90d8ade5c1fde60d8da86973f"
+SRCREV = "47ee260f878d83154aeb69d9f84819ce76cc1567"
 
 S = "${WORKDIR}/git"
 
-- 
1.9.0



^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [[PATCH v2 18/29] u-boot:update to a06b209
  2017-04-26  3:28 [[PATCH v2 01/29] cst :update to a292f9d Chunrong Guo
                   ` (15 preceding siblings ...)
  2017-04-26  3:28 ` [[PATCH v2 17/29] dpdk-extras :update to 47ee260 Chunrong Guo
@ 2017-04-26  3:28 ` Chunrong Guo
  2017-04-26  3:28 ` [[PATCH v2 19/29] pkc-firmware: update to 209e0e6 Chunrong Guo
                   ` (10 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: Chunrong Guo @ 2017-04-26  3:28 UTC (permalink / raw)
  To: meta-freescale; +Cc: zongchun.yu, chunrong.guo

From: Chunrong Guo <chunrong.guo@nxp.com>

    *include the following changes
    a06b209 - ls1012aqds:Copyright added in file ls1012aqds_pfe.h
    f3fa3db - Merge pull request #200 in SDK/u-boot-devel from jira/QUBOOT-2516 to master
    ad74937 - armv8/fsl-layerscape: fdt: On ls1012 don't check sysclk for USB
    436ad38 - T1042RDB: Remove nand secure boot compilation error
    af36232 - Merge pull request #197 in SDK/u-boot-devel from jira/QSDK-3498 to master
    6cae345 - Merge pull request #194 in SDK/u-boot-devel from jira/QUBOOT-2432 to master
    15d85eb - armv8: ls1046aqds: enable ppa in defconfig
    9ac8b14 - armv8: ls1046aqds: added ppa support
    50dc1ec - config: fsl-ppa: support load PPA from eMMC/SD and NAND Flash
    4185ac3 - fsl PPA: add support PPA image loading from NAND and SD
    be143b2 - mtd: nand: remove nand size print from nand_init function
    17c7a0c - mtd: nand: add initialization flag
    1b99b67 - Merge pull request #195 in SDK/u-boot-devel from jira/QUBOOT-2448 to master
    7f6bb70 - Merge pull request #193 in SDK/u-boot-devel from jira/QUBOOT-2485 to master
    f4ea06d - armv8/fsl-layerscape: fdt: replace CONFIG_ARCH_LS1012A with CONFIG_LS1012A
    a2acee2 - cmd: move CMD_PXE to Kconfig
    74233ce - cmd: Convert CMD_BOOTMENU
    8a82416 - powerpc: e6500: Lock/unlock 1 cache instead of L1 as init_ram
    ba5e636 - Merge pull request #191 in SDK/u-boot-devel from jira/QUBOOT-2338 to master
    99cab9b - Merge pull request #189 in SDK/u-boot-devel from jira/QUBOOT-2438 to master
    c6a1023 - armv8: dts: fsl-ls1012a: Change number of CS in SPI node
    ddc2ade - spi: fsl_qspi: Add support for one chip select
    905d419 - Merge pull request #188 in SDK/u-boot-devel from jira/QUBOOT-1949 to master
    f47bef7 - arm: ls1043ardb: Add NAND secure boot target
    0d3329b - arm: ls1046ardb: Add SD secure boot target
    5cbd88a - arm: ls1043ardb: Add SD secure boot target
    9b61565 - crypto/fsl : Reduce the size of CAAM driver for SPL Build
    fd4214e - LS1046ARDB: SPL size reduction in case of non-xip boot
    b6fb53f - LS1043ARDB: SPL size reduction in case of non-xip boot
    390b399 - armv8/ls104xa: remove the DDR interactive debugging info from SPL
    7b996bc - board: freescale: Enable PSCI on LS2080A
    7deaf93 - pci: layerscape: Add support ls2088a kernel DT node fixup
    79bbfc9 - pci: layerscape: add LS2088A series SoC pcie support
    ea5c6e4 - ls1012aqds:Fix up for 1G and 2.5G interface
    0dffcb8 - board: ls1012aqds: Update PHY address for AQR 105 riser card
    7069777 - board: ls1012aqds: Add support of 2.5G X-SGMII riser card
    634cf94 - driver: net: pfe: Configure internal MAC to support 2.5G
    0127cee - driver: net: pfe: Add support of MDIO Clause 45 PHYs
    561adee - board: ls1012aqds: Clean and reorganize board_eth_init
    3b143c3 - board: ls1012aqds: Register the MDIO1 controller
    48d02fb - Merge pull request #182 in SDK/u-boot-devel from jira/QUBOOT-2402 to master
    c9395ee - Merge pull request #183 in SDK/u-boot-devel from jira/QUBOOT-2400 to master
    8ef037c - Merge pull request #181 in SDK/u-boot-devel from jira/QUBOOT-2329 to master
    b3c75e4 - drivers: net: fsl-mc: Fixup MAC addresses in DPC
    e0369e0 - armv8/fsl-layerscape: fdt: remove SYSCLK frequency fixup for ls1012a
    6d9421b - driver: rtc: add pcf2127 support
    caefee8 - armv8/fsl-layerscape: Update erratum A009635 implementation
    7efb311 - ls2080ardb,ls2080aqds: Add mcmemsize in default env setting
    636228a - board: freescale: ls2080a: Intergrate and enable PPA on LS2080A
    5651957 - Merge pull request #175 in SDK/u-boot-devel from jira/QUBOOT-2378 to master
    bf23c09 - Secure Boot: Enable IE (Key extention) Feature in LS2080A
    f26426a - Merge pull request #176 in SDK/u-boot-devel from jira/QUBOOT-2286 to master
    badf91e - armv8: fsl-layerscape: Add vid support for LS2080AQDS
    20f3971 - armv8: fsl-lsch3: Update VID support
    746211e - armv8: fsl-layerscape: Updates DCFG register map
    049463b - LS2080A : Move sec_init to board_init
    a99dd2c - SECURE_BOOT: Define CONFIG_SYS_LS_PPA_ESBC_ADDR for LS2080A
    537fe6d - LS2080A: Add validation of MC & DPC images.
    8f404a5 - SECURE_BOOT: Update bootscript and its hdr addresses
    134644f - Merge pull request #166 in SDK/u-boot-devel from jira/QUBOOT-2101 to master
    2b17c7b - Merge pull request #165 in SDK/u-boot-devel from jira/QUBOOT-2313 to master
    6cad42f - armv8: fsl-lsch2: disable ECC on armv8 chassis 2 platforms
    475feb5 - driver: net: fsl-mc: Use aligned address for MC FW load
    69c545f - armv8: fsl-layerscape, ccn504: Set forced-order mode in RNI-6, RNI-20
    5669484 - driver: fsl-mc: qbman: Add QBMAN 4.1 support
    235e989 - armv8: ls2080a: Add serdes1 protocol 0x3b support
    0d8d4b9 - driver: net: ldpaa_eth: Fix missing bracket issue
    e02d502 - armv8: ls2080a: Update serdes protocol support
    6764afb - armv8/fsl-lsch3: Update code to release secondary cores
    6415d77 - armv8: fsl-layerscape: Add NXP LS2088A SoC support
    8f3a354 - armv8: fsl-layerscape : Check SVR for initializing TZASC
    789d497 - armv8: fsl-layerscape: Update TZASC registers type
    02e3cc3 - armv8: lsch3: Use SVR based timer base address detection
    80dbc3c - armv8: lsch3: Add generic get_svr() in assembly
    47d5b49 - LS1021ATWR: Modify u-boot size for sd secureboot

Signed-off-by: Chunrong Guo <B40290@freescale.com>
---
 recipes-bsp/u-boot/u-boot-qoriq_2016.09.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/recipes-bsp/u-boot/u-boot-qoriq_2016.09.bb b/recipes-bsp/u-boot/u-boot-qoriq_2016.09.bb
index 4ba46b9..21f58c2 100644
--- a/recipes-bsp/u-boot/u-boot-qoriq_2016.09.bb
+++ b/recipes-bsp/u-boot/u-boot-qoriq_2016.09.bb
@@ -21,7 +21,7 @@ DEPENDS_append_qoriq-ppc = " boot-format-native"
 SRC_URI = "git://git.freescale.com/ppc/sdk/u-boot.git;nobranch=1 \
     file://fix-build-error-under-gcc6.patch \
 "
-SRCREV = "2735535eeb666cc440c0aeb46493eca9c4f8ab93"
+SRCREV = "a06b20925c02ba3fa888a1f915ea7935084d8600"
 
 S = "${WORKDIR}/git"
 
-- 
1.9.0



^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [[PATCH v2 19/29] pkc-firmware: update to 209e0e6
  2017-04-26  3:28 [[PATCH v2 01/29] cst :update to a292f9d Chunrong Guo
                   ` (16 preceding siblings ...)
  2017-04-26  3:28 ` [[PATCH v2 18/29] u-boot:update to a06b209 Chunrong Guo
@ 2017-04-26  3:28 ` Chunrong Guo
  2017-04-26  3:28 ` [[PATCH v2 20/29] openssl-qoriq: upgrade to 1.0.2k Chunrong Guo
                   ` (9 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: Chunrong Guo @ 2017-04-26  3:28 UTC (permalink / raw)
  To: meta-freescale; +Cc: zongchun.yu, chunrong.guo

From: Chunrong Guo <chunrong.guo@nxp.com>

      *include the following changes
       209e0e6 - ring affinity: keep jobs and responses in the same ring pair
       1cd87fb - remove unused parameter from function signature
       688e402 - add new handshake parameters (like old is the new new :)
       bdd38f2 - fix irq missing issue for all rings
       b5f6504 - rename structure fields to match their content
       d0b6e25 - fix column alignment to avoid confusion
       66ac4ef - remove not used fields from handshake structures
       53716e6 - merge together the functions doing ring pairs initialization
       ffa6360 - make r_cntrs local to the app_ring structure
       61a597f - remove not used allocation of s_c_cntrs_mem
       a1b8599 - remove not used allocation of cntrs_mem
       1246eb8 - make ring indices local to the app_ring structure
       d01ed6c - remove redundant type casts
       a12f170 - allocate space for input rings independently instead of in bulk
       e41fc52 - num_of_rps is not used after initialization
       e827ac6 - refactoring: merge content of two functions
       5dcdc32 - device ip_pool is not used on the host so we remove it
       21bc000 - merge content of resource struct into c_mem_layout
       4b39488 - remove not used function
       a276c46 - add U suffix to unsigned constants
       6d13be3 - remove not used function
       0aaeeab - remove redundant busyloop during handshake
       fe54ba4 - avoid returns from the middle of the handshake function
       fda0f8e - clean-up for consistent code indentation
       c441ffc - move macro definition to the header file
       e87f3e2 - wrap assembly directive with a macro
       2091a40 - refactoring: clean-up code style
       f9261c3 - value returned by sel_sec_enqueue is ignored so make it void
       a7b2cf7 - avoid linking printf code by default
       a9cc62d - remove print_error because it duplicates print_debug
       542c9d1 - remove deprecated or not used code
       542c9d1 - remove deprecated or not used code
       b11bbbf - fix precision loss conversion errors
       428c51c - remove not used code
       ecd79e6 - avoid playing with compiler optimizations games
       5121ad3 - remove deprecated and not used code
       949c908 - raise interrupt on the ring that submitted the jobs
       92e7089 - refactoring: merge related code into a single function
       f131421 - remove no longer used handshake fields
       6e3ab80 - simplify calculation of msi address
       7e337a9 - rename local variables for clarity
       e4bef8e - refactoring: extract two functions to simplify code
       9dd692d - move handshake state initialization to appropriate function
       70f061b - cluster together initialization code
       e92ede5 - remove not used macros
       31636ca - remove duplicated function
       7c87c3a - search the ring that received rng descriptors and remove waiting
       9d132e3 - remove inconsistently used local variable
       4fab968 - remove ignored variable
       dcbdc8a - start counting SEC engines from 0 as in C29x documentation
       2189d7a - remove not-used structure field sec_jr.id
       739e1cc - remove not used structure field sec
       4bb7e8f - use a dummy allocator to keep track of data addresses
       0d960b7 - remove padding fields from handshake structures
       6973141 - remove not used structure members dgb_print & err_print
       f3c1977 - remove not used structure members intr_*_ticks
       612371b - rearrange code to merge two #ifdef's
       a86a0a9 - move definition to the header file
       ff8ce9d - remove unused function wait_for_timeout
       97a0657 - remove unused typedef shadow_indexes_mem_t
       5d0e0b0 - remove redundant definitions of standard types
       86a6451 - remove unused function irja_signal_caam
       8106252 - remove unused function circ_room
       086f102 - job ring result has no significance as a signed integer
       dc8f37d - remove not used members of sec_engine structure
       9a6a5c2 - rewrite the initalization code for sec engines list
       8ab2b15 - remove priority queues and ignore ring order settings
       1b48817 - remove not used struct member order_j_d_index
       e64f7fc - remove not used struct member resp_j_done_flag
       7b20be4 - remove the assumption that ring 0 has any special significance
       0d9946b - make explicit that we are using C89/90 standard with GNU extensions
       cf7cd79 - remove not used padding fields in handshake structure
       d7adc6e - pad not used handshake fields to prepare for their removal
       670c95f - make explicit that we have a single response ring hardcoded to id 0
       db84b26 - remove not used structure variable enqcount
       07b9fda - remove not used structure pointer cmdrp
       b253763 - don't send available data through stack
       0d19768 - remove macro hiding simple code
       0aaba96 - remove commented code
       8278186 - remove code supporting P4080 prototypes
       f88a9bc - remove non-high-perf supporting code
       090755e - remove not used structure cmd_tbl_s
       4f8184b - remove not used orig_rps structure variable
       0a635a9 - remove not used structure variable drv_resp_ring_count
       3432b1c - rename structure variable ring_count to num_of_rps
       71a3a3d - remove duplicated assignment

Signed-off-by: Chunrong Guo <B40290@freescale.com>
---
 recipes-bsp/pkc-firmware/pkc-firmware_git.bb | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/recipes-bsp/pkc-firmware/pkc-firmware_git.bb b/recipes-bsp/pkc-firmware/pkc-firmware_git.bb
index bc61d67..f5848eb 100644
--- a/recipes-bsp/pkc-firmware/pkc-firmware_git.bb
+++ b/recipes-bsp/pkc-firmware/pkc-firmware_git.bb
@@ -10,8 +10,8 @@ inherit deploy
 
 PACKAGE_ARCH = "${MACHINE_ARCH}"
 
-SRC_URI = "git://git.freescale.com/ppc/sdk/pkc-firmware.git;branch=sdk-v2.0.x"
-SRCREV = "f75d281d83e74758f54d85bacfa74b7c07514413"
+SRC_URI = "git://git.freescale.com/ppc/sdk/pkc-firmware.git;nobranch=1"
+SRCREV = "209e0e6babdab43f38db84591307bedfd0bed542"
 
 S = "${WORKDIR}/git"
 
-- 
1.9.0



^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [[PATCH v2 20/29] openssl-qoriq: upgrade to 1.0.2k
  2017-04-26  3:28 [[PATCH v2 01/29] cst :update to a292f9d Chunrong Guo
                   ` (17 preceding siblings ...)
  2017-04-26  3:28 ` [[PATCH v2 19/29] pkc-firmware: update to 209e0e6 Chunrong Guo
@ 2017-04-26  3:28 ` Chunrong Guo
  2017-04-26  3:28 ` [[PATCH v2 21/29] cryptodev: update to 6c2b61c Chunrong Guo
                   ` (8 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: Chunrong Guo @ 2017-04-26  3:28 UTC (permalink / raw)
  To: meta-freescale; +Cc: zongchun.yu, chunrong.guo

From: Chunrong Guo <chunrong.guo@nxp.com>

Signed-off-by: Chunrong Guo <B40290@freescale.com>
---
 recipes-connectivity/openssl/openssl-qoriq.inc     |   23 +-
 .../openssl/openssl-qoriq/CVE-2016-2177.patch      |  286 --
 .../openssl/openssl-qoriq/CVE-2016-2178.patch      |   51 -
 .../openssl-qoriq/configure-musl-target.patch      |   27 -
 .../crypto_use_bigint_in_x86-64_perl.patch         |   29 +-
 .../openssl-qoriq/debian/c_rehash-compat.patch     |   71 -
 .../openssl/openssl-qoriq/debian/ca.patch          |   22 -
 .../openssl-qoriq/debian/debian-targets.patch      |   73 -
 .../openssl/openssl-qoriq/debian/man-dir.patch     |   15 -
 .../openssl/openssl-qoriq/debian/man-section.patch |   34 -
 .../openssl/openssl-qoriq/debian/no-rpath.patch    |   15 -
 .../openssl/openssl-qoriq/debian/no-symbolic.patch |   15 -
 .../openssl/openssl-qoriq/debian/pic.patch         |  177 -
 .../openssl-qoriq/debian/version-script.patch      | 4663 --------------------
 .../openssl-qoriq/debian1.0.2/version-script.patch | 4656 -------------------
 .../openssl-qoriq/fix-cipher-des-ede3-cfb1.patch   |    2 +-
 .../openssl/openssl-qoriq/no-rpath.patch           |   15 +
 ...-pointer-dereference-in-EVP_DigestInit_ex.patch |   23 -
 .../openssl/openssl-qoriq/openssl-c_rehash.sh      |  210 -
 .../openssl-qoriq/openssl_fix_for_x32.patch        |    4 +-
 .../openssl/openssl-qoriq/parallel.patch           |  326 --
 ...double-initialization-of-cryptodev-engine.patch |   21 +-
 ...ev-add-support-for-TLS-algorithms-offload.patch |   26 +-
 ...0003-cryptodev-fix-algorithm-registration.patch |   12 +-
 ...4-ECC-Support-header-for-Cryptodev-Engine.patch |    4 +-
 ...itial-support-for-PKC-in-cryptodev-engine.patch |   48 +-
 ...006-Added-hwrng-dev-file-as-source-of-RNG.patch |    4 +-
 ...s-interface-added-for-PKC-cryptodev-inter.patch |   38 +-
 ...gen-operation-and-support-gendsa-command-.patch |   10 +-
 .../openssl-qoriq/qoriq/0009-RSA-Keygen-Fix.patch  |   14 +-
 .../0010-Removed-local-copy-of-curve_t-type.patch  |   32 +-
 ...us-parameter-is-not-populated-by-dhparams.patch |   10 +-
 .../0012-SW-Backoff-mechanism-for-dsa-keygen.patch |   10 +-
 .../0013-Fixed-DH-keygen-pair-generator.patch      |    8 +-
 ...dd-support-for-aes-gcm-algorithm-offloadi.patch |   20 +-
 ...ev-extend-TLS-offload-with-3des_cbc_hmac_.patch |   22 +-
 ...ev-add-support-for-TLSv1.1-record-offload.patch |   26 +-
 ...ev-add-support-for-TLSv1.2-record-offload.patch |   22 +-
 .../0018-cryptodev-drop-redundant-function.patch   |   18 +-
 ...yptodev-do-not-zero-the-buffer-before-use.patch |    8 +-
 .../0020-cryptodev-clean-up-code-layout.patch      |    8 +-
 ...odev-do-not-cache-file-descriptor-in-open.patch |    8 +-
 ...cryptodev-put_dev_crypto-should-be-an-int.patch |    8 +-
 ...todev-simplify-cryptodev-pkc-support-code.patch |   16 +-
 ...larify-code-remove-assignments-from-condi.patch |    8 +-
 ...lean-up-context-state-before-anything-els.patch |    8 +-
 ...emove-code-duplication-in-digest-operatio.patch |   16 +-
 ...ut-all-digest-ioctls-into-a-single-functi.patch |   14 +-
 .../0028-cryptodev-fix-debug-print-messages.patch  |   18 +-
 ...-use-CIOCHASH-ioctl-for-digest-operations.patch |   14 +-
 ...educe-duplicated-efforts-for-searching-in.patch |   14 +-
 ...cryptodev-remove-not-used-local-variables.patch |   12 +-
 ...odev-hide-not-used-variable-behind-ifndef.patch |    8 +-
 ...3-cryptodev-fix-function-declaration-typo.patch |    4 +-
 ...ryptodev-fix-incorrect-function-signature.patch |    8 +-
 ...ix-warnings-on-excess-elements-in-struct-.patch |   12 +-
 .../0036-cryptodev-fix-free-on-error-path.patch    |    8 +-
 .../0037-cryptodev-fix-return-value-on-error.patch |    8 +-
 ...38-cryptodev-match-types-with-cryptodev.h.patch |    8 +-
 ...ptodev-explicitly-discard-const-qualifier.patch |    8 +-
 .../0040-cryptodev-replace-caddr_t-with-void.patch |   18 +-
 ...heck-for-errors-inside-cryptodev_rsa_mod_.patch |    8 +-
 ...heck-for-errors-inside-cryptodev_rsa_mod_.patch |    8 +-
 ...heck-for-errors-inside-cryptodev_dh_compu.patch |   10 +-
 ...heck-for-errors-inside-cryptodev_dh_compu.patch |   10 +-
 ...change-signature-for-conversion-functions.patch |   10 +-
 ...add-explicit-cast-for-known-BIGNUM-values.patch |    8 +-
 ...ptodev-treat-all-build-warnings-as-errors.patch |    4 +-
 ...is-used-uninitialized-warning-on-some-com.patch |    8 +-
 .../openssl/openssl-qoriq_1.0.2h.bb                |  113 -
 .../openssl/openssl-qoriq_1.0.2k.bb                |  103 +
 71 files changed, 471 insertions(+), 11127 deletions(-)
 delete mode 100644 recipes-connectivity/openssl/openssl-qoriq/CVE-2016-2177.patch
 delete mode 100644 recipes-connectivity/openssl/openssl-qoriq/CVE-2016-2178.patch
 delete mode 100644 recipes-connectivity/openssl/openssl-qoriq/configure-musl-target.patch
 delete mode 100644 recipes-connectivity/openssl/openssl-qoriq/debian/c_rehash-compat.patch
 delete mode 100644 recipes-connectivity/openssl/openssl-qoriq/debian/ca.patch
 delete mode 100644 recipes-connectivity/openssl/openssl-qoriq/debian/debian-targets.patch
 delete mode 100644 recipes-connectivity/openssl/openssl-qoriq/debian/man-dir.patch
 delete mode 100644 recipes-connectivity/openssl/openssl-qoriq/debian/man-section.patch
 delete mode 100644 recipes-connectivity/openssl/openssl-qoriq/debian/no-rpath.patch
 delete mode 100644 recipes-connectivity/openssl/openssl-qoriq/debian/no-symbolic.patch
 delete mode 100644 recipes-connectivity/openssl/openssl-qoriq/debian/pic.patch
 delete mode 100644 recipes-connectivity/openssl/openssl-qoriq/debian/version-script.patch
 delete mode 100644 recipes-connectivity/openssl/openssl-qoriq/debian1.0.2/version-script.patch
 create mode 100644 recipes-connectivity/openssl/openssl-qoriq/no-rpath.patch
 delete mode 100644 recipes-connectivity/openssl/openssl-qoriq/openssl-avoid-NULL-pointer-dereference-in-EVP_DigestInit_ex.patch
 delete mode 100644 recipes-connectivity/openssl/openssl-qoriq/openssl-c_rehash.sh
 delete mode 100644 recipes-connectivity/openssl/openssl-qoriq/parallel.patch
 delete mode 100644 recipes-connectivity/openssl/openssl-qoriq_1.0.2h.bb
 create mode 100644 recipes-connectivity/openssl/openssl-qoriq_1.0.2k.bb

diff --git a/recipes-connectivity/openssl/openssl-qoriq.inc b/recipes-connectivity/openssl/openssl-qoriq.inc
index e3b0e0f..965291c 100644
--- a/recipes-connectivity/openssl/openssl-qoriq.inc
+++ b/recipes-connectivity/openssl/openssl-qoriq.inc
@@ -47,8 +47,9 @@ PACKAGES =+ "libcrypto libssl ${PN}-misc ${PN}-conf"
 FILES_libcrypto = "${libdir}/libcrypto${SOLIBS}"
 FILES_libssl = "${libdir}/libssl${SOLIBS}"
 FILES_${PN} =+ " ${libdir}/ssl/*"
-FILES_${PN}-misc = "${libdir}/ssl/misc"
+FILES_${PN}-misc = "${libdir}/ssl/misc ${bindir}/c_rehash"
 RDEPENDS_${PN}-misc = "${@bb.utils.contains('PACKAGECONFIG', 'perl', 'perl', '', d)}"
+FILES_${PN}-dev += "${base_libdir}/libcrypto${SOLIBSDEV}"
 
 # Add the openssl.cnf file to the openssl-conf package.  Make the libcrypto
 # package RRECOMMENDS on this package.  This will enable the configuration
@@ -180,18 +181,26 @@ do_install () {
 	oe_libinstall -so libcrypto ${D}${libdir}
 	oe_libinstall -so libssl ${D}${libdir}
 
+        # Moving libcrypto to /lib
+        if [ ! ${D}${libdir} -ef ${D}${base_libdir} ]; then
+                mkdir -p ${D}/${base_libdir}/
+                mv ${D}${libdir}/libcrypto* ${D}${base_libdir}/
+                sed -i s#libdir=\$\{exec_prefix\}\/lib#libdir=${base_libdir}# ${D}/${libdir}/pkgconfig/libcrypto.pc
+        fi
+
 	install -d ${D}${includedir}
 	cp --dereference -R include/openssl ${D}${includedir}
 
-	install -Dm 0755 ${WORKDIR}/openssl-c_rehash.sh ${D}${bindir}/c_rehash
-	sed -i -e 's,/etc/openssl,${sysconfdir}/ssl,g' ${D}${bindir}/c_rehash
-
 	oe_multilib_header openssl/opensslconf.h
 	if [ "${@bb.utils.contains('PACKAGECONFIG', 'perl', 'perl', '', d)}" = "perl" ]; then
+                install -m 0755 ${S}/tools/c_rehash ${D}${bindir}
+                sed -i -e '1s,.*,#!${bindir}/env perl,' ${D}${bindir}/c_rehash
 		sed -i -e '1s,.*,#!${bindir}/env perl,' ${D}${libdir}/ssl/misc/CA.pl
 		sed -i -e '1s,.*,#!${bindir}/env perl,' ${D}${libdir}/ssl/misc/tsget
-	else
-		rm -f ${D}${libdir}/ssl/misc/CA.pl ${D}${libdir}/ssl/misc/tsget
+        # The c_rehash utility isn't installed by the normal installation process.
+        else
+                rm -f ${D}${bindir}/c_rehash
+                rm -f ${D}${libdir}/ssl/misc/CA.pl ${D}${libdir}/ssl/misc/tsget
 	fi
 
 	# Create SSL structure
@@ -210,7 +219,7 @@ do_install_ptest () {
 	cp -r -L Makefile.org Makefile test ${D}${PTEST_PATH}
 	cp Configure config e_os.h ${D}${PTEST_PATH}
 	cp -r -L include ${D}${PTEST_PATH}
-	ln -sf ${libdir}/libcrypto.a ${D}${PTEST_PATH}
+	ln -sf ${base_libdir}/libcrypto.a ${D}${PTEST_PATH}
 	ln -sf ${libdir}/libssl.a ${D}${PTEST_PATH}
 	mkdir -p ${D}${PTEST_PATH}/crypto
 	cp crypto/constant_time_locl.h ${D}${PTEST_PATH}/crypto
diff --git a/recipes-connectivity/openssl/openssl-qoriq/CVE-2016-2177.patch b/recipes-connectivity/openssl/openssl-qoriq/CVE-2016-2177.patch
deleted file mode 100644
index df36d5f..0000000
--- a/recipes-connectivity/openssl/openssl-qoriq/CVE-2016-2177.patch
+++ /dev/null
@@ -1,286 +0,0 @@
-From a004e72b95835136d3f1ea90517f706c24c03da7 Mon Sep 17 00:00:00 2001
-From: Matt Caswell <matt@openssl.org>
-Date: Thu, 5 May 2016 11:10:26 +0100
-Subject: [PATCH] Avoid some undefined pointer arithmetic
-
-A common idiom in the codebase is:
-
-if (p + len > limit)
-{
-    return; /* Too long */
-}
-
-Where "p" points to some malloc'd data of SIZE bytes and
-limit == p + SIZE
-
-"len" here could be from some externally supplied data (e.g. from a TLS
-message).
-
-The rules of C pointer arithmetic are such that "p + len" is only well
-defined where len <= SIZE. Therefore the above idiom is actually
-undefined behaviour.
-
-For example this could cause problems if some malloc implementation
-provides an address for "p" such that "p + len" actually overflows for
-values of len that are too big and therefore p + len < limit!
-
-Issue reported by Guido Vranken.
-
-CVE-2016-2177
-
-Reviewed-by: Rich Salz <rsalz@openssl.org>
-
-Upstream-Status: Backport
-CVE: CVE-2016-2177
-
-Signed-off-by: Armin Kuster <akuster@mvista.com>
-
-
----
- ssl/s3_srvr.c  | 14 +++++++-------
- ssl/ssl_sess.c |  2 +-
- ssl/t1_lib.c   | 56 ++++++++++++++++++++++++++++++--------------------------
- 3 files changed, 38 insertions(+), 34 deletions(-)
-
-diff --git a/ssl/s3_srvr.c b/ssl/s3_srvr.c
-index ab28702..ab7f690 100644
---- a/ssl/s3_srvr.c
-+++ b/ssl/s3_srvr.c
-@@ -980,7 +980,7 @@ int ssl3_get_client_hello(SSL *s)
- 
-         session_length = *(p + SSL3_RANDOM_SIZE);
- 
--        if (p + SSL3_RANDOM_SIZE + session_length + 1 >= d + n) {
-+        if (SSL3_RANDOM_SIZE + session_length + 1 >= (d + n) - p) {
-             al = SSL_AD_DECODE_ERROR;
-             SSLerr(SSL_F_SSL3_GET_CLIENT_HELLO, SSL_R_LENGTH_TOO_SHORT);
-             goto f_err;
-@@ -998,7 +998,7 @@ int ssl3_get_client_hello(SSL *s)
-     /* get the session-id */
-     j = *(p++);
- 
--    if (p + j > d + n) {
-+    if ((d + n) - p < j) {
-         al = SSL_AD_DECODE_ERROR;
-         SSLerr(SSL_F_SSL3_GET_CLIENT_HELLO, SSL_R_LENGTH_TOO_SHORT);
-         goto f_err;
-@@ -1054,14 +1054,14 @@ int ssl3_get_client_hello(SSL *s)
- 
-     if (SSL_IS_DTLS(s)) {
-         /* cookie stuff */
--        if (p + 1 > d + n) {
-+        if ((d + n) - p < 1) {
-             al = SSL_AD_DECODE_ERROR;
-             SSLerr(SSL_F_SSL3_GET_CLIENT_HELLO, SSL_R_LENGTH_TOO_SHORT);
-             goto f_err;
-         }
-         cookie_len = *(p++);
- 
--        if (p + cookie_len > d + n) {
-+        if ((d + n ) - p < cookie_len) {
-             al = SSL_AD_DECODE_ERROR;
-             SSLerr(SSL_F_SSL3_GET_CLIENT_HELLO, SSL_R_LENGTH_TOO_SHORT);
-             goto f_err;
-@@ -1131,7 +1131,7 @@ int ssl3_get_client_hello(SSL *s)
-         }
-     }
- 
--    if (p + 2 > d + n) {
-+    if ((d + n ) - p < 2) {
-         al = SSL_AD_DECODE_ERROR;
-         SSLerr(SSL_F_SSL3_GET_CLIENT_HELLO, SSL_R_LENGTH_TOO_SHORT);
-         goto f_err;
-@@ -1145,7 +1145,7 @@ int ssl3_get_client_hello(SSL *s)
-     }
- 
-     /* i bytes of cipher data + 1 byte for compression length later */
--    if ((p + i + 1) > (d + n)) {
-+    if ((d + n) - p < i + 1) {
-         /* not enough data */
-         al = SSL_AD_DECODE_ERROR;
-         SSLerr(SSL_F_SSL3_GET_CLIENT_HELLO, SSL_R_LENGTH_MISMATCH);
-@@ -1211,7 +1211,7 @@ int ssl3_get_client_hello(SSL *s)
- 
-     /* compression */
-     i = *(p++);
--    if ((p + i) > (d + n)) {
-+    if ((d + n) - p < i) {
-         /* not enough data */
-         al = SSL_AD_DECODE_ERROR;
-         SSLerr(SSL_F_SSL3_GET_CLIENT_HELLO, SSL_R_LENGTH_MISMATCH);
-diff --git a/ssl/ssl_sess.c b/ssl/ssl_sess.c
-index b182998..54ee783 100644
---- a/ssl/ssl_sess.c
-+++ b/ssl/ssl_sess.c
-@@ -573,7 +573,7 @@ int ssl_get_prev_session(SSL *s, unsigned char *session_id, int len,
-     int r;
- #endif
- 
--    if (session_id + len > limit) {
-+    if (limit - session_id < len) {
-         fatal = 1;
-         goto err;
-     }
-diff --git a/ssl/t1_lib.c b/ssl/t1_lib.c
-index fb64607..cdac011 100644
---- a/ssl/t1_lib.c
-+++ b/ssl/t1_lib.c
-@@ -1867,11 +1867,11 @@ static void ssl_check_for_safari(SSL *s, const unsigned char *data,
-         0x02, 0x03,             /* SHA-1/ECDSA */
-     };
- 
--    if (data >= (limit - 2))
-+    if (limit - data <= 2)
-         return;
-     data += 2;
- 
--    if (data > (limit - 4))
-+    if (limit - data < 4)
-         return;
-     n2s(data, type);
-     n2s(data, size);
-@@ -1879,7 +1879,7 @@ static void ssl_check_for_safari(SSL *s, const unsigned char *data,
-     if (type != TLSEXT_TYPE_server_name)
-         return;
- 
--    if (data + size > limit)
-+    if (limit - data < size)
-         return;
-     data += size;
- 
-@@ -1887,7 +1887,7 @@ static void ssl_check_for_safari(SSL *s, const unsigned char *data,
-         const size_t len1 = sizeof(kSafariExtensionsBlock);
-         const size_t len2 = sizeof(kSafariTLS12ExtensionsBlock);
- 
--        if (data + len1 + len2 != limit)
-+        if (limit - data != (int)(len1 + len2))
-             return;
-         if (memcmp(data, kSafariExtensionsBlock, len1) != 0)
-             return;
-@@ -1896,7 +1896,7 @@ static void ssl_check_for_safari(SSL *s, const unsigned char *data,
-     } else {
-         const size_t len = sizeof(kSafariExtensionsBlock);
- 
--        if (data + len != limit)
-+        if (limit - data != (int)(len))
-             return;
-         if (memcmp(data, kSafariExtensionsBlock, len) != 0)
-             return;
-@@ -2053,19 +2053,19 @@ static int ssl_scan_clienthello_tlsext(SSL *s, unsigned char **p,
-     if (data == limit)
-         goto ri_check;
- 
--    if (data > (limit - 2))
-+    if (limit - data < 2)
-         goto err;
- 
-     n2s(data, len);
- 
--    if (data + len != limit)
-+    if (limit - data != len)
-         goto err;
- 
--    while (data <= (limit - 4)) {
-+    while (limit - data >= 4) {
-         n2s(data, type);
-         n2s(data, size);
- 
--        if (data + size > (limit))
-+        if (limit - data < size)
-             goto err;
- # if 0
-         fprintf(stderr, "Received extension type %d size %d\n", type, size);
-@@ -2472,18 +2472,18 @@ static int ssl_scan_clienthello_custom_tlsext(SSL *s,
-     if (s->hit || s->cert->srv_ext.meths_count == 0)
-         return 1;
- 
--    if (data >= limit - 2)
-+    if (limit - data <= 2)
-         return 1;
-     n2s(data, len);
- 
--    if (data > limit - len)
-+    if (limit - data < len)
-         return 1;
- 
--    while (data <= limit - 4) {
-+    while (limit - data >= 4) {
-         n2s(data, type);
-         n2s(data, size);
- 
--        if (data + size > limit)
-+        if (limit - data < size)
-             return 1;
-         if (custom_ext_parse(s, 1 /* server */ , type, data, size, al) <= 0)
-             return 0;
-@@ -2569,20 +2569,20 @@ static int ssl_scan_serverhello_tlsext(SSL *s, unsigned char **p,
-                              SSL_TLSEXT_HB_DONT_SEND_REQUESTS);
- # endif
- 
--    if (data >= (d + n - 2))
-+    if ((d + n) - data <= 2)
-         goto ri_check;
- 
-     n2s(data, length);
--    if (data + length != d + n) {
-+    if ((d + n) - data != length) {
-         *al = SSL_AD_DECODE_ERROR;
-         return 0;
-     }
- 
--    while (data <= (d + n - 4)) {
-+    while ((d + n) - data >= 4) {
-         n2s(data, type);
-         n2s(data, size);
- 
--        if (data + size > (d + n))
-+        if ((d + n) - data < size)
-             goto ri_check;
- 
-         if (s->tlsext_debug_cb)
-@@ -3307,29 +3307,33 @@ int tls1_process_ticket(SSL *s, unsigned char *session_id, int len,
-     /* Skip past DTLS cookie */
-     if (SSL_IS_DTLS(s)) {
-         i = *(p++);
--        p += i;
--        if (p >= limit)
-+
-+        if (limit - p <= i)
-             return -1;
-+
-+        p += i;
-     }
-     /* Skip past cipher list */
-     n2s(p, i);
--    p += i;
--    if (p >= limit)
-+    if (limit - p <= i)
-         return -1;
-+    p += i;
-+
-     /* Skip past compression algorithm list */
-     i = *(p++);
--    p += i;
--    if (p > limit)
-+    if (limit - p < i)
-         return -1;
-+    p += i;
-+
-     /* Now at start of extensions */
--    if ((p + 2) >= limit)
-+    if (limit - p <= 2)
-         return 0;
-     n2s(p, i);
--    while ((p + 4) <= limit) {
-+    while (limit - p >= 4) {
-         unsigned short type, size;
-         n2s(p, type);
-         n2s(p, size);
--        if (p + size > limit)
-+        if (limit - p < size)
-             return 0;
-         if (type == TLSEXT_TYPE_session_ticket) {
-             int r;
--- 
-2.3.5
-
diff --git a/recipes-connectivity/openssl/openssl-qoriq/CVE-2016-2178.patch b/recipes-connectivity/openssl/openssl-qoriq/CVE-2016-2178.patch
deleted file mode 100644
index 27ade4e..0000000
--- a/recipes-connectivity/openssl/openssl-qoriq/CVE-2016-2178.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From 399944622df7bd81af62e67ea967c470534090e2 Mon Sep 17 00:00:00 2001
-From: Cesar Pereida <cesar.pereida@aalto.fi>
-Date: Mon, 23 May 2016 12:45:25 +0300
-Subject: [PATCH] Fix DSA, preserve BN_FLG_CONSTTIME
-
-Operations in the DSA signing algorithm should run in constant time in
-order to avoid side channel attacks. A flaw in the OpenSSL DSA
-implementation means that a non-constant time codepath is followed for
-certain operations. This has been demonstrated through a cache-timing
-attack to be sufficient for an attacker to recover the private DSA key.
-
-CVE-2016-2178
-
-Reviewed-by: Richard Levitte <levitte@openssl.org>
-Reviewed-by: Matt Caswell <matt@openssl.org>
-
-Upstream-Status: Backport
-CVE: CVE-2016-2178
-
-Signed-off-by: Armin Kuster <akuster@mvista.com>
-
----
- crypto/dsa/dsa_ossl.c | 9 +++++----
- 1 file changed, 5 insertions(+), 4 deletions(-)
-
-Index: openssl-1.0.2h/crypto/dsa/dsa_ossl.c
-===================================================================
---- openssl-1.0.2h.orig/crypto/dsa/dsa_ossl.c
-+++ openssl-1.0.2h/crypto/dsa/dsa_ossl.c
-@@ -248,9 +248,6 @@ static int dsa_sign_setup(DSA *dsa, BN_C
-         if (!BN_rand_range(&k, dsa->q))
-             goto err;
-     while (BN_is_zero(&k)) ;
--    if ((dsa->flags & DSA_FLAG_NO_EXP_CONSTTIME) == 0) {
--        BN_set_flags(&k, BN_FLG_CONSTTIME);
--    }
- 
-     if (dsa->flags & DSA_FLAG_CACHE_MONT_P) {
-         if (!BN_MONT_CTX_set_locked(&dsa->method_mont_p,
-@@ -282,6 +279,11 @@ static int dsa_sign_setup(DSA *dsa, BN_C
-     } else {
-         K = &k;
-     }
-+
-+    if ((dsa->flags & DSA_FLAG_NO_EXP_CONSTTIME) == 0) {
-+        BN_set_flags(K, BN_FLG_CONSTTIME);
-+    }
-+
-     DSA_BN_MOD_EXP(goto err, dsa, r, dsa->g, K, dsa->p, ctx,
-                    dsa->method_mont_p);
-     if (!BN_mod(r, r, dsa->q, ctx))
diff --git a/recipes-connectivity/openssl/openssl-qoriq/configure-musl-target.patch b/recipes-connectivity/openssl/openssl-qoriq/configure-musl-target.patch
deleted file mode 100644
index 613dc7b..0000000
--- a/recipes-connectivity/openssl/openssl-qoriq/configure-musl-target.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-Add musl triplet support
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Index: openssl-1.0.2a/Configure
-===================================================================
---- openssl-1.0.2a.orig/Configure
-+++ openssl-1.0.2a/Configure
-@@ -431,7 +431,7 @@ my %table=(
- #
- #       ./Configure linux-armv4 -march=armv6 -D__ARM_MAX_ARCH__=8
- #
--"linux-armv4",	"gcc: -O3 -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${armv4_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"linux-armv4", "gcc: -O3 -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${armv4_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
- "linux-aarch64","gcc: -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${aarch64_asm}:linux64:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
- # Configure script adds minimally required -march for assembly support,
- # if no -march was specified at command line. mips32 and mips64 below
-@@ -504,6 +504,8 @@ my %table=(
- "linux-gnueabi-armeb","$ENV{'CC'}:-DB_ENDIAN -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG DES_RISC1:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
- "linux-uclibceabi-arm","$ENV{'CC'}:-DL_ENDIAN -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG DES_RISC1:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
- "linux-uclibceabi-armeb","$ENV{'CC'}:-DB_ENDIAN -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG DES_RISC1:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"linux-musleabi-arm","$ENV{'CC'}:-DL_ENDIAN -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG DES_RISC1:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"linux-musleabi-armeb","$ENV{'CC'}:-DB_ENDIAN -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG DES_RISC1:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
- 
- "linux-avr32","$ENV{'CC'}:-O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG DES_RISC1:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).",
- 
diff --git a/recipes-connectivity/openssl/openssl-qoriq/crypto_use_bigint_in_x86-64_perl.patch b/recipes-connectivity/openssl/openssl-qoriq/crypto_use_bigint_in_x86-64_perl.patch
index 4f81d85..99c9433 100644
--- a/recipes-connectivity/openssl/openssl-qoriq/crypto_use_bigint_in_x86-64_perl.patch
+++ b/recipes-connectivity/openssl/openssl-qoriq/crypto_use_bigint_in_x86-64_perl.patch
@@ -1,4 +1,7 @@
-Upstream-Status: Backport
+From ac052c0b383dd6db4cb514a193ba44647504687f Mon Sep 17 00:00:00 2001
+From: Cristian Stoica <cristian.stoica@nxp.com>
+Date: Thu, 5 May 2016 11:55:46 +0300
+Subject: [PATCH] use 64bit integers on x32 systems
 
 When building on x32 systems where the default type is 32bit, make sure
 we can transparently represent 64bit integers.  Otherwise we end up with
@@ -15,21 +18,27 @@ We don't enable this globally as there are some cases where we'd get
 Reported-by: Bertrand Jacquin <bertrand@jacquin.bzh>
 URL: https://bugs.gentoo.org/542618
 
-Signed-off-by: Armin Kuster <akuster@mvista.com>
+Signed-off-By: Armin Kuster <akuster@mvista.com>
+---
+ crypto/perlasm/x86_64-xlate.pl | 5 +++++
+ 1 file changed, 5 insertions(+)
 
-Index: openssl-1.0.2a/crypto/perlasm/x86_64-xlate.pl
-===================================================================
---- openssl-1.0.2a.orig/crypto/perlasm/x86_64-xlate.pl
-+++ openssl-1.0.2a/crypto/perlasm/x86_64-xlate.pl
-@@ -194,7 +194,10 @@ my %globals;
-     }
+diff --git a/crypto/perlasm/x86_64-xlate.pl b/crypto/perlasm/x86_64-xlate.pl
+index 7a3dd04..fc6105d 100755
+--- a/crypto/perlasm/x86_64-xlate.pl
++++ b/crypto/perlasm/x86_64-xlate.pl
+@@ -195,6 +195,11 @@ my %globals;
      sub out {
      	my $self = shift;
--
+ 
 +	# When building on x32 ABIs, the expanded hex value might be too
 +	# big to fit into 32bits. Enable transparent 64bit support here
 +	# so we can safely print it out.
 +	use bigint;
++
+ 	$self->{value} =~ s/\b(0b[0-1]+)/oct($1)/eig;
  	if ($gas) {
  	    # Solaris /usr/ccs/bin/as can't handle multiplications
- 	    # in $self->{value}
+-- 
+2.7.0
+
diff --git a/recipes-connectivity/openssl/openssl-qoriq/debian/c_rehash-compat.patch b/recipes-connectivity/openssl/openssl-qoriq/debian/c_rehash-compat.patch
deleted file mode 100644
index 68e54d5..0000000
--- a/recipes-connectivity/openssl/openssl-qoriq/debian/c_rehash-compat.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-From 83f318d68bbdab1ca898c94576a838cc97df4700 Mon Sep 17 00:00:00 2001
-From: Ludwig Nussel <ludwig.nussel@suse.de>
-Date: Wed, 21 Apr 2010 15:52:10 +0200
-Subject: [PATCH] also create old hash for compatibility
-
-Upstream-Status: Backport [debian]
-
-diff --git a/tools/c_rehash.in b/tools/c_rehash.in
-index b086ff9..b777d79 100644
---- a/tools/c_rehash.in
-+++ b/tools/c_rehash.in
-@@ -8,8 +8,6 @@ my $prefix;
- 
- my $openssl = $ENV{OPENSSL} || "openssl";
- my $pwd;
--my $x509hash = "-subject_hash";
--my $crlhash = "-hash";
- my $verbose = 0;
- my $symlink_exists=eval {symlink("",""); 1};
- my $removelinks = 1;
-@@ -18,10 +16,7 @@ my $removelinks = 1;
- while ( $ARGV[0] =~ /^-/ ) {
-     my $flag = shift @ARGV;
-     last if ( $flag eq '--');
--    if ( $flag eq '-old') {
--	    $x509hash = "-subject_hash_old";
--	    $crlhash = "-hash_old";
--    } elsif ( $flag eq '-h') {
-+    if ( $flag eq '-h') {
- 	    help();
-     } elsif ( $flag eq '-n' ) {
- 	    $removelinks = 0;
-@@ -113,7 +108,9 @@ sub hash_dir {
- 			next;
- 		}
- 		link_hash_cert($fname) if($cert);
-+		link_hash_cert_old($fname) if($cert);
- 		link_hash_crl($fname) if($crl);
-+		link_hash_crl_old($fname) if($crl);
- 	}
- }
- 
-@@ -146,6 +143,7 @@ sub check_file {
- 
- sub link_hash_cert {
- 		my $fname = $_[0];
-+		my $x509hash = $_[1] || '-subject_hash';
- 		$fname =~ s/'/'\\''/g;
- 		my ($hash, $fprint) = `"$openssl" x509 $x509hash -fingerprint -noout -in "$fname"`;
- 		chomp $hash;
-@@ -176,11 +174,21 @@ sub link_hash_cert {
- 		$hashlist{$hash} = $fprint;
- }
- 
-+sub link_hash_cert_old {
-+		link_hash_cert($_[0], '-subject_hash_old');
-+}
-+
-+sub link_hash_crl_old {
-+		link_hash_crl($_[0], '-hash_old');
-+}
-+
-+
- # Same as above except for a CRL. CRL links are of the form <hash>.r<n>
- 
- sub link_hash_crl {
- 		my $fname = $_[0];
-+		my $crlhash = $_[1] || "-hash";
- 		$fname =~ s/'/'\\''/g;
- 		my ($hash, $fprint) = `"$openssl" crl $crlhash -fingerprint -noout -in '$fname'`;
- 		chomp $hash;
diff --git a/recipes-connectivity/openssl/openssl-qoriq/debian/ca.patch b/recipes-connectivity/openssl/openssl-qoriq/debian/ca.patch
deleted file mode 100644
index aba4d42..0000000
--- a/recipes-connectivity/openssl/openssl-qoriq/debian/ca.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-Upstream-Status: Backport [debian]
-
-Index: openssl-0.9.8m/apps/CA.pl.in
-===================================================================
---- openssl-0.9.8m.orig/apps/CA.pl.in	2006-04-28 00:28:51.000000000 +0000
-+++ openssl-0.9.8m/apps/CA.pl.in	2010-02-27 00:36:51.000000000 +0000
-@@ -65,6 +65,7 @@
- foreach (@ARGV) {
- 	if ( /^(-\?|-h|-help)$/ ) {
- 	    print STDERR "usage: CA -newcert|-newreq|-newreq-nodes|-newca|-sign|-verify\n";
-+	    print STDERR "usage: CA -signcert certfile keyfile|-newcert|-newreq|-newca|-sign|-verify\n";
- 	    exit 0;
- 	} elsif (/^-newcert$/) {
- 	    # create a certificate
-@@ -165,6 +166,7 @@
- 	} else {
- 	    print STDERR "Unknown arg $_\n";
- 	    print STDERR "usage: CA -newcert|-newreq|-newreq-nodes|-newca|-sign|-verify\n";
-+	    print STDERR "usage: CA -signcert certfile keyfile|-newcert|-newreq|-newca|-sign|-verify\n";
- 	    exit 1;
- 	}
- }
diff --git a/recipes-connectivity/openssl/openssl-qoriq/debian/debian-targets.patch b/recipes-connectivity/openssl/openssl-qoriq/debian/debian-targets.patch
deleted file mode 100644
index 39d4328..0000000
--- a/recipes-connectivity/openssl/openssl-qoriq/debian/debian-targets.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-Upstream-Status: Backport [debian]
-
-Index: openssl-1.0.2/Configure
-===================================================================
---- openssl-1.0.2.orig/Configure
-+++ openssl-1.0.2/Configure
-@@ -107,6 +107,10 @@ my $gcc_devteam_warn = "-Wall -pedantic
- 
- my $clang_disabled_warnings = "-Wno-language-extension-token -Wno-extended-offsetof -Wno-padded -Wno-shorten-64-to-32 -Wno-format-nonliteral -Wno-missing-noreturn -Wno-unused-parameter -Wno-sign-conversion -Wno-unreachable-code -Wno-conversion -Wno-documentation -Wno-missing-variable-declarations -Wno-cast-align -Wno-incompatible-pointer-types-discards-qualifiers -Wno-missing-variable-declarations -Wno-missing-field-initializers -Wno-unused-macros -Wno-disabled-macro-expansion -Wno-conditional-uninitialized -Wno-switch-enum";
- 
-+# There are no separate CFLAGS/CPPFLAGS/LDFLAGS, set everything in CFLAGS
-+my $debian_cflags = `dpkg-buildflags --get CFLAGS` . `dpkg-buildflags --get CPPFLAGS` . `dpkg-buildflags --get LDFLAGS` . "-Wa,--noexecstack -Wall";
-+$debian_cflags =~ s/\n/ /g;
-+
- my $strict_warnings = 0;
- 
- my $x86_gcc_des="DES_PTR DES_RISC1 DES_UNROLL";
-@@ -343,6 +347,55 @@ my %table=(
- "osf1-alpha-cc",  "cc:-std1 -tune host -O4 -readonly_strings::(unknown):::SIXTY_FOUR_BIT_LONG RC4_CHUNK:${alpha_asm}:dlfcn:alpha-osf1-shared:::.so",
- "tru64-alpha-cc", "cc:-std1 -tune host -fast -readonly_strings::-pthread:::SIXTY_FOUR_BIT_LONG RC4_CHUNK:${alpha_asm}:dlfcn:alpha-osf1-shared::-msym:.so",
- 
-+# Debian GNU/* (various architectures)
-+"debian-alpha","gcc:-DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_RISC1 DES_UNROLL:${alpha_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-alpha-ev4","gcc:-DTERMIO ${debian_cflags} -mcpu=ev4::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_RISC1 DES_UNROLL:${alpha_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-alpha-ev5","gcc:-DTERMIO ${debian_cflags} -mcpu=ev5::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_RISC1 DES_UNROLL:${alpha_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-arm64","gcc:-DL_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-armel","gcc:-DL_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${armv4_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-armhf","gcc:-DL_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${armv4_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-amd64", "gcc:-m64 -DL_ENDIAN -DTERMIO ${debian_cflags} -DMD32_REG_T=int::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::",
-+"debian-avr32", "gcc:-DB_ENDIAN -DTERMIO ${debian_cflags} -fomit-frame-pointer::-D_REENTRANT::-ldl:BN_LLONG_BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-kfreebsd-amd64","gcc:-m64 -DL_ENDIAN -DTERMIOS ${debian_cflags} -DMD32_REG_T=int::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-kfreebsd-i386","gcc:-DL_ENDIAN -DTERMIOS ${debian_cflags} -march=i486::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-hppa","gcc:-DB_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG MD2_CHAR RC4_INDEX:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-hurd-i386","gcc:-DL_ENDIAN -DTERMIOS -O3 -Wa,--noexecstack -g -mtune=i486 -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-ia64","gcc:-DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_UNROLL DES_INT:${ia64_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-i386","gcc:-DL_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-i386-i486","gcc:-DL_ENDIAN -DTERMIO ${debian_cflags} -march=i486::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-i386-i586","gcc:-DL_ENDIAN -DTERMIO ${debian_cflags} -march=i586::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-i386-i686/cmov","gcc:-DL_ENDIAN -DTERMIO ${debian_cflags} -march=i686::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-m68k","gcc:-DB_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG MD2_CHAR RC4_INDEX:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-mips",   "gcc:-DB_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL DES_RISC2:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-mipsel",   "gcc:-DL_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL DES_RISC2:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-mipsn32",   "mips64-linux-gnuabin32-gcc:-DB_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL DES_RISC2:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-mipsn32el",   "mips64el-linux-gnuabin32-gcc:-DL_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL DES_RISC2:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-mips64",   "mips64-linux-gnuabi64-gcc:-DB_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL DES_RISC2:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-mips64el",   "mips64el-linux-gnuabi64-gcc:-DL_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL DES_RISC2:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-netbsd-i386",	"gcc:-DL_ENDIAN -DTERMIOS ${debian_cflags} -m486::(unknown):::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${no_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-netbsd-m68k",	"gcc:-DB_ENDIAN -DTERMIOS ${debian_cflags}::(unknown):::BN_LLONG MD2_CHAR RC4_INDEX DES_UNROLL:${no_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-netbsd-sparc",	"gcc:-DB_ENDIAN -DTERMIOS ${debian_cflags} -mv8::(unknown):::BN_LLONG MD2_CHAR RC4_INDEX DES_UNROLL:${no_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-openbsd-alpha","gcc:-DTERMIOS ${debian_cflags}::(unknown):::SIXTY_FOUR_BIT_LONG DES_INT DES_PTR DES_RISC2:${no_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-openbsd-i386",  "gcc:-DL_ENDIAN -DTERMIOS ${debian_cflags} -m486::(unknown):::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_asm}:a.out:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-openbsd-mips","gcc:-DL_ENDIAN ${debian_cflags}::(unknown)::BN_LLONG MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC2 DES_PTR BF_PTR:${no_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-or1k", "gcc:-DB_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG DES_RISC1:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-powerpc","gcc:-DB_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL:${ppc32_asm}:linux32:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-powerpcspe","gcc:-DB_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL:${ppc32_asm}:linux32:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-ppc64","gcc:-m64 -DB_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL:${ppc64_asm}:linux64:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-ppc64el","gcc:-m64 -DL_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL:${ppc64_asm}:linux64le:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-s390","gcc:-DB_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", 
-+"debian-s390x","gcc:-DB_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-sh3",   "gcc:-DL_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-sh4",   "gcc:-DL_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-sh3eb",   "gcc:-DB_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-sh4eb",   "gcc:-DB_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-m32r","gcc:-DB_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-sparc","gcc:-DB_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${sparcv9_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-sparc-v8","gcc:-DB_ENDIAN -DTERMIO ${debian_cflags} -mcpu=v8 -DBN_DIV2W::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${sparcv8_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-sparc-v9","gcc:-DB_ENDIAN -DTERMIO ${debian_cflags} -mcpu=v9 -Wa,-Av8plus -DULTRASPARC -DBN_DIV2W::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${sparcv9_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-sparc64","gcc:-m64 -DB_ENDIAN -DTERMIO ${debian_cflags} -DULTRASPARC -DBN_DIV2W::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL BF_PTR:${sparcv9_asm}:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"debian-x32","gcc:-mx32 -DL_ENDIAN -DTERMIO ${debian_cflags} -DMD32_REG_T=int::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-mx32:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::x32",
-+
- ####
- #### Variety of LINUX:-)
- ####
diff --git a/recipes-connectivity/openssl/openssl-qoriq/debian/man-dir.patch b/recipes-connectivity/openssl/openssl-qoriq/debian/man-dir.patch
deleted file mode 100644
index 4085e3b..0000000
--- a/recipes-connectivity/openssl/openssl-qoriq/debian/man-dir.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Upstream-Status: Backport [debian]
-
-Index: openssl-1.0.0c/Makefile.org
-===================================================================
---- openssl-1.0.0c.orig/Makefile.org	2010-12-12 16:11:27.000000000 +0100
-+++ openssl-1.0.0c/Makefile.org	2010-12-12 16:11:37.000000000 +0100
-@@ -131,7 +131,7 @@
- 
- MAKEFILE= Makefile
- 
--MANDIR=$(OPENSSLDIR)/man
-+MANDIR=/usr/share/man
- MAN1=1
- MAN3=3
- MANSUFFIX=
diff --git a/recipes-connectivity/openssl/openssl-qoriq/debian/man-section.patch b/recipes-connectivity/openssl/openssl-qoriq/debian/man-section.patch
deleted file mode 100644
index 21c1d1a..0000000
--- a/recipes-connectivity/openssl/openssl-qoriq/debian/man-section.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-Upstream-Status: Backport [debian]
-
-Index: openssl-1.0.0c/Makefile.org
-===================================================================
---- openssl-1.0.0c.orig/Makefile.org	2010-12-12 16:11:37.000000000 +0100
-+++ openssl-1.0.0c/Makefile.org	2010-12-12 16:13:28.000000000 +0100
-@@ -160,7 +160,8 @@
- MANDIR=/usr/share/man
- MAN1=1
- MAN3=3
--MANSUFFIX=
-+MANSUFFIX=ssl
-+MANSECTION=SSL
- HTMLSUFFIX=html
- HTMLDIR=$(OPENSSLDIR)/html
- SHELL=/bin/sh
-@@ -651,7 +652,7 @@
- 		echo "installing man$$sec/$$fn.$${sec}$(MANSUFFIX)"; \
- 		(cd `$(PERL) util/dirname.pl $$i`; \
- 		sh -c "$$pod2man \
--			--section=$$sec --center=OpenSSL \
-+			--section=$${sec}$(MANSECTION) --center=OpenSSL \
- 			--release=$(VERSION) `basename $$i`") \
- 			>  $(INSTALL_PREFIX)$(MANDIR)/man$$sec/$$fn.$${sec}$(MANSUFFIX); \
- 		$(PERL) util/extract-names.pl < $$i | \
-@@ -668,7 +669,7 @@
- 		echo "installing man$$sec/$$fn.$${sec}$(MANSUFFIX)"; \
- 		(cd `$(PERL) util/dirname.pl $$i`; \
- 		sh -c "$$pod2man \
--			--section=$$sec --center=OpenSSL \
-+			--section=$${sec}$(MANSECTION) --center=OpenSSL \
- 			--release=$(VERSION) `basename $$i`") \
- 			>  $(INSTALL_PREFIX)$(MANDIR)/man$$sec/$$fn.$${sec}$(MANSUFFIX); \
- 		$(PERL) util/extract-names.pl < $$i | \
diff --git a/recipes-connectivity/openssl/openssl-qoriq/debian/no-rpath.patch b/recipes-connectivity/openssl/openssl-qoriq/debian/no-rpath.patch
deleted file mode 100644
index 1ccb3b8..0000000
--- a/recipes-connectivity/openssl/openssl-qoriq/debian/no-rpath.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Upstream-Status: Backport [debian]
-
-Index: openssl-1.0.0c/Makefile.shared
-===================================================================
---- openssl-1.0.0c.orig/Makefile.shared	2010-08-21 13:36:49.000000000 +0200
-+++ openssl-1.0.0c/Makefile.shared	2010-12-12 16:13:36.000000000 +0100
-@@ -153,7 +153,7 @@
- 	NOALLSYMSFLAGS='-Wl,--no-whole-archive'; \
- 	SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared -Wl,-Bsymbolic -Wl,-soname=$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX"
- 
--DO_GNU_APP=LDFLAGS="$(CFLAGS) -Wl,-rpath,$(LIBRPATH)"
-+DO_GNU_APP=LDFLAGS="$(CFLAGS)"
- 
- #This is rather special.  It's a special target with which one can link
- #applications without bothering with any features that have anything to
diff --git a/recipes-connectivity/openssl/openssl-qoriq/debian/no-symbolic.patch b/recipes-connectivity/openssl/openssl-qoriq/debian/no-symbolic.patch
deleted file mode 100644
index cc4408a..0000000
--- a/recipes-connectivity/openssl/openssl-qoriq/debian/no-symbolic.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Upstream-Status: Backport [debian]
-
-Index: openssl-1.0.0c/Makefile.shared
-===================================================================
---- openssl-1.0.0c.orig/Makefile.shared	2010-12-12 16:13:36.000000000 +0100
-+++ openssl-1.0.0c/Makefile.shared	2010-12-12 16:13:44.000000000 +0100
-@@ -151,7 +151,7 @@
- 	SHLIB_SUFFIX=; \
- 	ALLSYMSFLAGS='-Wl,--whole-archive'; \
- 	NOALLSYMSFLAGS='-Wl,--no-whole-archive'; \
--	SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared -Wl,-Bsymbolic -Wl,-soname=$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX"
-+	SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared -Wl,-soname=$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX"
- 
- DO_GNU_APP=LDFLAGS="$(CFLAGS)"
- 
diff --git a/recipes-connectivity/openssl/openssl-qoriq/debian/pic.patch b/recipes-connectivity/openssl/openssl-qoriq/debian/pic.patch
deleted file mode 100644
index bfda388..0000000
--- a/recipes-connectivity/openssl/openssl-qoriq/debian/pic.patch
+++ /dev/null
@@ -1,177 +0,0 @@
-Upstream-Status: Backport [debian]
-
-Index: openssl-1.0.1c/crypto/des/asm/desboth.pl
-===================================================================
---- openssl-1.0.1c.orig/crypto/des/asm/desboth.pl	2001-10-24 23:20:56.000000000 +0200
-+++ openssl-1.0.1c/crypto/des/asm/desboth.pl	2012-07-29 14:15:26.000000000 +0200
-@@ -16,6 +16,11 @@
- 
- 	&push("edi");
- 
-+	&call   (&label("pic_point0"));
-+	&set_label("pic_point0");
-+	&blindpop("ebp");
-+	&add    ("ebp", "\$_GLOBAL_OFFSET_TABLE_+[.-" . &label("pic_point0") . "]");
-+
- 	&comment("");
- 	&comment("Load the data words");
- 	&mov($L,&DWP(0,"ebx","",0));
-@@ -47,15 +52,21 @@
- 	&mov(&swtmp(2),	(DWC(($enc)?"1":"0")));
- 	&mov(&swtmp(1),	"eax");
- 	&mov(&swtmp(0),	"ebx");
--	&call("DES_encrypt2");
-+	&exch("ebx", "ebp");
-+	&call("DES_encrypt2\@PLT");
-+	&exch("ebx", "ebp");
- 	&mov(&swtmp(2),	(DWC(($enc)?"0":"1")));
- 	&mov(&swtmp(1),	"edi");
- 	&mov(&swtmp(0),	"ebx");
--	&call("DES_encrypt2");
-+	&exch("ebx", "ebp");
-+	&call("DES_encrypt2\@PLT");
-+	&exch("ebx", "ebp");
- 	&mov(&swtmp(2),	(DWC(($enc)?"1":"0")));
- 	&mov(&swtmp(1),	"esi");
- 	&mov(&swtmp(0),	"ebx");
--	&call("DES_encrypt2");
-+	&exch("ebx", "ebp");
-+	&call("DES_encrypt2\@PLT");
-+	&exch("ebx", "ebp");
- 
- 	&stack_pop(3);
- 	&mov($L,&DWP(0,"ebx","",0));
-Index: openssl-1.0.1c/crypto/perlasm/cbc.pl
-===================================================================
---- openssl-1.0.1c.orig/crypto/perlasm/cbc.pl	2011-07-13 08:22:46.000000000 +0200
-+++ openssl-1.0.1c/crypto/perlasm/cbc.pl	2012-07-29 14:15:26.000000000 +0200
-@@ -122,7 +122,11 @@
- 	&mov(&DWP($data_off,"esp","",0),	"eax");	# put in array for call
- 	&mov(&DWP($data_off+4,"esp","",0),	"ebx");	#
- 
--	&call($enc_func);
-+	&call	(&label("pic_point0"));
-+	&set_label("pic_point0");
-+	&blindpop("ebx");
-+	&add	("ebx", "\$_GLOBAL_OFFSET_TABLE_+[.-" . &label("pic_point0") . "]");
-+	&call("$enc_func\@PLT");
- 
- 	&mov("eax",	&DWP($data_off,"esp","",0));
- 	&mov("ebx",	&DWP($data_off+4,"esp","",0));
-@@ -185,7 +189,11 @@
- 	&mov(&DWP($data_off,"esp","",0),	"eax");	# put in array for call
- 	&mov(&DWP($data_off+4,"esp","",0),	"ebx");	#
- 
--	&call($enc_func);
-+	&call	(&label("pic_point1"));
-+	&set_label("pic_point1");
-+	&blindpop("ebx");
-+	&add	("ebx", "\$_GLOBAL_OFFSET_TABLE_+[.-" . &label("pic_point1") . "]");
-+	&call("$enc_func\@PLT");
- 
- 	&mov("eax",	&DWP($data_off,"esp","",0));
- 	&mov("ebx",	&DWP($data_off+4,"esp","",0));
-@@ -218,7 +226,11 @@
- 	&mov(&DWP($data_off,"esp","",0),	"eax");	# put back
- 	&mov(&DWP($data_off+4,"esp","",0),	"ebx");	#
- 
--	&call($dec_func);
-+	&call	(&label("pic_point2"));
-+	&set_label("pic_point2");
-+	&blindpop("ebx");
-+	&add	("ebx", "\$_GLOBAL_OFFSET_TABLE_+[.-" . &label("pic_point2") . "]");
-+	&call("$dec_func\@PLT");
- 
- 	&mov("eax",	&DWP($data_off,"esp","",0));	# get return
- 	&mov("ebx",	&DWP($data_off+4,"esp","",0));	#
-@@ -261,7 +273,11 @@
- 	&mov(&DWP($data_off,"esp","",0),	"eax");	# put back
- 	&mov(&DWP($data_off+4,"esp","",0),	"ebx");	#
- 
--	&call($dec_func);
-+	&call	(&label("pic_point3"));
-+	&set_label("pic_point3");
-+	&blindpop("ebx");
-+	&add	("ebx", "\$_GLOBAL_OFFSET_TABLE_+[.-" . &label("pic_point3") . "]");
-+	&call("$dec_func\@PLT");
- 
- 	&mov("eax",	&DWP($data_off,"esp","",0));	# get return
- 	&mov("ebx",	&DWP($data_off+4,"esp","",0));	#
-Index: openssl-1.0.1c/crypto/perlasm/x86gas.pl
-===================================================================
---- openssl-1.0.1c.orig/crypto/perlasm/x86gas.pl	2011-12-09 20:16:35.000000000 +0100
-+++ openssl-1.0.1c/crypto/perlasm/x86gas.pl	2012-07-29 14:15:26.000000000 +0200
-@@ -161,6 +161,7 @@
- 	if ($::macosx)	{ push (@out,"$tmp,2\n"); }
- 	elsif ($::elf)	{ push (@out,"$tmp,4\n"); }
- 	else		{ push (@out,"$tmp\n"); }
-+	if ($::elf)	{ push (@out,".hidden\tOPENSSL_ia32cap_P\n"); }
-     }
-     push(@out,$initseg) if ($initseg);
- }
-@@ -218,8 +219,23 @@
-     elsif ($::elf)
-     {	$initseg.=<<___;
- .section	.init
-+___
-+        if ($::pic)
-+	{   $initseg.=<<___;
-+	pushl	%ebx
-+	call	.pic_point0
-+.pic_point0:
-+	popl	%ebx
-+	addl	\$_GLOBAL_OFFSET_TABLE_+[.-.pic_point0],%ebx
-+	call	$f\@PLT
-+	popl	%ebx
-+___
-+	}
-+	else
-+	{   $initseg.=<<___;
- 	call	$f
- ___
-+	}
-     }
-     elsif ($::coff)
-     {   $initseg.=<<___;	# applies to both Cygwin and Mingw
-Index: openssl-1.0.1c/crypto/x86cpuid.pl
-===================================================================
---- openssl-1.0.1c.orig/crypto/x86cpuid.pl	2012-02-28 15:20:34.000000000 +0100
-+++ openssl-1.0.1c/crypto/x86cpuid.pl	2012-07-29 14:15:26.000000000 +0200
-@@ -8,6 +8,8 @@
- 
- for (@ARGV) { $sse2=1 if (/-DOPENSSL_IA32_SSE2/); }
- 
-+push(@out, ".hidden OPENSSL_ia32cap_P\n");
-+
- &function_begin("OPENSSL_ia32_cpuid");
- 	&xor	("edx","edx");
- 	&pushf	();
-@@ -139,9 +141,7 @@
- &set_label("nocpuid");
- &function_end("OPENSSL_ia32_cpuid");
- 
--&external_label("OPENSSL_ia32cap_P");
--
--&function_begin_B("OPENSSL_rdtsc","EXTRN\t_OPENSSL_ia32cap_P:DWORD");
-+&function_begin_B("OPENSSL_rdtsc");
- 	&xor	("eax","eax");
- 	&xor	("edx","edx");
- 	&picmeup("ecx","OPENSSL_ia32cap_P");
-@@ -155,7 +155,7 @@
- # This works in Ring 0 only [read DJGPP+MS-DOS+privileged DPMI host],
- # but it's safe to call it on any [supported] 32-bit platform...
- # Just check for [non-]zero return value...
--&function_begin_B("OPENSSL_instrument_halt","EXTRN\t_OPENSSL_ia32cap_P:DWORD");
-+&function_begin_B("OPENSSL_instrument_halt");
- 	&picmeup("ecx","OPENSSL_ia32cap_P");
- 	&bt	(&DWP(0,"ecx"),4);
- 	&jnc	(&label("nohalt"));	# no TSC
-@@ -222,7 +222,7 @@
- 	&ret	();
- &function_end_B("OPENSSL_far_spin");
- 
--&function_begin_B("OPENSSL_wipe_cpu","EXTRN\t_OPENSSL_ia32cap_P:DWORD");
-+&function_begin_B("OPENSSL_wipe_cpu");
- 	&xor	("eax","eax");
- 	&xor	("edx","edx");
- 	&picmeup("ecx","OPENSSL_ia32cap_P");
diff --git a/recipes-connectivity/openssl/openssl-qoriq/debian/version-script.patch b/recipes-connectivity/openssl/openssl-qoriq/debian/version-script.patch
deleted file mode 100644
index a249180..0000000
--- a/recipes-connectivity/openssl/openssl-qoriq/debian/version-script.patch
+++ /dev/null
@@ -1,4663 +0,0 @@
-Index: openssl-1.0.2~beta1.obsolete.0.0498436515490575/Configure
-===================================================================
---- openssl-1.0.2~beta1.obsolete.0.0498436515490575.orig/Configure	2014-02-24 21:02:30.000000000 +0100
-+++ openssl-1.0.2~beta1.obsolete.0.0498436515490575/Configure	2014-02-24 21:02:30.000000000 +0100
-@@ -1651,6 +1651,8 @@
- 		}
- 	}
- 
-+$shared_ldflag .= " -Wl,--version-script=openssl.ld";
-+
- open(IN,'<Makefile.org') || die "unable to read Makefile.org:$!\n";
- unlink("$Makefile.new") || die "unable to remove old $Makefile.new:$!\n" if -e "$Makefile.new";
- open(OUT,">$Makefile.new") || die "unable to create $Makefile.new:$!\n";
-Index: openssl-1.0.2~beta1.obsolete.0.0498436515490575/openssl.ld
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ openssl-1.0.2~beta1.obsolete.0.0498436515490575/openssl.ld	2014-02-24 22:19:08.601827266 +0100
-@@ -0,0 +1,4615 @@
-+OPENSSL_1.0.0 {
-+	global:
-+		BIO_f_ssl;
-+		BIO_new_buffer_ssl_connect;
-+		BIO_new_ssl;
-+		BIO_new_ssl_connect;
-+		BIO_proxy_ssl_copy_session_id;
-+		BIO_ssl_copy_session_id;
-+		BIO_ssl_shutdown;
-+		d2i_SSL_SESSION;
-+		DTLSv1_client_method;
-+		DTLSv1_method;
-+		DTLSv1_server_method;
-+		ERR_load_SSL_strings;
-+		i2d_SSL_SESSION;
-+		kssl_build_principal_2;
-+		kssl_cget_tkt;
-+		kssl_check_authent;
-+		kssl_ctx_free;
-+		kssl_ctx_new;
-+		kssl_ctx_setkey;
-+		kssl_ctx_setprinc;
-+		kssl_ctx_setstring;
-+		kssl_ctx_show;
-+		kssl_err_set;
-+		kssl_krb5_free_data_contents;
-+		kssl_sget_tkt;
-+		kssl_skip_confound;
-+		kssl_validate_times;
-+		PEM_read_bio_SSL_SESSION;
-+		PEM_read_SSL_SESSION;
-+		PEM_write_bio_SSL_SESSION;
-+		PEM_write_SSL_SESSION;
-+		SSL_accept;
-+		SSL_add_client_CA;
-+		SSL_add_dir_cert_subjects_to_stack;
-+		SSL_add_dir_cert_subjs_to_stk;
-+		SSL_add_file_cert_subjects_to_stack;
-+		SSL_add_file_cert_subjs_to_stk;
-+		SSL_alert_desc_string;
-+		SSL_alert_desc_string_long;
-+		SSL_alert_type_string;
-+		SSL_alert_type_string_long;
-+		SSL_callback_ctrl;
-+		SSL_check_private_key;
-+		SSL_CIPHER_description;
-+		SSL_CIPHER_get_bits;
-+		SSL_CIPHER_get_name;
-+		SSL_CIPHER_get_version;
-+		SSL_clear;
-+		SSL_COMP_add_compression_method;
-+		SSL_COMP_get_compression_methods;
-+		SSL_COMP_get_compress_methods;
-+		SSL_COMP_get_name;
-+		SSL_connect;
-+		SSL_copy_session_id;
-+		SSL_ctrl;
-+		SSL_CTX_add_client_CA;
-+		SSL_CTX_add_session;
-+		SSL_CTX_callback_ctrl;
-+		SSL_CTX_check_private_key;
-+		SSL_CTX_ctrl;
-+		SSL_CTX_flush_sessions;
-+		SSL_CTX_free;
-+		SSL_CTX_get_cert_store;
-+		SSL_CTX_get_client_CA_list;
-+		SSL_CTX_get_client_cert_cb;
-+		SSL_CTX_get_ex_data;
-+		SSL_CTX_get_ex_new_index;
-+		SSL_CTX_get_info_callback;
-+		SSL_CTX_get_quiet_shutdown;
-+		SSL_CTX_get_timeout;
-+		SSL_CTX_get_verify_callback;
-+		SSL_CTX_get_verify_depth;
-+		SSL_CTX_get_verify_mode;
-+		SSL_CTX_load_verify_locations;
-+		SSL_CTX_new;
-+		SSL_CTX_remove_session;
-+		SSL_CTX_sess_get_get_cb;
-+		SSL_CTX_sess_get_new_cb;
-+		SSL_CTX_sess_get_remove_cb;
-+		SSL_CTX_sessions;
-+		SSL_CTX_sess_set_get_cb;
-+		SSL_CTX_sess_set_new_cb;
-+		SSL_CTX_sess_set_remove_cb;
-+		SSL_CTX_set1_param;
-+		SSL_CTX_set_cert_store;
-+		SSL_CTX_set_cert_verify_callback;
-+		SSL_CTX_set_cert_verify_cb;
-+		SSL_CTX_set_cipher_list;
-+		SSL_CTX_set_client_CA_list;
-+		SSL_CTX_set_client_cert_cb;
-+		SSL_CTX_set_client_cert_engine;
-+		SSL_CTX_set_cookie_generate_cb;
-+		SSL_CTX_set_cookie_verify_cb;
-+		SSL_CTX_set_default_passwd_cb;
-+		SSL_CTX_set_default_passwd_cb_userdata;
-+		SSL_CTX_set_default_verify_paths;
-+		SSL_CTX_set_def_passwd_cb_ud;
-+		SSL_CTX_set_def_verify_paths;
-+		SSL_CTX_set_ex_data;
-+		SSL_CTX_set_generate_session_id;
-+		SSL_CTX_set_info_callback;
-+		SSL_CTX_set_msg_callback;
-+		SSL_CTX_set_psk_client_callback;
-+		SSL_CTX_set_psk_server_callback;
-+		SSL_CTX_set_purpose;
-+		SSL_CTX_set_quiet_shutdown;
-+		SSL_CTX_set_session_id_context;
-+		SSL_CTX_set_ssl_version;
-+		SSL_CTX_set_timeout;
-+		SSL_CTX_set_tmp_dh_callback;
-+		SSL_CTX_set_tmp_ecdh_callback;
-+		SSL_CTX_set_tmp_rsa_callback;
-+		SSL_CTX_set_trust;
-+		SSL_CTX_set_verify;
-+		SSL_CTX_set_verify_depth;
-+		SSL_CTX_use_cert_chain_file;
-+		SSL_CTX_use_certificate;
-+		SSL_CTX_use_certificate_ASN1;
-+		SSL_CTX_use_certificate_chain_file;
-+		SSL_CTX_use_certificate_file;
-+		SSL_CTX_use_PrivateKey;
-+		SSL_CTX_use_PrivateKey_ASN1;
-+		SSL_CTX_use_PrivateKey_file;
-+		SSL_CTX_use_psk_identity_hint;
-+		SSL_CTX_use_RSAPrivateKey;
-+		SSL_CTX_use_RSAPrivateKey_ASN1;
-+		SSL_CTX_use_RSAPrivateKey_file;
-+		SSL_do_handshake;
-+		SSL_dup;
-+		SSL_dup_CA_list;
-+		SSLeay_add_ssl_algorithms;
-+		SSL_free;
-+		SSL_get1_session;
-+		SSL_get_certificate;
-+		SSL_get_cipher_list;
-+		SSL_get_ciphers;
-+		SSL_get_client_CA_list;
-+		SSL_get_current_cipher;
-+		SSL_get_current_compression;
-+		SSL_get_current_expansion;
-+		SSL_get_default_timeout;
-+		SSL_get_error;
-+		SSL_get_ex_data;
-+		SSL_get_ex_data_X509_STORE_CTX_idx;
-+		SSL_get_ex_d_X509_STORE_CTX_idx;
-+		SSL_get_ex_new_index;
-+		SSL_get_fd;
-+		SSL_get_finished;
-+		SSL_get_info_callback;
-+		SSL_get_peer_cert_chain;
-+		SSL_get_peer_certificate;
-+		SSL_get_peer_finished;
-+		SSL_get_privatekey;
-+		SSL_get_psk_identity;
-+		SSL_get_psk_identity_hint;
-+		SSL_get_quiet_shutdown;
-+		SSL_get_rbio;
-+		SSL_get_read_ahead;
-+		SSL_get_rfd;
-+		SSL_get_servername;
-+		SSL_get_servername_type;
-+		SSL_get_session;
-+		SSL_get_shared_ciphers;
-+		SSL_get_shutdown;
-+		SSL_get_SSL_CTX;
-+		SSL_get_ssl_method;
-+		SSL_get_verify_callback;
-+		SSL_get_verify_depth;
-+		SSL_get_verify_mode;
-+		SSL_get_verify_result;
-+		SSL_get_version;
-+		SSL_get_wbio;
-+		SSL_get_wfd;
-+		SSL_has_matching_session_id;
-+		SSL_library_init;
-+		SSL_load_client_CA_file;
-+		SSL_load_error_strings;
-+		SSL_new;
-+		SSL_peek;
-+		SSL_pending;
-+		SSL_read;
-+		SSL_renegotiate;
-+		SSL_renegotiate_pending;
-+		SSL_rstate_string;
-+		SSL_rstate_string_long;
-+		SSL_SESSION_cmp;
-+		SSL_SESSION_free;
-+		SSL_SESSION_get_ex_data;
-+		SSL_SESSION_get_ex_new_index;
-+		SSL_SESSION_get_id;
-+		SSL_SESSION_get_time;
-+		SSL_SESSION_get_timeout;
-+		SSL_SESSION_hash;
-+		SSL_SESSION_new;
-+		SSL_SESSION_print;
-+		SSL_SESSION_print_fp;
-+		SSL_SESSION_set_ex_data;
-+		SSL_SESSION_set_time;
-+		SSL_SESSION_set_timeout;
-+		SSL_set1_param;
-+		SSL_set_accept_state;
-+		SSL_set_bio;
-+		SSL_set_cipher_list;
-+		SSL_set_client_CA_list;
-+		SSL_set_connect_state;
-+		SSL_set_ex_data;
-+		SSL_set_fd;
-+		SSL_set_generate_session_id;
-+		SSL_set_info_callback;
-+		SSL_set_msg_callback;
-+		SSL_set_psk_client_callback;
-+		SSL_set_psk_server_callback;
-+		SSL_set_purpose;
-+		SSL_set_quiet_shutdown;
-+		SSL_set_read_ahead;
-+		SSL_set_rfd;
-+		SSL_set_session;
-+		SSL_set_session_id_context;
-+		SSL_set_session_secret_cb;
-+		SSL_set_session_ticket_ext;
-+		SSL_set_session_ticket_ext_cb;
-+		SSL_set_shutdown;
-+		SSL_set_SSL_CTX;
-+		SSL_set_ssl_method;
-+		SSL_set_tmp_dh_callback;
-+		SSL_set_tmp_ecdh_callback;
-+		SSL_set_tmp_rsa_callback;
-+		SSL_set_trust;
-+		SSL_set_verify;
-+		SSL_set_verify_depth;
-+		SSL_set_verify_result;
-+		SSL_set_wfd;
-+		SSL_shutdown;
-+		SSL_state;
-+		SSL_state_string;
-+		SSL_state_string_long;
-+		SSL_use_certificate;
-+		SSL_use_certificate_ASN1;
-+		SSL_use_certificate_file;
-+		SSL_use_PrivateKey;
-+		SSL_use_PrivateKey_ASN1;
-+		SSL_use_PrivateKey_file;
-+		SSL_use_psk_identity_hint;
-+		SSL_use_RSAPrivateKey;
-+		SSL_use_RSAPrivateKey_ASN1;
-+		SSL_use_RSAPrivateKey_file;
-+		SSLv23_client_method;
-+		SSLv23_method;
-+		SSLv23_server_method;
-+		SSLv2_client_method;
-+		SSLv2_method;
-+		SSLv2_server_method;
-+		SSLv3_client_method;
-+		SSLv3_method;
-+		SSLv3_server_method;
-+		SSL_version;
-+		SSL_want;
-+		SSL_write;
-+		TLSv1_client_method;
-+		TLSv1_method;
-+		TLSv1_server_method;
-+
-+
-+		SSLeay;
-+		SSLeay_version;
-+		ASN1_BIT_STRING_asn1_meth;
-+		ASN1_HEADER_free;
-+		ASN1_HEADER_new;
-+		ASN1_IA5STRING_asn1_meth;
-+		ASN1_INTEGER_get;
-+		ASN1_INTEGER_set;
-+		ASN1_INTEGER_to_BN;
-+		ASN1_OBJECT_create;
-+		ASN1_OBJECT_free;
-+		ASN1_OBJECT_new;
-+		ASN1_PRINTABLE_type;
-+		ASN1_STRING_cmp;
-+		ASN1_STRING_dup;
-+		ASN1_STRING_free;
-+		ASN1_STRING_new;
-+		ASN1_STRING_print;
-+		ASN1_STRING_set;
-+		ASN1_STRING_type_new;
-+		ASN1_TYPE_free;
-+		ASN1_TYPE_new;
-+		ASN1_UNIVERSALSTRING_to_string;
-+		ASN1_UTCTIME_check;
-+		ASN1_UTCTIME_print;
-+		ASN1_UTCTIME_set;
-+		ASN1_check_infinite_end;
-+		ASN1_d2i_bio;
-+		ASN1_d2i_fp;
-+		ASN1_digest;
-+		ASN1_dup;
-+		ASN1_get_object;
-+		ASN1_i2d_bio;
-+		ASN1_i2d_fp;
-+		ASN1_object_size;
-+		ASN1_parse;
-+		ASN1_put_object;
-+		ASN1_sign;
-+		ASN1_verify;
-+		BF_cbc_encrypt;
-+		BF_cfb64_encrypt;
-+		BF_ecb_encrypt;
-+		BF_encrypt;
-+		BF_ofb64_encrypt;
-+		BF_options;
-+		BF_set_key;
-+		BIO_CONNECT_free;
-+		BIO_CONNECT_new;
-+		BIO_accept;
-+		BIO_ctrl;
-+		BIO_int_ctrl;
-+		BIO_debug_callback;
-+		BIO_dump;
-+		BIO_dup_chain;
-+		BIO_f_base64;
-+		BIO_f_buffer;
-+		BIO_f_cipher;
-+		BIO_f_md;
-+		BIO_f_null;
-+		BIO_f_proxy_server;
-+		BIO_fd_non_fatal_error;
-+		BIO_fd_should_retry;
-+		BIO_find_type;
-+		BIO_free;
-+		BIO_free_all;
-+		BIO_get_accept_socket;
-+		BIO_get_filter_bio;
-+		BIO_get_host_ip;
-+		BIO_get_port;
-+		BIO_get_retry_BIO;
-+		BIO_get_retry_reason;
-+		BIO_gethostbyname;
-+		BIO_gets;
-+		BIO_new;
-+		BIO_new_accept;
-+		BIO_new_connect;
-+		BIO_new_fd;
-+		BIO_new_file;
-+		BIO_new_fp;
-+		BIO_new_socket;
-+		BIO_pop;
-+		BIO_printf;
-+		BIO_push;
-+		BIO_puts;
-+		BIO_read;
-+		BIO_s_accept;
-+		BIO_s_connect;
-+		BIO_s_fd;
-+		BIO_s_file;
-+		BIO_s_mem;
-+		BIO_s_null;
-+		BIO_s_proxy_client;
-+		BIO_s_socket;
-+		BIO_set;
-+		BIO_set_cipher;
-+		BIO_set_tcp_ndelay;
-+		BIO_sock_cleanup;
-+		BIO_sock_error;
-+		BIO_sock_init;
-+		BIO_sock_non_fatal_error;
-+		BIO_sock_should_retry;
-+		BIO_socket_ioctl;
-+		BIO_write;
-+		BN_CTX_free;
-+		BN_CTX_new;
-+		BN_MONT_CTX_free;
-+		BN_MONT_CTX_new;
-+		BN_MONT_CTX_set;
-+		BN_add;
-+		BN_add_word;
-+		BN_hex2bn;
-+		BN_bin2bn;
-+		BN_bn2hex;
-+		BN_bn2bin;
-+		BN_clear;
-+		BN_clear_bit;
-+		BN_clear_free;
-+		BN_cmp;
-+		BN_copy;
-+		BN_div;
-+		BN_div_word;
-+		BN_dup;
-+		BN_free;
-+		BN_from_montgomery;
-+		BN_gcd;
-+		BN_generate_prime;
-+		BN_get_word;
-+		BN_is_bit_set;
-+		BN_is_prime;
-+		BN_lshift;
-+		BN_lshift1;
-+		BN_mask_bits;
-+		BN_mod;
-+		BN_mod_exp;
-+		BN_mod_exp_mont;
-+		BN_mod_exp_simple;
-+		BN_mod_inverse;
-+		BN_mod_mul;
-+		BN_mod_mul_montgomery;
-+		BN_mod_word;
-+		BN_mul;
-+		BN_new;
-+		BN_num_bits;
-+		BN_num_bits_word;
-+		BN_options;
-+		BN_print;
-+		BN_print_fp;
-+		BN_rand;
-+		BN_reciprocal;
-+		BN_rshift;
-+		BN_rshift1;
-+		BN_set_bit;
-+		BN_set_word;
-+		BN_sqr;
-+		BN_sub;
-+		BN_to_ASN1_INTEGER;
-+		BN_ucmp;
-+		BN_value_one;
-+		BUF_MEM_free;
-+		BUF_MEM_grow;
-+		BUF_MEM_new;
-+		BUF_strdup;
-+		CONF_free;
-+		CONF_get_number;
-+		CONF_get_section;
-+		CONF_get_string;
-+		CONF_load;
-+		CRYPTO_add_lock;
-+		CRYPTO_dbg_free;
-+		CRYPTO_dbg_malloc;
-+		CRYPTO_dbg_realloc;
-+		CRYPTO_dbg_remalloc;
-+		CRYPTO_free;
-+		CRYPTO_get_add_lock_callback;
-+		CRYPTO_get_id_callback;
-+		CRYPTO_get_lock_name;
-+		CRYPTO_get_locking_callback;
-+		CRYPTO_get_mem_functions;
-+		CRYPTO_lock;
-+		CRYPTO_malloc;
-+		CRYPTO_mem_ctrl;
-+		CRYPTO_mem_leaks;
-+		CRYPTO_mem_leaks_cb;
-+		CRYPTO_mem_leaks_fp;
-+		CRYPTO_realloc;
-+		CRYPTO_remalloc;
-+		CRYPTO_set_add_lock_callback;
-+		CRYPTO_set_id_callback;
-+		CRYPTO_set_locking_callback;
-+		CRYPTO_set_mem_functions;
-+		CRYPTO_thread_id;
-+		DH_check;
-+		DH_compute_key;
-+		DH_free;
-+		DH_generate_key;
-+		DH_generate_parameters;
-+		DH_new;
-+		DH_size;
-+		DHparams_print;
-+		DHparams_print_fp;
-+		DSA_free;
-+		DSA_generate_key;
-+		DSA_generate_parameters;
-+		DSA_is_prime;
-+		DSA_new;
-+		DSA_print;
-+		DSA_print_fp;
-+		DSA_sign;
-+		DSA_sign_setup;
-+		DSA_size;
-+		DSA_verify;
-+		DSAparams_print;
-+		DSAparams_print_fp;
-+		ERR_clear_error;
-+		ERR_error_string;
-+		ERR_free_strings;
-+		ERR_func_error_string;
-+		ERR_get_err_state_table;
-+		ERR_get_error;
-+		ERR_get_error_line;
-+		ERR_get_state;
-+		ERR_get_string_table;
-+		ERR_lib_error_string;
-+		ERR_load_ASN1_strings;
-+		ERR_load_BIO_strings;
-+		ERR_load_BN_strings;
-+		ERR_load_BUF_strings;
-+		ERR_load_CONF_strings;
-+		ERR_load_DH_strings;
-+		ERR_load_DSA_strings;
-+		ERR_load_ERR_strings;
-+		ERR_load_EVP_strings;
-+		ERR_load_OBJ_strings;
-+		ERR_load_PEM_strings;
-+		ERR_load_PROXY_strings;
-+		ERR_load_RSA_strings;
-+		ERR_load_X509_strings;
-+		ERR_load_crypto_strings;
-+		ERR_load_strings;
-+		ERR_peek_error;
-+		ERR_peek_error_line;
-+		ERR_print_errors;
-+		ERR_print_errors_fp;
-+		ERR_put_error;
-+		ERR_reason_error_string;
-+		ERR_remove_state;
-+		EVP_BytesToKey;
-+		EVP_CIPHER_CTX_cleanup;
-+		EVP_CipherFinal;
-+		EVP_CipherInit;
-+		EVP_CipherUpdate;
-+		EVP_DecodeBlock;
-+		EVP_DecodeFinal;
-+		EVP_DecodeInit;
-+		EVP_DecodeUpdate;
-+		EVP_DecryptFinal;
-+		EVP_DecryptInit;
-+		EVP_DecryptUpdate;
-+		EVP_DigestFinal;
-+		EVP_DigestInit;
-+		EVP_DigestUpdate;
-+		EVP_EncodeBlock;
-+		EVP_EncodeFinal;
-+		EVP_EncodeInit;
-+		EVP_EncodeUpdate;
-+		EVP_EncryptFinal;
-+		EVP_EncryptInit;
-+		EVP_EncryptUpdate;
-+		EVP_OpenFinal;
-+		EVP_OpenInit;
-+		EVP_PKEY_assign;
-+		EVP_PKEY_copy_parameters;
-+		EVP_PKEY_free;
-+		EVP_PKEY_missing_parameters;
-+		EVP_PKEY_new;
-+		EVP_PKEY_save_parameters;
-+		EVP_PKEY_size;
-+		EVP_PKEY_type;
-+		EVP_SealFinal;
-+		EVP_SealInit;
-+		EVP_SignFinal;
-+		EVP_VerifyFinal;
-+		EVP_add_alias;
-+		EVP_add_cipher;
-+		EVP_add_digest;
-+		EVP_bf_cbc;
-+		EVP_bf_cfb64;
-+		EVP_bf_ecb;
-+		EVP_bf_ofb;
-+		EVP_cleanup;
-+		EVP_des_cbc;
-+		EVP_des_cfb64;
-+		EVP_des_ecb;
-+		EVP_des_ede;
-+		EVP_des_ede3;
-+		EVP_des_ede3_cbc;
-+		EVP_des_ede3_cfb64;
-+		EVP_des_ede3_ofb;
-+		EVP_des_ede_cbc;
-+		EVP_des_ede_cfb64;
-+		EVP_des_ede_ofb;
-+		EVP_des_ofb;
-+		EVP_desx_cbc;
-+		EVP_dss;
-+		EVP_dss1;
-+		EVP_enc_null;
-+		EVP_get_cipherbyname;
-+		EVP_get_digestbyname;
-+		EVP_get_pw_prompt;
-+		EVP_idea_cbc;
-+		EVP_idea_cfb64;
-+		EVP_idea_ecb;
-+		EVP_idea_ofb;
-+		EVP_md2;
-+		EVP_md5;
-+		EVP_md_null;
-+		EVP_rc2_cbc;
-+		EVP_rc2_cfb64;
-+		EVP_rc2_ecb;
-+		EVP_rc2_ofb;
-+		EVP_rc4;
-+		EVP_read_pw_string;
-+		EVP_set_pw_prompt;
-+		EVP_sha;
-+		EVP_sha1;
-+		MD2;
-+		MD2_Final;
-+		MD2_Init;
-+		MD2_Update;
-+		MD2_options;
-+		MD5;
-+		MD5_Final;
-+		MD5_Init;
-+		MD5_Update;
-+		MDC2;
-+		MDC2_Final;
-+		MDC2_Init;
-+		MDC2_Update;
-+		NETSCAPE_SPKAC_free;
-+		NETSCAPE_SPKAC_new;
-+		NETSCAPE_SPKI_free;
-+		NETSCAPE_SPKI_new;
-+		NETSCAPE_SPKI_sign;
-+		NETSCAPE_SPKI_verify;
-+		OBJ_add_object;
-+		OBJ_bsearch;
-+		OBJ_cleanup;
-+		OBJ_cmp;
-+		OBJ_create;
-+		OBJ_dup;
-+		OBJ_ln2nid;
-+		OBJ_new_nid;
-+		OBJ_nid2ln;
-+		OBJ_nid2obj;
-+		OBJ_nid2sn;
-+		OBJ_obj2nid;
-+		OBJ_sn2nid;
-+		OBJ_txt2nid;
-+		PEM_ASN1_read;
-+		PEM_ASN1_read_bio;
-+		PEM_ASN1_write;
-+		PEM_ASN1_write_bio;
-+		PEM_SealFinal;
-+		PEM_SealInit;
-+		PEM_SealUpdate;
-+		PEM_SignFinal;
-+		PEM_SignInit;
-+		PEM_SignUpdate;
-+		PEM_X509_INFO_read;
-+		PEM_X509_INFO_read_bio;
-+		PEM_X509_INFO_write_bio;
-+		PEM_dek_info;
-+		PEM_do_header;
-+		PEM_get_EVP_CIPHER_INFO;
-+		PEM_proc_type;
-+		PEM_read;
-+		PEM_read_DHparams;
-+		PEM_read_DSAPrivateKey;
-+		PEM_read_DSAparams;
-+		PEM_read_PKCS7;
-+		PEM_read_PrivateKey;
-+		PEM_read_RSAPrivateKey;
-+		PEM_read_X509;
-+		PEM_read_X509_CRL;
-+		PEM_read_X509_REQ;
-+		PEM_read_bio;
-+		PEM_read_bio_DHparams;
-+		PEM_read_bio_DSAPrivateKey;
-+		PEM_read_bio_DSAparams;
-+		PEM_read_bio_PKCS7;
-+		PEM_read_bio_PrivateKey;
-+		PEM_read_bio_RSAPrivateKey;
-+		PEM_read_bio_X509;
-+		PEM_read_bio_X509_CRL;
-+		PEM_read_bio_X509_REQ;
-+		PEM_write;
-+		PEM_write_DHparams;
-+		PEM_write_DSAPrivateKey;
-+		PEM_write_DSAparams;
-+		PEM_write_PKCS7;
-+		PEM_write_PrivateKey;
-+		PEM_write_RSAPrivateKey;
-+		PEM_write_X509;
-+		PEM_write_X509_CRL;
-+		PEM_write_X509_REQ;
-+		PEM_write_bio;
-+		PEM_write_bio_DHparams;
-+		PEM_write_bio_DSAPrivateKey;
-+		PEM_write_bio_DSAparams;
-+		PEM_write_bio_PKCS7;
-+		PEM_write_bio_PrivateKey;
-+		PEM_write_bio_RSAPrivateKey;
-+		PEM_write_bio_X509;
-+		PEM_write_bio_X509_CRL;
-+		PEM_write_bio_X509_REQ;
-+		PKCS7_DIGEST_free;
-+		PKCS7_DIGEST_new;
-+		PKCS7_ENCRYPT_free;
-+		PKCS7_ENCRYPT_new;
-+		PKCS7_ENC_CONTENT_free;
-+		PKCS7_ENC_CONTENT_new;
-+		PKCS7_ENVELOPE_free;
-+		PKCS7_ENVELOPE_new;
-+		PKCS7_ISSUER_AND_SERIAL_digest;
-+		PKCS7_ISSUER_AND_SERIAL_free;
-+		PKCS7_ISSUER_AND_SERIAL_new;
-+		PKCS7_RECIP_INFO_free;
-+		PKCS7_RECIP_INFO_new;
-+		PKCS7_SIGNED_free;
-+		PKCS7_SIGNED_new;
-+		PKCS7_SIGNER_INFO_free;
-+		PKCS7_SIGNER_INFO_new;
-+		PKCS7_SIGN_ENVELOPE_free;
-+		PKCS7_SIGN_ENVELOPE_new;
-+		PKCS7_dup;
-+		PKCS7_free;
-+		PKCS7_new;
-+		PROXY_ENTRY_add_noproxy;
-+		PROXY_ENTRY_clear_noproxy;
-+		PROXY_ENTRY_free;
-+		PROXY_ENTRY_get_noproxy;
-+		PROXY_ENTRY_new;
-+		PROXY_ENTRY_set_server;
-+		PROXY_add_noproxy;
-+		PROXY_add_server;
-+		PROXY_check_by_host;
-+		PROXY_check_url;
-+		PROXY_clear_noproxy;
-+		PROXY_free;
-+		PROXY_get_noproxy;
-+		PROXY_get_proxies;
-+		PROXY_get_proxy_entry;
-+		PROXY_load_conf;
-+		PROXY_new;
-+		PROXY_print;
-+		RAND_bytes;
-+		RAND_cleanup;
-+		RAND_file_name;
-+		RAND_load_file;
-+		RAND_screen;
-+		RAND_seed;
-+		RAND_write_file;
-+		RC2_cbc_encrypt;
-+		RC2_cfb64_encrypt;
-+		RC2_ecb_encrypt;
-+		RC2_encrypt;
-+		RC2_ofb64_encrypt;
-+		RC2_set_key;
-+		RC4;
-+		RC4_options;
-+		RC4_set_key;
-+		RSAPrivateKey_asn1_meth;
-+		RSAPrivateKey_dup;
-+		RSAPublicKey_dup;
-+		RSA_PKCS1_SSLeay;
-+		RSA_free;
-+		RSA_generate_key;
-+		RSA_new;
-+		RSA_new_method;
-+		RSA_print;
-+		RSA_print_fp;
-+		RSA_private_decrypt;
-+		RSA_private_encrypt;
-+		RSA_public_decrypt;
-+		RSA_public_encrypt;
-+		RSA_set_default_method;
-+		RSA_sign;
-+		RSA_sign_ASN1_OCTET_STRING;
-+		RSA_size;
-+		RSA_verify;
-+		RSA_verify_ASN1_OCTET_STRING;
-+		SHA;
-+		SHA1;
-+		SHA1_Final;
-+		SHA1_Init;
-+		SHA1_Update;
-+		SHA_Final;
-+		SHA_Init;
-+		SHA_Update;
-+		OpenSSL_add_all_algorithms;
-+		OpenSSL_add_all_ciphers;
-+		OpenSSL_add_all_digests;
-+		TXT_DB_create_index;
-+		TXT_DB_free;
-+		TXT_DB_get_by_index;
-+		TXT_DB_insert;
-+		TXT_DB_read;
-+		TXT_DB_write;
-+		X509_ALGOR_free;
-+		X509_ALGOR_new;
-+		X509_ATTRIBUTE_free;
-+		X509_ATTRIBUTE_new;
-+		X509_CINF_free;
-+		X509_CINF_new;
-+		X509_CRL_INFO_free;
-+		X509_CRL_INFO_new;
-+		X509_CRL_add_ext;
-+		X509_CRL_cmp;
-+		X509_CRL_delete_ext;
-+		X509_CRL_dup;
-+		X509_CRL_free;
-+		X509_CRL_get_ext;
-+		X509_CRL_get_ext_by_NID;
-+		X509_CRL_get_ext_by_OBJ;
-+		X509_CRL_get_ext_by_critical;
-+		X509_CRL_get_ext_count;
-+		X509_CRL_new;
-+		X509_CRL_sign;
-+		X509_CRL_verify;
-+		X509_EXTENSION_create_by_NID;
-+		X509_EXTENSION_create_by_OBJ;
-+		X509_EXTENSION_dup;
-+		X509_EXTENSION_free;
-+		X509_EXTENSION_get_critical;
-+		X509_EXTENSION_get_data;
-+		X509_EXTENSION_get_object;
-+		X509_EXTENSION_new;
-+		X509_EXTENSION_set_critical;
-+		X509_EXTENSION_set_data;
-+		X509_EXTENSION_set_object;
-+		X509_INFO_free;
-+		X509_INFO_new;
-+		X509_LOOKUP_by_alias;
-+		X509_LOOKUP_by_fingerprint;
-+		X509_LOOKUP_by_issuer_serial;
-+		X509_LOOKUP_by_subject;
-+		X509_LOOKUP_ctrl;
-+		X509_LOOKUP_file;
-+		X509_LOOKUP_free;
-+		X509_LOOKUP_hash_dir;
-+		X509_LOOKUP_init;
-+		X509_LOOKUP_new;
-+		X509_LOOKUP_shutdown;
-+		X509_NAME_ENTRY_create_by_NID;
-+		X509_NAME_ENTRY_create_by_OBJ;
-+		X509_NAME_ENTRY_dup;
-+		X509_NAME_ENTRY_free;
-+		X509_NAME_ENTRY_get_data;
-+		X509_NAME_ENTRY_get_object;
-+		X509_NAME_ENTRY_new;
-+		X509_NAME_ENTRY_set_data;
-+		X509_NAME_ENTRY_set_object;
-+		X509_NAME_add_entry;
-+		X509_NAME_cmp;
-+		X509_NAME_delete_entry;
-+		X509_NAME_digest;
-+		X509_NAME_dup;
-+		X509_NAME_entry_count;
-+		X509_NAME_free;
-+		X509_NAME_get_entry;
-+		X509_NAME_get_index_by_NID;
-+		X509_NAME_get_index_by_OBJ;
-+		X509_NAME_get_text_by_NID;
-+		X509_NAME_get_text_by_OBJ;
-+		X509_NAME_hash;
-+		X509_NAME_new;
-+		X509_NAME_oneline;
-+		X509_NAME_print;
-+		X509_NAME_set;
-+		X509_OBJECT_free_contents;
-+		X509_OBJECT_retrieve_by_subject;
-+		X509_OBJECT_up_ref_count;
-+		X509_PKEY_free;
-+		X509_PKEY_new;
-+		X509_PUBKEY_free;
-+		X509_PUBKEY_get;
-+		X509_PUBKEY_new;
-+		X509_PUBKEY_set;
-+		X509_REQ_INFO_free;
-+		X509_REQ_INFO_new;
-+		X509_REQ_dup;
-+		X509_REQ_free;
-+		X509_REQ_get_pubkey;
-+		X509_REQ_new;
-+		X509_REQ_print;
-+		X509_REQ_print_fp;
-+		X509_REQ_set_pubkey;
-+		X509_REQ_set_subject_name;
-+		X509_REQ_set_version;
-+		X509_REQ_sign;
-+		X509_REQ_to_X509;
-+		X509_REQ_verify;
-+		X509_REVOKED_add_ext;
-+		X509_REVOKED_delete_ext;
-+		X509_REVOKED_free;
-+		X509_REVOKED_get_ext;
-+		X509_REVOKED_get_ext_by_NID;
-+		X509_REVOKED_get_ext_by_OBJ;
-+		X509_REVOKED_get_ext_by_critical;
-+		X509_REVOKED_get_ext_by_critic;
-+		X509_REVOKED_get_ext_count;
-+		X509_REVOKED_new;
-+		X509_SIG_free;
-+		X509_SIG_new;
-+		X509_STORE_CTX_cleanup;
-+		X509_STORE_CTX_init;
-+		X509_STORE_add_cert;
-+		X509_STORE_add_lookup;
-+		X509_STORE_free;
-+		X509_STORE_get_by_subject;
-+		X509_STORE_load_locations;
-+		X509_STORE_new;
-+		X509_STORE_set_default_paths;
-+		X509_VAL_free;
-+		X509_VAL_new;
-+		X509_add_ext;
-+		X509_asn1_meth;
-+		X509_certificate_type;
-+		X509_check_private_key;
-+		X509_cmp_current_time;
-+		X509_delete_ext;
-+		X509_digest;
-+		X509_dup;
-+		X509_free;
-+		X509_get_default_cert_area;
-+		X509_get_default_cert_dir;
-+		X509_get_default_cert_dir_env;
-+		X509_get_default_cert_file;
-+		X509_get_default_cert_file_env;
-+		X509_get_default_private_dir;
-+		X509_get_ext;
-+		X509_get_ext_by_NID;
-+		X509_get_ext_by_OBJ;
-+		X509_get_ext_by_critical;
-+		X509_get_ext_count;
-+		X509_get_issuer_name;
-+		X509_get_pubkey;
-+		X509_get_pubkey_parameters;
-+		X509_get_serialNumber;
-+		X509_get_subject_name;
-+		X509_gmtime_adj;
-+		X509_issuer_and_serial_cmp;
-+		X509_issuer_and_serial_hash;
-+		X509_issuer_name_cmp;
-+		X509_issuer_name_hash;
-+		X509_load_cert_file;
-+		X509_new;
-+		X509_print;
-+		X509_print_fp;
-+		X509_set_issuer_name;
-+		X509_set_notAfter;
-+		X509_set_notBefore;
-+		X509_set_pubkey;
-+		X509_set_serialNumber;
-+		X509_set_subject_name;
-+		X509_set_version;
-+		X509_sign;
-+		X509_subject_name_cmp;
-+		X509_subject_name_hash;
-+		X509_to_X509_REQ;
-+		X509_verify;
-+		X509_verify_cert;
-+		X509_verify_cert_error_string;
-+		X509v3_add_ext;
-+		X509v3_add_extension;
-+		X509v3_add_netscape_extensions;
-+		X509v3_add_standard_extensions;
-+		X509v3_cleanup_extensions;
-+		X509v3_data_type_by_NID;
-+		X509v3_data_type_by_OBJ;
-+		X509v3_delete_ext;
-+		X509v3_get_ext;
-+		X509v3_get_ext_by_NID;
-+		X509v3_get_ext_by_OBJ;
-+		X509v3_get_ext_by_critical;
-+		X509v3_get_ext_count;
-+		X509v3_pack_string;
-+		X509v3_pack_type_by_NID;
-+		X509v3_pack_type_by_OBJ;
-+		X509v3_unpack_string;
-+		_des_crypt;
-+		a2d_ASN1_OBJECT;
-+		a2i_ASN1_INTEGER;
-+		a2i_ASN1_STRING;
-+		asn1_Finish;
-+		asn1_GetSequence;
-+		bn_div_words;
-+		bn_expand2;
-+		bn_mul_add_words;
-+		bn_mul_words;
-+		BN_uadd;
-+		BN_usub;
-+		bn_sqr_words;
-+		_ossl_old_crypt;
-+		d2i_ASN1_BIT_STRING;
-+		d2i_ASN1_BOOLEAN;
-+		d2i_ASN1_HEADER;
-+		d2i_ASN1_IA5STRING;
-+		d2i_ASN1_INTEGER;
-+		d2i_ASN1_OBJECT;
-+		d2i_ASN1_OCTET_STRING;
-+		d2i_ASN1_PRINTABLE;
-+		d2i_ASN1_PRINTABLESTRING;
-+		d2i_ASN1_SET;
-+		d2i_ASN1_T61STRING;
-+		d2i_ASN1_TYPE;
-+		d2i_ASN1_UTCTIME;
-+		d2i_ASN1_bytes;
-+		d2i_ASN1_type_bytes;
-+		d2i_DHparams;
-+		d2i_DSAPrivateKey;
-+		d2i_DSAPrivateKey_bio;
-+		d2i_DSAPrivateKey_fp;
-+		d2i_DSAPublicKey;
-+		d2i_DSAparams;
-+		d2i_NETSCAPE_SPKAC;
-+		d2i_NETSCAPE_SPKI;
-+		d2i_Netscape_RSA;
-+		d2i_PKCS7;
-+		d2i_PKCS7_DIGEST;
-+		d2i_PKCS7_ENCRYPT;
-+		d2i_PKCS7_ENC_CONTENT;
-+		d2i_PKCS7_ENVELOPE;
-+		d2i_PKCS7_ISSUER_AND_SERIAL;
-+		d2i_PKCS7_RECIP_INFO;
-+		d2i_PKCS7_SIGNED;
-+		d2i_PKCS7_SIGNER_INFO;
-+		d2i_PKCS7_SIGN_ENVELOPE;
-+		d2i_PKCS7_bio;
-+		d2i_PKCS7_fp;
-+		d2i_PrivateKey;
-+		d2i_PublicKey;
-+		d2i_RSAPrivateKey;
-+		d2i_RSAPrivateKey_bio;
-+		d2i_RSAPrivateKey_fp;
-+		d2i_RSAPublicKey;
-+		d2i_X509;
-+		d2i_X509_ALGOR;
-+		d2i_X509_ATTRIBUTE;
-+		d2i_X509_CINF;
-+		d2i_X509_CRL;
-+		d2i_X509_CRL_INFO;
-+		d2i_X509_CRL_bio;
-+		d2i_X509_CRL_fp;
-+		d2i_X509_EXTENSION;
-+		d2i_X509_NAME;
-+		d2i_X509_NAME_ENTRY;
-+		d2i_X509_PKEY;
-+		d2i_X509_PUBKEY;
-+		d2i_X509_REQ;
-+		d2i_X509_REQ_INFO;
-+		d2i_X509_REQ_bio;
-+		d2i_X509_REQ_fp;
-+		d2i_X509_REVOKED;
-+		d2i_X509_SIG;
-+		d2i_X509_VAL;
-+		d2i_X509_bio;
-+		d2i_X509_fp;
-+		DES_cbc_cksum;
-+		DES_cbc_encrypt;
-+		DES_cblock_print_file;
-+		DES_cfb64_encrypt;
-+		DES_cfb_encrypt;
-+		DES_decrypt3;
-+		DES_ecb3_encrypt;
-+		DES_ecb_encrypt;
-+		DES_ede3_cbc_encrypt;
-+		DES_ede3_cfb64_encrypt;
-+		DES_ede3_ofb64_encrypt;
-+		DES_enc_read;
-+		DES_enc_write;
-+		DES_encrypt1;
-+		DES_encrypt2;
-+		DES_encrypt3;
-+		DES_fcrypt;
-+		DES_is_weak_key;
-+		DES_key_sched;
-+		DES_ncbc_encrypt;
-+		DES_ofb64_encrypt;
-+		DES_ofb_encrypt;
-+		DES_options;
-+		DES_pcbc_encrypt;
-+		DES_quad_cksum;
-+		DES_random_key;
-+		_ossl_old_des_random_seed;
-+		_ossl_old_des_read_2passwords;
-+		_ossl_old_des_read_password;
-+		_ossl_old_des_read_pw;
-+		_ossl_old_des_read_pw_string;
-+		DES_set_key;
-+		DES_set_odd_parity;
-+		DES_string_to_2keys;
-+		DES_string_to_key;
-+		DES_xcbc_encrypt;
-+		DES_xwhite_in2out;
-+		fcrypt_body;
-+		i2a_ASN1_INTEGER;
-+		i2a_ASN1_OBJECT;
-+		i2a_ASN1_STRING;
-+		i2d_ASN1_BIT_STRING;
-+		i2d_ASN1_BOOLEAN;
-+		i2d_ASN1_HEADER;
-+		i2d_ASN1_IA5STRING;
-+		i2d_ASN1_INTEGER;
-+		i2d_ASN1_OBJECT;
-+		i2d_ASN1_OCTET_STRING;
-+		i2d_ASN1_PRINTABLE;
-+		i2d_ASN1_SET;
-+		i2d_ASN1_TYPE;
-+		i2d_ASN1_UTCTIME;
-+		i2d_ASN1_bytes;
-+		i2d_DHparams;
-+		i2d_DSAPrivateKey;
-+		i2d_DSAPrivateKey_bio;
-+		i2d_DSAPrivateKey_fp;
-+		i2d_DSAPublicKey;
-+		i2d_DSAparams;
-+		i2d_NETSCAPE_SPKAC;
-+		i2d_NETSCAPE_SPKI;
-+		i2d_Netscape_RSA;
-+		i2d_PKCS7;
-+		i2d_PKCS7_DIGEST;
-+		i2d_PKCS7_ENCRYPT;
-+		i2d_PKCS7_ENC_CONTENT;
-+		i2d_PKCS7_ENVELOPE;
-+		i2d_PKCS7_ISSUER_AND_SERIAL;
-+		i2d_PKCS7_RECIP_INFO;
-+		i2d_PKCS7_SIGNED;
-+		i2d_PKCS7_SIGNER_INFO;
-+		i2d_PKCS7_SIGN_ENVELOPE;
-+		i2d_PKCS7_bio;
-+		i2d_PKCS7_fp;
-+		i2d_PrivateKey;
-+		i2d_PublicKey;
-+		i2d_RSAPrivateKey;
-+		i2d_RSAPrivateKey_bio;
-+		i2d_RSAPrivateKey_fp;
-+		i2d_RSAPublicKey;
-+		i2d_X509;
-+		i2d_X509_ALGOR;
-+		i2d_X509_ATTRIBUTE;
-+		i2d_X509_CINF;
-+		i2d_X509_CRL;
-+		i2d_X509_CRL_INFO;
-+		i2d_X509_CRL_bio;
-+		i2d_X509_CRL_fp;
-+		i2d_X509_EXTENSION;
-+		i2d_X509_NAME;
-+		i2d_X509_NAME_ENTRY;
-+		i2d_X509_PKEY;
-+		i2d_X509_PUBKEY;
-+		i2d_X509_REQ;
-+		i2d_X509_REQ_INFO;
-+		i2d_X509_REQ_bio;
-+		i2d_X509_REQ_fp;
-+		i2d_X509_REVOKED;
-+		i2d_X509_SIG;
-+		i2d_X509_VAL;
-+		i2d_X509_bio;
-+		i2d_X509_fp;
-+		idea_cbc_encrypt;
-+		idea_cfb64_encrypt;
-+		idea_ecb_encrypt;
-+		idea_encrypt;
-+		idea_ofb64_encrypt;
-+		idea_options;
-+		idea_set_decrypt_key;
-+		idea_set_encrypt_key;
-+		lh_delete;
-+		lh_doall;
-+		lh_doall_arg;
-+		lh_free;
-+		lh_insert;
-+		lh_new;
-+		lh_node_stats;
-+		lh_node_stats_bio;
-+		lh_node_usage_stats;
-+		lh_node_usage_stats_bio;
-+		lh_retrieve;
-+		lh_stats;
-+		lh_stats_bio;
-+		lh_strhash;
-+		sk_delete;
-+		sk_delete_ptr;
-+		sk_dup;
-+		sk_find;
-+		sk_free;
-+		sk_insert;
-+		sk_new;
-+		sk_pop;
-+		sk_pop_free;
-+		sk_push;
-+		sk_set_cmp_func;
-+		sk_shift;
-+		sk_unshift;
-+		sk_zero;
-+		BIO_f_nbio_test;
-+		ASN1_TYPE_get;
-+		ASN1_TYPE_set;
-+		PKCS7_content_free;
-+		ERR_load_PKCS7_strings;
-+		X509_find_by_issuer_and_serial;
-+		X509_find_by_subject;
-+		PKCS7_ctrl;
-+		PKCS7_set_type;
-+		PKCS7_set_content;
-+		PKCS7_SIGNER_INFO_set;
-+		PKCS7_add_signer;
-+		PKCS7_add_certificate;
-+		PKCS7_add_crl;
-+		PKCS7_content_new;
-+		PKCS7_dataSign;
-+		PKCS7_dataVerify;
-+		PKCS7_dataInit;
-+		PKCS7_add_signature;
-+		PKCS7_cert_from_signer_info;
-+		PKCS7_get_signer_info;
-+		EVP_delete_alias;
-+		EVP_mdc2;
-+		PEM_read_bio_RSAPublicKey;
-+		PEM_write_bio_RSAPublicKey;
-+		d2i_RSAPublicKey_bio;
-+		i2d_RSAPublicKey_bio;
-+		PEM_read_RSAPublicKey;
-+		PEM_write_RSAPublicKey;
-+		d2i_RSAPublicKey_fp;
-+		i2d_RSAPublicKey_fp;
-+		BIO_copy_next_retry;
-+		RSA_flags;
-+		X509_STORE_add_crl;
-+		X509_load_crl_file;
-+		EVP_rc2_40_cbc;
-+		EVP_rc4_40;
-+		EVP_CIPHER_CTX_init;
-+		HMAC;
-+		HMAC_Init;
-+		HMAC_Update;
-+		HMAC_Final;
-+		ERR_get_next_error_library;
-+		EVP_PKEY_cmp_parameters;
-+		HMAC_cleanup;
-+		BIO_ptr_ctrl;
-+		BIO_new_file_internal;
-+		BIO_new_fp_internal;
-+		BIO_s_file_internal;
-+		BN_BLINDING_convert;
-+		BN_BLINDING_invert;
-+		BN_BLINDING_update;
-+		RSA_blinding_on;
-+		RSA_blinding_off;
-+		i2t_ASN1_OBJECT;
-+		BN_BLINDING_new;
-+		BN_BLINDING_free;
-+		EVP_cast5_cbc;
-+		EVP_cast5_cfb64;
-+		EVP_cast5_ecb;
-+		EVP_cast5_ofb;
-+		BF_decrypt;
-+		CAST_set_key;
-+		CAST_encrypt;
-+		CAST_decrypt;
-+		CAST_ecb_encrypt;
-+		CAST_cbc_encrypt;
-+		CAST_cfb64_encrypt;
-+		CAST_ofb64_encrypt;
-+		RC2_decrypt;
-+		OBJ_create_objects;
-+		BN_exp;
-+		BN_mul_word;
-+		BN_sub_word;
-+		BN_dec2bn;
-+		BN_bn2dec;
-+		BIO_ghbn_ctrl;
-+		CRYPTO_free_ex_data;
-+		CRYPTO_get_ex_data;
-+		CRYPTO_set_ex_data;
-+		ERR_load_CRYPTO_strings;
-+		ERR_load_CRYPTOlib_strings;
-+		EVP_PKEY_bits;
-+		MD5_Transform;
-+		SHA1_Transform;
-+		SHA_Transform;
-+		X509_STORE_CTX_get_chain;
-+		X509_STORE_CTX_get_current_cert;
-+		X509_STORE_CTX_get_error;
-+		X509_STORE_CTX_get_error_depth;
-+		X509_STORE_CTX_get_ex_data;
-+		X509_STORE_CTX_set_cert;
-+		X509_STORE_CTX_set_chain;
-+		X509_STORE_CTX_set_error;
-+		X509_STORE_CTX_set_ex_data;
-+		CRYPTO_dup_ex_data;
-+		CRYPTO_get_new_lockid;
-+		CRYPTO_new_ex_data;
-+		RSA_set_ex_data;
-+		RSA_get_ex_data;
-+		RSA_get_ex_new_index;
-+		RSA_padding_add_PKCS1_type_1;
-+		RSA_padding_add_PKCS1_type_2;
-+		RSA_padding_add_SSLv23;
-+		RSA_padding_add_none;
-+		RSA_padding_check_PKCS1_type_1;
-+		RSA_padding_check_PKCS1_type_2;
-+		RSA_padding_check_SSLv23;
-+		RSA_padding_check_none;
-+		bn_add_words;
-+		d2i_Netscape_RSA_2;
-+		CRYPTO_get_ex_new_index;
-+		RIPEMD160_Init;
-+		RIPEMD160_Update;
-+		RIPEMD160_Final;
-+		RIPEMD160;
-+		RIPEMD160_Transform;
-+		RC5_32_set_key;
-+		RC5_32_ecb_encrypt;
-+		RC5_32_encrypt;
-+		RC5_32_decrypt;
-+		RC5_32_cbc_encrypt;
-+		RC5_32_cfb64_encrypt;
-+		RC5_32_ofb64_encrypt;
-+		BN_bn2mpi;
-+		BN_mpi2bn;
-+		ASN1_BIT_STRING_get_bit;
-+		ASN1_BIT_STRING_set_bit;
-+		BIO_get_ex_data;
-+		BIO_get_ex_new_index;
-+		BIO_set_ex_data;
-+		X509v3_get_key_usage;
-+		X509v3_set_key_usage;
-+		a2i_X509v3_key_usage;
-+		i2a_X509v3_key_usage;
-+		EVP_PKEY_decrypt;
-+		EVP_PKEY_encrypt;
-+		PKCS7_RECIP_INFO_set;
-+		PKCS7_add_recipient;
-+		PKCS7_add_recipient_info;
-+		PKCS7_set_cipher;
-+		ASN1_TYPE_get_int_octetstring;
-+		ASN1_TYPE_get_octetstring;
-+		ASN1_TYPE_set_int_octetstring;
-+		ASN1_TYPE_set_octetstring;
-+		ASN1_UTCTIME_set_string;
-+		ERR_add_error_data;
-+		ERR_set_error_data;
-+		EVP_CIPHER_asn1_to_param;
-+		EVP_CIPHER_param_to_asn1;
-+		EVP_CIPHER_get_asn1_iv;
-+		EVP_CIPHER_set_asn1_iv;
-+		EVP_rc5_32_12_16_cbc;
-+		EVP_rc5_32_12_16_cfb64;
-+		EVP_rc5_32_12_16_ecb;
-+		EVP_rc5_32_12_16_ofb;
-+		asn1_add_error;
-+		d2i_ASN1_BMPSTRING;
-+		i2d_ASN1_BMPSTRING;
-+		BIO_f_ber;
-+		BN_init;
-+		COMP_CTX_new;
-+		COMP_CTX_free;
-+		COMP_CTX_compress_block;
-+		COMP_CTX_expand_block;
-+		X509_STORE_CTX_get_ex_new_index;
-+		OBJ_NAME_add;
-+		BIO_socket_nbio;
-+		EVP_rc2_64_cbc;
-+		OBJ_NAME_cleanup;
-+		OBJ_NAME_get;
-+		OBJ_NAME_init;
-+		OBJ_NAME_new_index;
-+		OBJ_NAME_remove;
-+		BN_MONT_CTX_copy;
-+		BIO_new_socks4a_connect;
-+		BIO_s_socks4a_connect;
-+		PROXY_set_connect_mode;
-+		RAND_SSLeay;
-+		RAND_set_rand_method;
-+		RSA_memory_lock;
-+		bn_sub_words;
-+		bn_mul_normal;
-+		bn_mul_comba8;
-+		bn_mul_comba4;
-+		bn_sqr_normal;
-+		bn_sqr_comba8;
-+		bn_sqr_comba4;
-+		bn_cmp_words;
-+		bn_mul_recursive;
-+		bn_mul_part_recursive;
-+		bn_sqr_recursive;
-+		bn_mul_low_normal;
-+		BN_RECP_CTX_init;
-+		BN_RECP_CTX_new;
-+		BN_RECP_CTX_free;
-+		BN_RECP_CTX_set;
-+		BN_mod_mul_reciprocal;
-+		BN_mod_exp_recp;
-+		BN_div_recp;
-+		BN_CTX_init;
-+		BN_MONT_CTX_init;
-+		RAND_get_rand_method;
-+		PKCS7_add_attribute;
-+		PKCS7_add_signed_attribute;
-+		PKCS7_digest_from_attributes;
-+		PKCS7_get_attribute;
-+		PKCS7_get_issuer_and_serial;
-+		PKCS7_get_signed_attribute;
-+		COMP_compress_block;
-+		COMP_expand_block;
-+		COMP_rle;
-+		COMP_zlib;
-+		ms_time_diff;
-+		ms_time_new;
-+		ms_time_free;
-+		ms_time_cmp;
-+		ms_time_get;
-+		PKCS7_set_attributes;
-+		PKCS7_set_signed_attributes;
-+		X509_ATTRIBUTE_create;
-+		X509_ATTRIBUTE_dup;
-+		ASN1_GENERALIZEDTIME_check;
-+		ASN1_GENERALIZEDTIME_print;
-+		ASN1_GENERALIZEDTIME_set;
-+		ASN1_GENERALIZEDTIME_set_string;
-+		ASN1_TIME_print;
-+		BASIC_CONSTRAINTS_free;
-+		BASIC_CONSTRAINTS_new;
-+		ERR_load_X509V3_strings;
-+		NETSCAPE_CERT_SEQUENCE_free;
-+		NETSCAPE_CERT_SEQUENCE_new;
-+		OBJ_txt2obj;
-+		PEM_read_NETSCAPE_CERT_SEQUENCE;
-+		PEM_read_NS_CERT_SEQ;
-+		PEM_read_bio_NETSCAPE_CERT_SEQUENCE;
-+		PEM_read_bio_NS_CERT_SEQ;
-+		PEM_write_NETSCAPE_CERT_SEQUENCE;
-+		PEM_write_NS_CERT_SEQ;
-+		PEM_write_bio_NETSCAPE_CERT_SEQUENCE;
-+		PEM_write_bio_NS_CERT_SEQ;
-+		X509V3_EXT_add;
-+		X509V3_EXT_add_alias;
-+		X509V3_EXT_add_conf;
-+		X509V3_EXT_cleanup;
-+		X509V3_EXT_conf;
-+		X509V3_EXT_conf_nid;
-+		X509V3_EXT_get;
-+		X509V3_EXT_get_nid;
-+		X509V3_EXT_print;
-+		X509V3_EXT_print_fp;
-+		X509V3_add_standard_extensions;
-+		X509V3_add_value;
-+		X509V3_add_value_bool;
-+		X509V3_add_value_int;
-+		X509V3_conf_free;
-+		X509V3_get_value_bool;
-+		X509V3_get_value_int;
-+		X509V3_parse_list;
-+		d2i_ASN1_GENERALIZEDTIME;
-+		d2i_ASN1_TIME;
-+		d2i_BASIC_CONSTRAINTS;
-+		d2i_NETSCAPE_CERT_SEQUENCE;
-+		d2i_ext_ku;
-+		ext_ku_free;
-+		ext_ku_new;
-+		i2d_ASN1_GENERALIZEDTIME;
-+		i2d_ASN1_TIME;
-+		i2d_BASIC_CONSTRAINTS;
-+		i2d_NETSCAPE_CERT_SEQUENCE;
-+		i2d_ext_ku;
-+		EVP_MD_CTX_copy;
-+		i2d_ASN1_ENUMERATED;
-+		d2i_ASN1_ENUMERATED;
-+		ASN1_ENUMERATED_set;
-+		ASN1_ENUMERATED_get;
-+		BN_to_ASN1_ENUMERATED;
-+		ASN1_ENUMERATED_to_BN;
-+		i2a_ASN1_ENUMERATED;
-+		a2i_ASN1_ENUMERATED;
-+		i2d_GENERAL_NAME;
-+		d2i_GENERAL_NAME;
-+		GENERAL_NAME_new;
-+		GENERAL_NAME_free;
-+		GENERAL_NAMES_new;
-+		GENERAL_NAMES_free;
-+		d2i_GENERAL_NAMES;
-+		i2d_GENERAL_NAMES;
-+		i2v_GENERAL_NAMES;
-+		i2s_ASN1_OCTET_STRING;
-+		s2i_ASN1_OCTET_STRING;
-+		X509V3_EXT_check_conf;
-+		hex_to_string;
-+		string_to_hex;
-+		DES_ede3_cbcm_encrypt;
-+		RSA_padding_add_PKCS1_OAEP;
-+		RSA_padding_check_PKCS1_OAEP;
-+		X509_CRL_print_fp;
-+		X509_CRL_print;
-+		i2v_GENERAL_NAME;
-+		v2i_GENERAL_NAME;
-+		i2d_PKEY_USAGE_PERIOD;
-+		d2i_PKEY_USAGE_PERIOD;
-+		PKEY_USAGE_PERIOD_new;
-+		PKEY_USAGE_PERIOD_free;
-+		v2i_GENERAL_NAMES;
-+		i2s_ASN1_INTEGER;
-+		X509V3_EXT_d2i;
-+		name_cmp;
-+		str_dup;
-+		i2s_ASN1_ENUMERATED;
-+		i2s_ASN1_ENUMERATED_TABLE;
-+		BIO_s_log;
-+		BIO_f_reliable;
-+		PKCS7_dataFinal;
-+		PKCS7_dataDecode;
-+		X509V3_EXT_CRL_add_conf;
-+		BN_set_params;
-+		BN_get_params;
-+		BIO_get_ex_num;
-+		BIO_set_ex_free_func;
-+		EVP_ripemd160;
-+		ASN1_TIME_set;
-+		i2d_AUTHORITY_KEYID;
-+		d2i_AUTHORITY_KEYID;
-+		AUTHORITY_KEYID_new;
-+		AUTHORITY_KEYID_free;
-+		ASN1_seq_unpack;
-+		ASN1_seq_pack;
-+		ASN1_unpack_string;
-+		ASN1_pack_string;
-+		PKCS12_pack_safebag;
-+		PKCS12_MAKE_KEYBAG;
-+		PKCS8_encrypt;
-+		PKCS12_MAKE_SHKEYBAG;
-+		PKCS12_pack_p7data;
-+		PKCS12_pack_p7encdata;
-+		PKCS12_add_localkeyid;
-+		PKCS12_add_friendlyname_asc;
-+		PKCS12_add_friendlyname_uni;
-+		PKCS12_get_friendlyname;
-+		PKCS12_pbe_crypt;
-+		PKCS12_decrypt_d2i;
-+		PKCS12_i2d_encrypt;
-+		PKCS12_init;
-+		PKCS12_key_gen_asc;
-+		PKCS12_key_gen_uni;
-+		PKCS12_gen_mac;
-+		PKCS12_verify_mac;
-+		PKCS12_set_mac;
-+		PKCS12_setup_mac;
-+		OPENSSL_asc2uni;
-+		OPENSSL_uni2asc;
-+		i2d_PKCS12_BAGS;
-+		PKCS12_BAGS_new;
-+		d2i_PKCS12_BAGS;
-+		PKCS12_BAGS_free;
-+		i2d_PKCS12;
-+		d2i_PKCS12;
-+		PKCS12_new;
-+		PKCS12_free;
-+		i2d_PKCS12_MAC_DATA;
-+		PKCS12_MAC_DATA_new;
-+		d2i_PKCS12_MAC_DATA;
-+		PKCS12_MAC_DATA_free;
-+		i2d_PKCS12_SAFEBAG;
-+		PKCS12_SAFEBAG_new;
-+		d2i_PKCS12_SAFEBAG;
-+		PKCS12_SAFEBAG_free;
-+		ERR_load_PKCS12_strings;
-+		PKCS12_PBE_add;
-+		PKCS8_add_keyusage;
-+		PKCS12_get_attr_gen;
-+		PKCS12_parse;
-+		PKCS12_create;
-+		i2d_PKCS12_bio;
-+		i2d_PKCS12_fp;
-+		d2i_PKCS12_bio;
-+		d2i_PKCS12_fp;
-+		i2d_PBEPARAM;
-+		PBEPARAM_new;
-+		d2i_PBEPARAM;
-+		PBEPARAM_free;
-+		i2d_PKCS8_PRIV_KEY_INFO;
-+		PKCS8_PRIV_KEY_INFO_new;
-+		d2i_PKCS8_PRIV_KEY_INFO;
-+		PKCS8_PRIV_KEY_INFO_free;
-+		EVP_PKCS82PKEY;
-+		EVP_PKEY2PKCS8;
-+		PKCS8_set_broken;
-+		EVP_PBE_ALGOR_CipherInit;
-+		EVP_PBE_alg_add;
-+		PKCS5_pbe_set;
-+		EVP_PBE_cleanup;
-+		i2d_SXNET;
-+		d2i_SXNET;
-+		SXNET_new;
-+		SXNET_free;
-+		i2d_SXNETID;
-+		d2i_SXNETID;
-+		SXNETID_new;
-+		SXNETID_free;
-+		DSA_SIG_new;
-+		DSA_SIG_free;
-+		DSA_do_sign;
-+		DSA_do_verify;
-+		d2i_DSA_SIG;
-+		i2d_DSA_SIG;
-+		i2d_ASN1_VISIBLESTRING;
-+		d2i_ASN1_VISIBLESTRING;
-+		i2d_ASN1_UTF8STRING;
-+		d2i_ASN1_UTF8STRING;
-+		i2d_DIRECTORYSTRING;
-+		d2i_DIRECTORYSTRING;
-+		i2d_DISPLAYTEXT;
-+		d2i_DISPLAYTEXT;
-+		d2i_ASN1_SET_OF_X509;
-+		i2d_ASN1_SET_OF_X509;
-+		i2d_PBKDF2PARAM;
-+		PBKDF2PARAM_new;
-+		d2i_PBKDF2PARAM;
-+		PBKDF2PARAM_free;
-+		i2d_PBE2PARAM;
-+		PBE2PARAM_new;
-+		d2i_PBE2PARAM;
-+		PBE2PARAM_free;
-+		d2i_ASN1_SET_OF_GENERAL_NAME;
-+		i2d_ASN1_SET_OF_GENERAL_NAME;
-+		d2i_ASN1_SET_OF_SXNETID;
-+		i2d_ASN1_SET_OF_SXNETID;
-+		d2i_ASN1_SET_OF_POLICYQUALINFO;
-+		i2d_ASN1_SET_OF_POLICYQUALINFO;
-+		d2i_ASN1_SET_OF_POLICYINFO;
-+		i2d_ASN1_SET_OF_POLICYINFO;
-+		SXNET_add_id_asc;
-+		SXNET_add_id_ulong;
-+		SXNET_add_id_INTEGER;
-+		SXNET_get_id_asc;
-+		SXNET_get_id_ulong;
-+		SXNET_get_id_INTEGER;
-+		X509V3_set_conf_lhash;
-+		i2d_CERTIFICATEPOLICIES;
-+		CERTIFICATEPOLICIES_new;
-+		CERTIFICATEPOLICIES_free;
-+		d2i_CERTIFICATEPOLICIES;
-+		i2d_POLICYINFO;
-+		POLICYINFO_new;
-+		d2i_POLICYINFO;
-+		POLICYINFO_free;
-+		i2d_POLICYQUALINFO;
-+		POLICYQUALINFO_new;
-+		d2i_POLICYQUALINFO;
-+		POLICYQUALINFO_free;
-+		i2d_USERNOTICE;
-+		USERNOTICE_new;
-+		d2i_USERNOTICE;
-+		USERNOTICE_free;
-+		i2d_NOTICEREF;
-+		NOTICEREF_new;
-+		d2i_NOTICEREF;
-+		NOTICEREF_free;
-+		X509V3_get_string;
-+		X509V3_get_section;
-+		X509V3_string_free;
-+		X509V3_section_free;
-+		X509V3_set_ctx;
-+		s2i_ASN1_INTEGER;
-+		CRYPTO_set_locked_mem_functions;
-+		CRYPTO_get_locked_mem_functions;
-+		CRYPTO_malloc_locked;
-+		CRYPTO_free_locked;
-+		BN_mod_exp2_mont;
-+		ERR_get_error_line_data;
-+		ERR_peek_error_line_data;
-+		PKCS12_PBE_keyivgen;
-+		X509_ALGOR_dup;
-+		d2i_ASN1_SET_OF_DIST_POINT;
-+		i2d_ASN1_SET_OF_DIST_POINT;
-+		i2d_CRL_DIST_POINTS;
-+		CRL_DIST_POINTS_new;
-+		CRL_DIST_POINTS_free;
-+		d2i_CRL_DIST_POINTS;
-+		i2d_DIST_POINT;
-+		DIST_POINT_new;
-+		d2i_DIST_POINT;
-+		DIST_POINT_free;
-+		i2d_DIST_POINT_NAME;
-+		DIST_POINT_NAME_new;
-+		DIST_POINT_NAME_free;
-+		d2i_DIST_POINT_NAME;
-+		X509V3_add_value_uchar;
-+		d2i_ASN1_SET_OF_X509_ATTRIBUTE;
-+		i2d_ASN1_SET_OF_ASN1_TYPE;
-+		d2i_ASN1_SET_OF_X509_EXTENSION;
-+		d2i_ASN1_SET_OF_X509_NAME_ENTRY;
-+		d2i_ASN1_SET_OF_ASN1_TYPE;
-+		i2d_ASN1_SET_OF_X509_ATTRIBUTE;
-+		i2d_ASN1_SET_OF_X509_EXTENSION;
-+		i2d_ASN1_SET_OF_X509_NAME_ENTRY;
-+		X509V3_EXT_i2d;
-+		X509V3_EXT_val_prn;
-+		X509V3_EXT_add_list;
-+		EVP_CIPHER_type;
-+		EVP_PBE_CipherInit;
-+		X509V3_add_value_bool_nf;
-+		d2i_ASN1_UINTEGER;
-+		sk_value;
-+		sk_num;
-+		sk_set;
-+		i2d_ASN1_SET_OF_X509_REVOKED;
-+		sk_sort;
-+		d2i_ASN1_SET_OF_X509_REVOKED;
-+		i2d_ASN1_SET_OF_X509_ALGOR;
-+		i2d_ASN1_SET_OF_X509_CRL;
-+		d2i_ASN1_SET_OF_X509_ALGOR;
-+		d2i_ASN1_SET_OF_X509_CRL;
-+		i2d_ASN1_SET_OF_PKCS7_SIGNER_INFO;
-+		i2d_ASN1_SET_OF_PKCS7_RECIP_INFO;
-+		d2i_ASN1_SET_OF_PKCS7_SIGNER_INFO;
-+		d2i_ASN1_SET_OF_PKCS7_RECIP_INFO;
-+		PKCS5_PBE_add;
-+		PEM_write_bio_PKCS8;
-+		i2d_PKCS8_fp;
-+		PEM_read_bio_PKCS8_PRIV_KEY_INFO;
-+		PEM_read_bio_P8_PRIV_KEY_INFO;
-+		d2i_PKCS8_bio;
-+		d2i_PKCS8_PRIV_KEY_INFO_fp;
-+		PEM_write_bio_PKCS8_PRIV_KEY_INFO;
-+		PEM_write_bio_P8_PRIV_KEY_INFO;
-+		PEM_read_PKCS8;
-+		d2i_PKCS8_PRIV_KEY_INFO_bio;
-+		d2i_PKCS8_fp;
-+		PEM_write_PKCS8;
-+		PEM_read_PKCS8_PRIV_KEY_INFO;
-+		PEM_read_P8_PRIV_KEY_INFO;
-+		PEM_read_bio_PKCS8;
-+		PEM_write_PKCS8_PRIV_KEY_INFO;
-+		PEM_write_P8_PRIV_KEY_INFO;
-+		PKCS5_PBE_keyivgen;
-+		i2d_PKCS8_bio;
-+		i2d_PKCS8_PRIV_KEY_INFO_fp;
-+		i2d_PKCS8_PRIV_KEY_INFO_bio;
-+		BIO_s_bio;
-+		PKCS5_pbe2_set;
-+		PKCS5_PBKDF2_HMAC_SHA1;
-+		PKCS5_v2_PBE_keyivgen;
-+		PEM_write_bio_PKCS8PrivateKey;
-+		PEM_write_PKCS8PrivateKey;
-+		BIO_ctrl_get_read_request;
-+		BIO_ctrl_pending;
-+		BIO_ctrl_wpending;
-+		BIO_new_bio_pair;
-+		BIO_ctrl_get_write_guarantee;
-+		CRYPTO_num_locks;
-+		CONF_load_bio;
-+		CONF_load_fp;
-+		i2d_ASN1_SET_OF_ASN1_OBJECT;
-+		d2i_ASN1_SET_OF_ASN1_OBJECT;
-+		PKCS7_signatureVerify;
-+		RSA_set_method;
-+		RSA_get_method;
-+		RSA_get_default_method;
-+		RSA_check_key;
-+		OBJ_obj2txt;
-+		DSA_dup_DH;
-+		X509_REQ_get_extensions;
-+		X509_REQ_set_extension_nids;
-+		BIO_nwrite;
-+		X509_REQ_extension_nid;
-+		BIO_nread;
-+		X509_REQ_get_extension_nids;
-+		BIO_nwrite0;
-+		X509_REQ_add_extensions_nid;
-+		BIO_nread0;
-+		X509_REQ_add_extensions;
-+		BIO_new_mem_buf;
-+		DH_set_ex_data;
-+		DH_set_method;
-+		DSA_OpenSSL;
-+		DH_get_ex_data;
-+		DH_get_ex_new_index;
-+		DSA_new_method;
-+		DH_new_method;
-+		DH_OpenSSL;
-+		DSA_get_ex_new_index;
-+		DH_get_default_method;
-+		DSA_set_ex_data;
-+		DH_set_default_method;
-+		DSA_get_ex_data;
-+		X509V3_EXT_REQ_add_conf;
-+		NETSCAPE_SPKI_print;
-+		NETSCAPE_SPKI_set_pubkey;
-+		NETSCAPE_SPKI_b64_encode;
-+		NETSCAPE_SPKI_get_pubkey;
-+		NETSCAPE_SPKI_b64_decode;
-+		UTF8_putc;
-+		UTF8_getc;
-+		RSA_null_method;
-+		ASN1_tag2str;
-+		BIO_ctrl_reset_read_request;
-+		DISPLAYTEXT_new;
-+		ASN1_GENERALIZEDTIME_free;
-+		X509_REVOKED_get_ext_d2i;
-+		X509_set_ex_data;
-+		X509_reject_set_bit_asc;
-+		X509_NAME_add_entry_by_txt;
-+		X509_NAME_add_entry_by_NID;
-+		X509_PURPOSE_get0;
-+		PEM_read_X509_AUX;
-+		d2i_AUTHORITY_INFO_ACCESS;
-+		PEM_write_PUBKEY;
-+		ACCESS_DESCRIPTION_new;
-+		X509_CERT_AUX_free;
-+		d2i_ACCESS_DESCRIPTION;
-+		X509_trust_clear;
-+		X509_TRUST_add;
-+		ASN1_VISIBLESTRING_new;
-+		X509_alias_set1;
-+		ASN1_PRINTABLESTRING_free;
-+		EVP_PKEY_get1_DSA;
-+		ASN1_BMPSTRING_new;
-+		ASN1_mbstring_copy;
-+		ASN1_UTF8STRING_new;
-+		DSA_get_default_method;
-+		i2d_ASN1_SET_OF_ACCESS_DESCRIPTION;
-+		ASN1_T61STRING_free;
-+		DSA_set_method;
-+		X509_get_ex_data;
-+		ASN1_STRING_type;
-+		X509_PURPOSE_get_by_sname;
-+		ASN1_TIME_free;
-+		ASN1_OCTET_STRING_cmp;
-+		ASN1_BIT_STRING_new;
-+		X509_get_ext_d2i;
-+		PEM_read_bio_X509_AUX;
-+		ASN1_STRING_set_default_mask_asc;
-+		ASN1_STRING_set_def_mask_asc;
-+		PEM_write_bio_RSA_PUBKEY;
-+		ASN1_INTEGER_cmp;
-+		d2i_RSA_PUBKEY_fp;
-+		X509_trust_set_bit_asc;
-+		PEM_write_bio_DSA_PUBKEY;
-+		X509_STORE_CTX_free;
-+		EVP_PKEY_set1_DSA;
-+		i2d_DSA_PUBKEY_fp;
-+		X509_load_cert_crl_file;
-+		ASN1_TIME_new;
-+		i2d_RSA_PUBKEY;
-+		X509_STORE_CTX_purpose_inherit;
-+		PEM_read_RSA_PUBKEY;
-+		d2i_X509_AUX;
-+		i2d_DSA_PUBKEY;
-+		X509_CERT_AUX_print;
-+		PEM_read_DSA_PUBKEY;
-+		i2d_RSA_PUBKEY_bio;
-+		ASN1_BIT_STRING_num_asc;
-+		i2d_PUBKEY;
-+		ASN1_UTCTIME_free;
-+		DSA_set_default_method;
-+		X509_PURPOSE_get_by_id;
-+		ACCESS_DESCRIPTION_free;
-+		PEM_read_bio_PUBKEY;
-+		ASN1_STRING_set_by_NID;
-+		X509_PURPOSE_get_id;
-+		DISPLAYTEXT_free;
-+		OTHERNAME_new;
-+		X509_CERT_AUX_new;
-+		X509_TRUST_cleanup;
-+		X509_NAME_add_entry_by_OBJ;
-+		X509_CRL_get_ext_d2i;
-+		X509_PURPOSE_get0_name;
-+		PEM_read_PUBKEY;
-+		i2d_DSA_PUBKEY_bio;
-+		i2d_OTHERNAME;
-+		ASN1_OCTET_STRING_free;
-+		ASN1_BIT_STRING_set_asc;
-+		X509_get_ex_new_index;
-+		ASN1_STRING_TABLE_cleanup;
-+		X509_TRUST_get_by_id;
-+		X509_PURPOSE_get_trust;
-+		ASN1_STRING_length;
-+		d2i_ASN1_SET_OF_ACCESS_DESCRIPTION;
-+		ASN1_PRINTABLESTRING_new;
-+		X509V3_get_d2i;
-+		ASN1_ENUMERATED_free;
-+		i2d_X509_CERT_AUX;
-+		X509_STORE_CTX_set_trust;
-+		ASN1_STRING_set_default_mask;
-+		X509_STORE_CTX_new;
-+		EVP_PKEY_get1_RSA;
-+		DIRECTORYSTRING_free;
-+		PEM_write_X509_AUX;
-+		ASN1_OCTET_STRING_set;
-+		d2i_DSA_PUBKEY_fp;
-+		d2i_RSA_PUBKEY;
-+		X509_TRUST_get0_name;
-+		X509_TRUST_get0;
-+		AUTHORITY_INFO_ACCESS_free;
-+		ASN1_IA5STRING_new;
-+		d2i_DSA_PUBKEY;
-+		X509_check_purpose;
-+		ASN1_ENUMERATED_new;
-+		d2i_RSA_PUBKEY_bio;
-+		d2i_PUBKEY;
-+		X509_TRUST_get_trust;
-+		X509_TRUST_get_flags;
-+		ASN1_BMPSTRING_free;
-+		ASN1_T61STRING_new;
-+		ASN1_UTCTIME_new;
-+		i2d_AUTHORITY_INFO_ACCESS;
-+		EVP_PKEY_set1_RSA;
-+		X509_STORE_CTX_set_purpose;
-+		ASN1_IA5STRING_free;
-+		PEM_write_bio_X509_AUX;
-+		X509_PURPOSE_get_count;
-+		CRYPTO_add_info;
-+		X509_NAME_ENTRY_create_by_txt;
-+		ASN1_STRING_get_default_mask;
-+		X509_alias_get0;
-+		ASN1_STRING_data;
-+		i2d_ACCESS_DESCRIPTION;
-+		X509_trust_set_bit;
-+		ASN1_BIT_STRING_free;
-+		PEM_read_bio_RSA_PUBKEY;
-+		X509_add1_reject_object;
-+		X509_check_trust;
-+		PEM_read_bio_DSA_PUBKEY;
-+		X509_PURPOSE_add;
-+		ASN1_STRING_TABLE_get;
-+		ASN1_UTF8STRING_free;
-+		d2i_DSA_PUBKEY_bio;
-+		PEM_write_RSA_PUBKEY;
-+		d2i_OTHERNAME;
-+		X509_reject_set_bit;
-+		PEM_write_DSA_PUBKEY;
-+		X509_PURPOSE_get0_sname;
-+		EVP_PKEY_set1_DH;
-+		ASN1_OCTET_STRING_dup;
-+		ASN1_BIT_STRING_set;
-+		X509_TRUST_get_count;
-+		ASN1_INTEGER_free;
-+		OTHERNAME_free;
-+		i2d_RSA_PUBKEY_fp;
-+		ASN1_INTEGER_dup;
-+		d2i_X509_CERT_AUX;
-+		PEM_write_bio_PUBKEY;
-+		ASN1_VISIBLESTRING_free;
-+		X509_PURPOSE_cleanup;
-+		ASN1_mbstring_ncopy;
-+		ASN1_GENERALIZEDTIME_new;
-+		EVP_PKEY_get1_DH;
-+		ASN1_OCTET_STRING_new;
-+		ASN1_INTEGER_new;
-+		i2d_X509_AUX;
-+		ASN1_BIT_STRING_name_print;
-+		X509_cmp;
-+		ASN1_STRING_length_set;
-+		DIRECTORYSTRING_new;
-+		X509_add1_trust_object;
-+		PKCS12_newpass;
-+		SMIME_write_PKCS7;
-+		SMIME_read_PKCS7;
-+		DES_set_key_checked;
-+		PKCS7_verify;
-+		PKCS7_encrypt;
-+		DES_set_key_unchecked;
-+		SMIME_crlf_copy;
-+		i2d_ASN1_PRINTABLESTRING;
-+		PKCS7_get0_signers;
-+		PKCS7_decrypt;
-+		SMIME_text;
-+		PKCS7_simple_smimecap;
-+		PKCS7_get_smimecap;
-+		PKCS7_sign;
-+		PKCS7_add_attrib_smimecap;
-+		CRYPTO_dbg_set_options;
-+		CRYPTO_remove_all_info;
-+		CRYPTO_get_mem_debug_functions;
-+		CRYPTO_is_mem_check_on;
-+		CRYPTO_set_mem_debug_functions;
-+		CRYPTO_pop_info;
-+		CRYPTO_push_info_;
-+		CRYPTO_set_mem_debug_options;
-+		PEM_write_PKCS8PrivateKey_nid;
-+		PEM_write_bio_PKCS8PrivateKey_nid;
-+		PEM_write_bio_PKCS8PrivKey_nid;
-+		d2i_PKCS8PrivateKey_bio;
-+		ASN1_NULL_free;
-+		d2i_ASN1_NULL;
-+		ASN1_NULL_new;
-+		i2d_PKCS8PrivateKey_bio;
-+		i2d_PKCS8PrivateKey_fp;
-+		i2d_ASN1_NULL;
-+		i2d_PKCS8PrivateKey_nid_fp;
-+		d2i_PKCS8PrivateKey_fp;
-+		i2d_PKCS8PrivateKey_nid_bio;
-+		i2d_PKCS8PrivateKeyInfo_fp;
-+		i2d_PKCS8PrivateKeyInfo_bio;
-+		PEM_cb;
-+		i2d_PrivateKey_fp;
-+		d2i_PrivateKey_bio;
-+		d2i_PrivateKey_fp;
-+		i2d_PrivateKey_bio;
-+		X509_reject_clear;
-+		X509_TRUST_set_default;
-+		d2i_AutoPrivateKey;
-+		X509_ATTRIBUTE_get0_type;
-+		X509_ATTRIBUTE_set1_data;
-+		X509at_get_attr;
-+		X509at_get_attr_count;
-+		X509_ATTRIBUTE_create_by_NID;
-+		X509_ATTRIBUTE_set1_object;
-+		X509_ATTRIBUTE_count;
-+		X509_ATTRIBUTE_create_by_OBJ;
-+		X509_ATTRIBUTE_get0_object;
-+		X509at_get_attr_by_NID;
-+		X509at_add1_attr;
-+		X509_ATTRIBUTE_get0_data;
-+		X509at_delete_attr;
-+		X509at_get_attr_by_OBJ;
-+		RAND_add;
-+		BIO_number_written;
-+		BIO_number_read;
-+		X509_STORE_CTX_get1_chain;
-+		ERR_load_RAND_strings;
-+		RAND_pseudo_bytes;
-+		X509_REQ_get_attr_by_NID;
-+		X509_REQ_get_attr;
-+		X509_REQ_add1_attr_by_NID;
-+		X509_REQ_get_attr_by_OBJ;
-+		X509at_add1_attr_by_NID;
-+		X509_REQ_add1_attr_by_OBJ;
-+		X509_REQ_get_attr_count;
-+		X509_REQ_add1_attr;
-+		X509_REQ_delete_attr;
-+		X509at_add1_attr_by_OBJ;
-+		X509_REQ_add1_attr_by_txt;
-+		X509_ATTRIBUTE_create_by_txt;
-+		X509at_add1_attr_by_txt;
-+		BN_pseudo_rand;
-+		BN_is_prime_fasttest;
-+		BN_CTX_end;
-+		BN_CTX_start;
-+		BN_CTX_get;
-+		EVP_PKEY2PKCS8_broken;
-+		ASN1_STRING_TABLE_add;
-+		CRYPTO_dbg_get_options;
-+		AUTHORITY_INFO_ACCESS_new;
-+		CRYPTO_get_mem_debug_options;
-+		DES_crypt;
-+		PEM_write_bio_X509_REQ_NEW;
-+		PEM_write_X509_REQ_NEW;
-+		BIO_callback_ctrl;
-+		RAND_egd;
-+		RAND_status;
-+		bn_dump1;
-+		DES_check_key_parity;
-+		lh_num_items;
-+		RAND_event;
-+		DSO_new;
-+		DSO_new_method;
-+		DSO_free;
-+		DSO_flags;
-+		DSO_up;
-+		DSO_set_default_method;
-+		DSO_get_default_method;
-+		DSO_get_method;
-+		DSO_set_method;
-+		DSO_load;
-+		DSO_bind_var;
-+		DSO_METHOD_null;
-+		DSO_METHOD_openssl;
-+		DSO_METHOD_dlfcn;
-+		DSO_METHOD_win32;
-+		ERR_load_DSO_strings;
-+		DSO_METHOD_dl;
-+		NCONF_load;
-+		NCONF_load_fp;
-+		NCONF_new;
-+		NCONF_get_string;
-+		NCONF_free;
-+		NCONF_get_number;
-+		CONF_dump_fp;
-+		NCONF_load_bio;
-+		NCONF_dump_fp;
-+		NCONF_get_section;
-+		NCONF_dump_bio;
-+		CONF_dump_bio;
-+		NCONF_free_data;
-+		CONF_set_default_method;
-+		ERR_error_string_n;
-+		BIO_snprintf;
-+		DSO_ctrl;
-+		i2d_ASN1_SET_OF_ASN1_INTEGER;
-+		i2d_ASN1_SET_OF_PKCS12_SAFEBAG;
-+		i2d_ASN1_SET_OF_PKCS7;
-+		BIO_vfree;
-+		d2i_ASN1_SET_OF_ASN1_INTEGER;
-+		d2i_ASN1_SET_OF_PKCS12_SAFEBAG;
-+		ASN1_UTCTIME_get;
-+		X509_REQ_digest;
-+		X509_CRL_digest;
-+		d2i_ASN1_SET_OF_PKCS7;
-+		EVP_CIPHER_CTX_set_key_length;
-+		EVP_CIPHER_CTX_ctrl;
-+		BN_mod_exp_mont_word;
-+		RAND_egd_bytes;
-+		X509_REQ_get1_email;
-+		X509_get1_email;
-+		X509_email_free;
-+		i2d_RSA_NET;
-+		d2i_RSA_NET_2;
-+		d2i_RSA_NET;
-+		DSO_bind_func;
-+		CRYPTO_get_new_dynlockid;
-+		sk_new_null;
-+		CRYPTO_set_dynlock_destroy_callback;
-+		CRYPTO_set_dynlock_destroy_cb;
-+		CRYPTO_destroy_dynlockid;
-+		CRYPTO_set_dynlock_size;
-+		CRYPTO_set_dynlock_create_callback;
-+		CRYPTO_set_dynlock_create_cb;
-+		CRYPTO_set_dynlock_lock_callback;
-+		CRYPTO_set_dynlock_lock_cb;
-+		CRYPTO_get_dynlock_lock_callback;
-+		CRYPTO_get_dynlock_lock_cb;
-+		CRYPTO_get_dynlock_destroy_callback;
-+		CRYPTO_get_dynlock_destroy_cb;
-+		CRYPTO_get_dynlock_value;
-+		CRYPTO_get_dynlock_create_callback;
-+		CRYPTO_get_dynlock_create_cb;
-+		c2i_ASN1_BIT_STRING;
-+		i2c_ASN1_BIT_STRING;
-+		RAND_poll;
-+		c2i_ASN1_INTEGER;
-+		i2c_ASN1_INTEGER;
-+		BIO_dump_indent;
-+		ASN1_parse_dump;
-+		c2i_ASN1_OBJECT;
-+		X509_NAME_print_ex_fp;
-+		ASN1_STRING_print_ex_fp;
-+		X509_NAME_print_ex;
-+		ASN1_STRING_print_ex;
-+		MD4;
-+		MD4_Transform;
-+		MD4_Final;
-+		MD4_Update;
-+		MD4_Init;
-+		EVP_md4;
-+		i2d_PUBKEY_bio;
-+		i2d_PUBKEY_fp;
-+		d2i_PUBKEY_bio;
-+		ASN1_STRING_to_UTF8;
-+		BIO_vprintf;
-+		BIO_vsnprintf;
-+		d2i_PUBKEY_fp;
-+		X509_cmp_time;
-+		X509_STORE_CTX_set_time;
-+		X509_STORE_CTX_get1_issuer;
-+		X509_OBJECT_retrieve_match;
-+		X509_OBJECT_idx_by_subject;
-+		X509_STORE_CTX_set_flags;
-+		X509_STORE_CTX_trusted_stack;
-+		X509_time_adj;
-+		X509_check_issued;
-+		ASN1_UTCTIME_cmp_time_t;
-+		DES_set_weak_key_flag;
-+		DES_check_key;
-+		DES_rw_mode;
-+		RSA_PKCS1_RSAref;
-+		X509_keyid_set1;
-+		BIO_next;
-+		DSO_METHOD_vms;
-+		BIO_f_linebuffer;
-+		BN_bntest_rand;
-+		OPENSSL_issetugid;
-+		BN_rand_range;
-+		ERR_load_ENGINE_strings;
-+		ENGINE_set_DSA;
-+		ENGINE_get_finish_function;
-+		ENGINE_get_default_RSA;
-+		ENGINE_get_BN_mod_exp;
-+		DSA_get_default_openssl_method;
-+		ENGINE_set_DH;
-+		ENGINE_set_def_BN_mod_exp_crt;
-+		ENGINE_set_default_BN_mod_exp_crt;
-+		ENGINE_init;
-+		DH_get_default_openssl_method;
-+		RSA_set_default_openssl_method;
-+		ENGINE_finish;
-+		ENGINE_load_public_key;
-+		ENGINE_get_DH;
-+		ENGINE_ctrl;
-+		ENGINE_get_init_function;
-+		ENGINE_set_init_function;
-+		ENGINE_set_default_DSA;
-+		ENGINE_get_name;
-+		ENGINE_get_last;
-+		ENGINE_get_prev;
-+		ENGINE_get_default_DH;
-+		ENGINE_get_RSA;
-+		ENGINE_set_default;
-+		ENGINE_get_RAND;
-+		ENGINE_get_first;
-+		ENGINE_by_id;
-+		ENGINE_set_finish_function;
-+		ENGINE_get_def_BN_mod_exp_crt;
-+		ENGINE_get_default_BN_mod_exp_crt;
-+		RSA_get_default_openssl_method;
-+		ENGINE_set_RSA;
-+		ENGINE_load_private_key;
-+		ENGINE_set_default_RAND;
-+		ENGINE_set_BN_mod_exp;
-+		ENGINE_remove;
-+		ENGINE_free;
-+		ENGINE_get_BN_mod_exp_crt;
-+		ENGINE_get_next;
-+		ENGINE_set_name;
-+		ENGINE_get_default_DSA;
-+		ENGINE_set_default_BN_mod_exp;
-+		ENGINE_set_default_RSA;
-+		ENGINE_get_default_RAND;
-+		ENGINE_get_default_BN_mod_exp;
-+		ENGINE_set_RAND;
-+		ENGINE_set_id;
-+		ENGINE_set_BN_mod_exp_crt;
-+		ENGINE_set_default_DH;
-+		ENGINE_new;
-+		ENGINE_get_id;
-+		DSA_set_default_openssl_method;
-+		ENGINE_add;
-+		DH_set_default_openssl_method;
-+		ENGINE_get_DSA;
-+		ENGINE_get_ctrl_function;
-+		ENGINE_set_ctrl_function;
-+		BN_pseudo_rand_range;
-+		X509_STORE_CTX_set_verify_cb;
-+		ERR_load_COMP_strings;
-+		PKCS12_item_decrypt_d2i;
-+		ASN1_UTF8STRING_it;
-+		ENGINE_unregister_ciphers;
-+		ENGINE_get_ciphers;
-+		d2i_OCSP_BASICRESP;
-+		KRB5_CHECKSUM_it;
-+		EC_POINT_add;
-+		ASN1_item_ex_i2d;
-+		OCSP_CERTID_it;
-+		d2i_OCSP_RESPBYTES;
-+		X509V3_add1_i2d;
-+		PKCS7_ENVELOPE_it;
-+		UI_add_input_boolean;
-+		ENGINE_unregister_RSA;
-+		X509V3_EXT_nconf;
-+		ASN1_GENERALSTRING_free;
-+		d2i_OCSP_CERTSTATUS;
-+		X509_REVOKED_set_serialNumber;
-+		X509_print_ex;
-+		OCSP_ONEREQ_get1_ext_d2i;
-+		ENGINE_register_all_RAND;
-+		ENGINE_load_dynamic;
-+		PBKDF2PARAM_it;
-+		EXTENDED_KEY_USAGE_new;
-+		EC_GROUP_clear_free;
-+		OCSP_sendreq_bio;
-+		ASN1_item_digest;
-+		OCSP_BASICRESP_delete_ext;
-+		OCSP_SIGNATURE_it;
-+		X509_CRL_it;
-+		OCSP_BASICRESP_add_ext;
-+		KRB5_ENCKEY_it;
-+		UI_method_set_closer;
-+		X509_STORE_set_purpose;
-+		i2d_ASN1_GENERALSTRING;
-+		OCSP_response_status;
-+		i2d_OCSP_SERVICELOC;
-+		ENGINE_get_digest_engine;
-+		EC_GROUP_set_curve_GFp;
-+		OCSP_REQUEST_get_ext_by_OBJ;
-+		_ossl_old_des_random_key;
-+		ASN1_T61STRING_it;
-+		EC_GROUP_method_of;
-+		i2d_KRB5_APREQ;
-+		_ossl_old_des_encrypt;
-+		ASN1_PRINTABLE_new;
-+		HMAC_Init_ex;
-+		d2i_KRB5_AUTHENT;
-+		OCSP_archive_cutoff_new;
-+		EC_POINT_set_Jprojective_coordinates_GFp;
-+		EC_POINT_set_Jproj_coords_GFp;
-+		_ossl_old_des_is_weak_key;
-+		OCSP_BASICRESP_get_ext_by_OBJ;
-+		EC_POINT_oct2point;
-+		OCSP_SINGLERESP_get_ext_count;
-+		UI_ctrl;
-+		_shadow_DES_rw_mode;
-+		asn1_do_adb;
-+		ASN1_template_i2d;
-+		ENGINE_register_DH;
-+		UI_construct_prompt;
-+		X509_STORE_set_trust;
-+		UI_dup_input_string;
-+		d2i_KRB5_APREQ;
-+		EVP_MD_CTX_copy_ex;
-+		OCSP_request_is_signed;
-+		i2d_OCSP_REQINFO;
-+		KRB5_ENCKEY_free;
-+		OCSP_resp_get0;
-+		GENERAL_NAME_it;
-+		ASN1_GENERALIZEDTIME_it;
-+		X509_STORE_set_flags;
-+		EC_POINT_set_compressed_coordinates_GFp;
-+		EC_POINT_set_compr_coords_GFp;
-+		OCSP_response_status_str;
-+		d2i_OCSP_REVOKEDINFO;
-+		OCSP_basic_add1_cert;
-+		ERR_get_implementation;
-+		EVP_CipherFinal_ex;
-+		OCSP_CERTSTATUS_new;
-+		CRYPTO_cleanup_all_ex_data;
-+		OCSP_resp_find;
-+		BN_nnmod;
-+		X509_CRL_sort;
-+		X509_REVOKED_set_revocationDate;
-+		ENGINE_register_RAND;
-+		OCSP_SERVICELOC_new;
-+		EC_POINT_set_affine_coordinates_GFp;
-+		EC_POINT_set_affine_coords_GFp;
-+		_ossl_old_des_options;
-+		SXNET_it;
-+		UI_dup_input_boolean;
-+		PKCS12_add_CSPName_asc;
-+		EC_POINT_is_at_infinity;
-+		ENGINE_load_cryptodev;
-+		DSO_convert_filename;
-+		POLICYQUALINFO_it;
-+		ENGINE_register_ciphers;
-+		BN_mod_lshift_quick;
-+		DSO_set_filename;
-+		ASN1_item_free;
-+		KRB5_TKTBODY_free;
-+		AUTHORITY_KEYID_it;
-+		KRB5_APREQBODY_new;
-+		X509V3_EXT_REQ_add_nconf;
-+		ENGINE_ctrl_cmd_string;
-+		i2d_OCSP_RESPDATA;
-+		EVP_MD_CTX_init;
-+		EXTENDED_KEY_USAGE_free;
-+		PKCS7_ATTR_SIGN_it;
-+		UI_add_error_string;
-+		KRB5_CHECKSUM_free;
-+		OCSP_REQUEST_get_ext;
-+		ENGINE_load_ubsec;
-+		ENGINE_register_all_digests;
-+		PKEY_USAGE_PERIOD_it;
-+		PKCS12_unpack_authsafes;
-+		ASN1_item_unpack;
-+		NETSCAPE_SPKAC_it;
-+		X509_REVOKED_it;
-+		ASN1_STRING_encode;
-+		EVP_aes_128_ecb;
-+		KRB5_AUTHENT_free;
-+		OCSP_BASICRESP_get_ext_by_critical;
-+		OCSP_BASICRESP_get_ext_by_crit;
-+		OCSP_cert_status_str;
-+		d2i_OCSP_REQUEST;
-+		UI_dup_info_string;
-+		_ossl_old_des_xwhite_in2out;
-+		PKCS12_it;
-+		OCSP_SINGLERESP_get_ext_by_critical;
-+		OCSP_SINGLERESP_get_ext_by_crit;
-+		OCSP_CERTSTATUS_free;
-+		_ossl_old_des_crypt;
-+		ASN1_item_i2d;
-+		EVP_DecryptFinal_ex;
-+		ENGINE_load_openssl;
-+		ENGINE_get_cmd_defns;
-+		ENGINE_set_load_privkey_function;
-+		ENGINE_set_load_privkey_fn;
-+		EVP_EncryptFinal_ex;
-+		ENGINE_set_default_digests;
-+		X509_get0_pubkey_bitstr;
-+		asn1_ex_i2c;
-+		ENGINE_register_RSA;
-+		ENGINE_unregister_DSA;
-+		_ossl_old_des_key_sched;
-+		X509_EXTENSION_it;
-+		i2d_KRB5_AUTHENT;
-+		SXNETID_it;
-+		d2i_OCSP_SINGLERESP;
-+		EDIPARTYNAME_new;
-+		PKCS12_certbag2x509;
-+		_ossl_old_des_ofb64_encrypt;
-+		d2i_EXTENDED_KEY_USAGE;
-+		ERR_print_errors_cb;
-+		ENGINE_set_ciphers;
-+		d2i_KRB5_APREQBODY;
-+		UI_method_get_flusher;
-+		X509_PUBKEY_it;
-+		_ossl_old_des_enc_read;
-+		PKCS7_ENCRYPT_it;
-+		i2d_OCSP_RESPONSE;
-+		EC_GROUP_get_cofactor;
-+		PKCS12_unpack_p7data;
-+		d2i_KRB5_AUTHDATA;
-+		OCSP_copy_nonce;
-+		KRB5_AUTHDATA_new;
-+		OCSP_RESPDATA_new;
-+		EC_GFp_mont_method;
-+		OCSP_REVOKEDINFO_free;
-+		UI_get_ex_data;
-+		KRB5_APREQBODY_free;
-+		EC_GROUP_get0_generator;
-+		UI_get_default_method;
-+		X509V3_set_nconf;
-+		PKCS12_item_i2d_encrypt;
-+		X509_add1_ext_i2d;
-+		PKCS7_SIGNER_INFO_it;
-+		KRB5_PRINCNAME_new;
-+		PKCS12_SAFEBAG_it;
-+		EC_GROUP_get_order;
-+		d2i_OCSP_RESPID;
-+		OCSP_request_verify;
-+		NCONF_get_number_e;
-+		_ossl_old_des_decrypt3;
-+		X509_signature_print;
-+		OCSP_SINGLERESP_free;
-+		ENGINE_load_builtin_engines;
-+		i2d_OCSP_ONEREQ;
-+		OCSP_REQUEST_add_ext;
-+		OCSP_RESPBYTES_new;
-+		EVP_MD_CTX_create;
-+		OCSP_resp_find_status;
-+		X509_ALGOR_it;
-+		ASN1_TIME_it;
-+		OCSP_request_set1_name;
-+		OCSP_ONEREQ_get_ext_count;
-+		UI_get0_result;
-+		PKCS12_AUTHSAFES_it;
-+		EVP_aes_256_ecb;
-+		PKCS12_pack_authsafes;
-+		ASN1_IA5STRING_it;
-+		UI_get_input_flags;
-+		EC_GROUP_set_generator;
-+		_ossl_old_des_string_to_2keys;
-+		OCSP_CERTID_free;
-+		X509_CERT_AUX_it;
-+		CERTIFICATEPOLICIES_it;
-+		_ossl_old_des_ede3_cbc_encrypt;
-+		RAND_set_rand_engine;
-+		DSO_get_loaded_filename;
-+		X509_ATTRIBUTE_it;
-+		OCSP_ONEREQ_get_ext_by_NID;
-+		PKCS12_decrypt_skey;
-+		KRB5_AUTHENT_it;
-+		UI_dup_error_string;
-+		RSAPublicKey_it;
-+		i2d_OCSP_REQUEST;
-+		PKCS12_x509crl2certbag;
-+		OCSP_SERVICELOC_it;
-+		ASN1_item_sign;
-+		X509_CRL_set_issuer_name;
-+		OBJ_NAME_do_all_sorted;
-+		i2d_OCSP_BASICRESP;
-+		i2d_OCSP_RESPBYTES;
-+		PKCS12_unpack_p7encdata;
-+		HMAC_CTX_init;
-+		ENGINE_get_digest;
-+		OCSP_RESPONSE_print;
-+		KRB5_TKTBODY_it;
-+		ACCESS_DESCRIPTION_it;
-+		PKCS7_ISSUER_AND_SERIAL_it;
-+		PBE2PARAM_it;
-+		PKCS12_certbag2x509crl;
-+		PKCS7_SIGNED_it;
-+		ENGINE_get_cipher;
-+		i2d_OCSP_CRLID;
-+		OCSP_SINGLERESP_new;
-+		ENGINE_cmd_is_executable;
-+		RSA_up_ref;
-+		ASN1_GENERALSTRING_it;
-+		ENGINE_register_DSA;
-+		X509V3_EXT_add_nconf_sk;
-+		ENGINE_set_load_pubkey_function;
-+		PKCS8_decrypt;
-+		PEM_bytes_read_bio;
-+		DIRECTORYSTRING_it;
-+		d2i_OCSP_CRLID;
-+		EC_POINT_is_on_curve;
-+		CRYPTO_set_locked_mem_ex_functions;
-+		CRYPTO_set_locked_mem_ex_funcs;
-+		d2i_KRB5_CHECKSUM;
-+		ASN1_item_dup;
-+		X509_it;
-+		BN_mod_add;
-+		KRB5_AUTHDATA_free;
-+		_ossl_old_des_cbc_cksum;
-+		ASN1_item_verify;
-+		CRYPTO_set_mem_ex_functions;
-+		EC_POINT_get_Jprojective_coordinates_GFp;
-+		EC_POINT_get_Jproj_coords_GFp;
-+		ZLONG_it;
-+		CRYPTO_get_locked_mem_ex_functions;
-+		CRYPTO_get_locked_mem_ex_funcs;
-+		ASN1_TIME_check;
-+		UI_get0_user_data;
-+		HMAC_CTX_cleanup;
-+		DSA_up_ref;
-+		_ossl_old_des_ede3_cfb64_encrypt;
-+		_ossl_odes_ede3_cfb64_encrypt;
-+		ASN1_BMPSTRING_it;
-+		ASN1_tag2bit;
-+		UI_method_set_flusher;
-+		X509_ocspid_print;
-+		KRB5_ENCDATA_it;
-+		ENGINE_get_load_pubkey_function;
-+		UI_add_user_data;
-+		OCSP_REQUEST_delete_ext;
-+		UI_get_method;
-+		OCSP_ONEREQ_free;
-+		ASN1_PRINTABLESTRING_it;
-+		X509_CRL_set_nextUpdate;
-+		OCSP_REQUEST_it;
-+		OCSP_BASICRESP_it;
-+		AES_ecb_encrypt;
-+		BN_mod_sqr;
-+		NETSCAPE_CERT_SEQUENCE_it;
-+		GENERAL_NAMES_it;
-+		AUTHORITY_INFO_ACCESS_it;
-+		ASN1_FBOOLEAN_it;
-+		UI_set_ex_data;
-+		_ossl_old_des_string_to_key;
-+		ENGINE_register_all_RSA;
-+		d2i_KRB5_PRINCNAME;
-+		OCSP_RESPBYTES_it;
-+		X509_CINF_it;
-+		ENGINE_unregister_digests;
-+		d2i_EDIPARTYNAME;
-+		d2i_OCSP_SERVICELOC;
-+		ENGINE_get_digests;
-+		_ossl_old_des_set_odd_parity;
-+		OCSP_RESPDATA_free;
-+		d2i_KRB5_TICKET;
-+		OTHERNAME_it;
-+		EVP_MD_CTX_cleanup;
-+		d2i_ASN1_GENERALSTRING;
-+		X509_CRL_set_version;
-+		BN_mod_sub;
-+		OCSP_SINGLERESP_get_ext_by_NID;
-+		ENGINE_get_ex_new_index;
-+		OCSP_REQUEST_free;
-+		OCSP_REQUEST_add1_ext_i2d;
-+		X509_VAL_it;
-+		EC_POINTs_make_affine;
-+		EC_POINT_mul;
-+		X509V3_EXT_add_nconf;
-+		X509_TRUST_set;
-+		X509_CRL_add1_ext_i2d;
-+		_ossl_old_des_fcrypt;
-+		DISPLAYTEXT_it;
-+		X509_CRL_set_lastUpdate;
-+		OCSP_BASICRESP_free;
-+		OCSP_BASICRESP_add1_ext_i2d;
-+		d2i_KRB5_AUTHENTBODY;
-+		CRYPTO_set_ex_data_implementation;
-+		CRYPTO_set_ex_data_impl;
-+		KRB5_ENCDATA_new;
-+		DSO_up_ref;
-+		OCSP_crl_reason_str;
-+		UI_get0_result_string;
-+		ASN1_GENERALSTRING_new;
-+		X509_SIG_it;
-+		ERR_set_implementation;
-+		ERR_load_EC_strings;
-+		UI_get0_action_string;
-+		OCSP_ONEREQ_get_ext;
-+		EC_POINT_method_of;
-+		i2d_KRB5_APREQBODY;
-+		_ossl_old_des_ecb3_encrypt;
-+		CRYPTO_get_mem_ex_functions;
-+		ENGINE_get_ex_data;
-+		UI_destroy_method;
-+		ASN1_item_i2d_bio;
-+		OCSP_ONEREQ_get_ext_by_OBJ;
-+		ASN1_primitive_new;
-+		ASN1_PRINTABLE_it;
-+		EVP_aes_192_ecb;
-+		OCSP_SIGNATURE_new;
-+		LONG_it;
-+		ASN1_VISIBLESTRING_it;
-+		OCSP_SINGLERESP_add1_ext_i2d;
-+		d2i_OCSP_CERTID;
-+		ASN1_item_d2i_fp;
-+		CRL_DIST_POINTS_it;
-+		GENERAL_NAME_print;
-+		OCSP_SINGLERESP_delete_ext;
-+		PKCS12_SAFEBAGS_it;
-+		d2i_OCSP_SIGNATURE;
-+		OCSP_request_add1_nonce;
-+		ENGINE_set_cmd_defns;
-+		OCSP_SERVICELOC_free;
-+		EC_GROUP_free;
-+		ASN1_BIT_STRING_it;
-+		X509_REQ_it;
-+		_ossl_old_des_cbc_encrypt;
-+		ERR_unload_strings;
-+		PKCS7_SIGN_ENVELOPE_it;
-+		EDIPARTYNAME_free;
-+		OCSP_REQINFO_free;
-+		EC_GROUP_new_curve_GFp;
-+		OCSP_REQUEST_get1_ext_d2i;
-+		PKCS12_item_pack_safebag;
-+		asn1_ex_c2i;
-+		ENGINE_register_digests;
-+		i2d_OCSP_REVOKEDINFO;
-+		asn1_enc_restore;
-+		UI_free;
-+		UI_new_method;
-+		EVP_EncryptInit_ex;
-+		X509_pubkey_digest;
-+		EC_POINT_invert;
-+		OCSP_basic_sign;
-+		i2d_OCSP_RESPID;
-+		OCSP_check_nonce;
-+		ENGINE_ctrl_cmd;
-+		d2i_KRB5_ENCKEY;
-+		OCSP_parse_url;
-+		OCSP_SINGLERESP_get_ext;
-+		OCSP_CRLID_free;
-+		OCSP_BASICRESP_get1_ext_d2i;
-+		RSAPrivateKey_it;
-+		ENGINE_register_all_DH;
-+		i2d_EDIPARTYNAME;
-+		EC_POINT_get_affine_coordinates_GFp;
-+		EC_POINT_get_affine_coords_GFp;
-+		OCSP_CRLID_new;
-+		ENGINE_get_flags;
-+		OCSP_ONEREQ_it;
-+		UI_process;
-+		ASN1_INTEGER_it;
-+		EVP_CipherInit_ex;
-+		UI_get_string_type;
-+		ENGINE_unregister_DH;
-+		ENGINE_register_all_DSA;
-+		OCSP_ONEREQ_get_ext_by_critical;
-+		bn_dup_expand;
-+		OCSP_cert_id_new;
-+		BASIC_CONSTRAINTS_it;
-+		BN_mod_add_quick;
-+		EC_POINT_new;
-+		EVP_MD_CTX_destroy;
-+		OCSP_RESPBYTES_free;
-+		EVP_aes_128_cbc;
-+		OCSP_SINGLERESP_get1_ext_d2i;
-+		EC_POINT_free;
-+		DH_up_ref;
-+		X509_NAME_ENTRY_it;
-+		UI_get_ex_new_index;
-+		BN_mod_sub_quick;
-+		OCSP_ONEREQ_add_ext;
-+		OCSP_request_sign;
-+		EVP_DigestFinal_ex;
-+		ENGINE_set_digests;
-+		OCSP_id_issuer_cmp;
-+		OBJ_NAME_do_all;
-+		EC_POINTs_mul;
-+		ENGINE_register_complete;
-+		X509V3_EXT_nconf_nid;
-+		ASN1_SEQUENCE_it;
-+		UI_set_default_method;
-+		RAND_query_egd_bytes;
-+		UI_method_get_writer;
-+		UI_OpenSSL;
-+		PEM_def_callback;
-+		ENGINE_cleanup;
-+		DIST_POINT_it;
-+		OCSP_SINGLERESP_it;
-+		d2i_KRB5_TKTBODY;
-+		EC_POINT_cmp;
-+		OCSP_REVOKEDINFO_new;
-+		i2d_OCSP_CERTSTATUS;
-+		OCSP_basic_add1_nonce;
-+		ASN1_item_ex_d2i;
-+		BN_mod_lshift1_quick;
-+		UI_set_method;
-+		OCSP_id_get0_info;
-+		BN_mod_sqrt;
-+		EC_GROUP_copy;
-+		KRB5_ENCDATA_free;
-+		_ossl_old_des_cfb_encrypt;
-+		OCSP_SINGLERESP_get_ext_by_OBJ;
-+		OCSP_cert_to_id;
-+		OCSP_RESPID_new;
-+		OCSP_RESPDATA_it;
-+		d2i_OCSP_RESPDATA;
-+		ENGINE_register_all_complete;
-+		OCSP_check_validity;
-+		PKCS12_BAGS_it;
-+		OCSP_url_svcloc_new;
-+		ASN1_template_free;
-+		OCSP_SINGLERESP_add_ext;
-+		KRB5_AUTHENTBODY_it;
-+		X509_supported_extension;
-+		i2d_KRB5_AUTHDATA;
-+		UI_method_get_opener;
-+		ENGINE_set_ex_data;
-+		OCSP_REQUEST_print;
-+		CBIGNUM_it;
-+		KRB5_TICKET_new;
-+		KRB5_APREQ_new;
-+		EC_GROUP_get_curve_GFp;
-+		KRB5_ENCKEY_new;
-+		ASN1_template_d2i;
-+		_ossl_old_des_quad_cksum;
-+		OCSP_single_get0_status;
-+		BN_swap;
-+		POLICYINFO_it;
-+		ENGINE_set_destroy_function;
-+		asn1_enc_free;
-+		OCSP_RESPID_it;
-+		EC_GROUP_new;
-+		EVP_aes_256_cbc;
-+		i2d_KRB5_PRINCNAME;
-+		_ossl_old_des_encrypt2;
-+		_ossl_old_des_encrypt3;
-+		PKCS8_PRIV_KEY_INFO_it;
-+		OCSP_REQINFO_it;
-+		PBEPARAM_it;
-+		KRB5_AUTHENTBODY_new;
-+		X509_CRL_add0_revoked;
-+		EDIPARTYNAME_it;
-+		NETSCAPE_SPKI_it;
-+		UI_get0_test_string;
-+		ENGINE_get_cipher_engine;
-+		ENGINE_register_all_ciphers;
-+		EC_POINT_copy;
-+		BN_kronecker;
-+		_ossl_old_des_ede3_ofb64_encrypt;
-+		_ossl_odes_ede3_ofb64_encrypt;
-+		UI_method_get_reader;
-+		OCSP_BASICRESP_get_ext_count;
-+		ASN1_ENUMERATED_it;
-+		UI_set_result;
-+		i2d_KRB5_TICKET;
-+		X509_print_ex_fp;
-+		EVP_CIPHER_CTX_set_padding;
-+		d2i_OCSP_RESPONSE;
-+		ASN1_UTCTIME_it;
-+		_ossl_old_des_enc_write;
-+		OCSP_RESPONSE_new;
-+		AES_set_encrypt_key;
-+		OCSP_resp_count;
-+		KRB5_CHECKSUM_new;
-+		ENGINE_load_cswift;
-+		OCSP_onereq_get0_id;
-+		ENGINE_set_default_ciphers;
-+		NOTICEREF_it;
-+		X509V3_EXT_CRL_add_nconf;
-+		OCSP_REVOKEDINFO_it;
-+		AES_encrypt;
-+		OCSP_REQUEST_new;
-+		ASN1_ANY_it;
-+		CRYPTO_ex_data_new_class;
-+		_ossl_old_des_ncbc_encrypt;
-+		i2d_KRB5_TKTBODY;
-+		EC_POINT_clear_free;
-+		AES_decrypt;
-+		asn1_enc_init;
-+		UI_get_result_maxsize;
-+		OCSP_CERTID_new;
-+		ENGINE_unregister_RAND;
-+		UI_method_get_closer;
-+		d2i_KRB5_ENCDATA;
-+		OCSP_request_onereq_count;
-+		OCSP_basic_verify;
-+		KRB5_AUTHENTBODY_free;
-+		ASN1_item_d2i;
-+		ASN1_primitive_free;
-+		i2d_EXTENDED_KEY_USAGE;
-+		i2d_OCSP_SIGNATURE;
-+		asn1_enc_save;
-+		ENGINE_load_nuron;
-+		_ossl_old_des_pcbc_encrypt;
-+		PKCS12_MAC_DATA_it;
-+		OCSP_accept_responses_new;
-+		asn1_do_lock;
-+		PKCS7_ATTR_VERIFY_it;
-+		KRB5_APREQBODY_it;
-+		i2d_OCSP_SINGLERESP;
-+		ASN1_item_ex_new;
-+		UI_add_verify_string;
-+		_ossl_old_des_set_key;
-+		KRB5_PRINCNAME_it;
-+		EVP_DecryptInit_ex;
-+		i2d_OCSP_CERTID;
-+		ASN1_item_d2i_bio;
-+		EC_POINT_dbl;
-+		asn1_get_choice_selector;
-+		i2d_KRB5_CHECKSUM;
-+		ENGINE_set_table_flags;
-+		AES_options;
-+		ENGINE_load_chil;
-+		OCSP_id_cmp;
-+		OCSP_BASICRESP_new;
-+		OCSP_REQUEST_get_ext_by_NID;
-+		KRB5_APREQ_it;
-+		ENGINE_get_destroy_function;
-+		CONF_set_nconf;
-+		ASN1_PRINTABLE_free;
-+		OCSP_BASICRESP_get_ext_by_NID;
-+		DIST_POINT_NAME_it;
-+		X509V3_extensions_print;
-+		_ossl_old_des_cfb64_encrypt;
-+		X509_REVOKED_add1_ext_i2d;
-+		_ossl_old_des_ofb_encrypt;
-+		KRB5_TKTBODY_new;
-+		ASN1_OCTET_STRING_it;
-+		ERR_load_UI_strings;
-+		i2d_KRB5_ENCKEY;
-+		ASN1_template_new;
-+		OCSP_SIGNATURE_free;
-+		ASN1_item_i2d_fp;
-+		KRB5_PRINCNAME_free;
-+		PKCS7_RECIP_INFO_it;
-+		EXTENDED_KEY_USAGE_it;
-+		EC_GFp_simple_method;
-+		EC_GROUP_precompute_mult;
-+		OCSP_request_onereq_get0;
-+		UI_method_set_writer;
-+		KRB5_AUTHENT_new;
-+		X509_CRL_INFO_it;
-+		DSO_set_name_converter;
-+		AES_set_decrypt_key;
-+		PKCS7_DIGEST_it;
-+		PKCS12_x5092certbag;
-+		EVP_DigestInit_ex;
-+		i2a_ACCESS_DESCRIPTION;
-+		OCSP_RESPONSE_it;
-+		PKCS7_ENC_CONTENT_it;
-+		OCSP_request_add0_id;
-+		EC_POINT_make_affine;
-+		DSO_get_filename;
-+		OCSP_CERTSTATUS_it;
-+		OCSP_request_add1_cert;
-+		UI_get0_output_string;
-+		UI_dup_verify_string;
-+		BN_mod_lshift;
-+		KRB5_AUTHDATA_it;
-+		asn1_set_choice_selector;
-+		OCSP_basic_add1_status;
-+		OCSP_RESPID_free;
-+		asn1_get_field_ptr;
-+		UI_add_input_string;
-+		OCSP_CRLID_it;
-+		i2d_KRB5_AUTHENTBODY;
-+		OCSP_REQUEST_get_ext_count;
-+		ENGINE_load_atalla;
-+		X509_NAME_it;
-+		USERNOTICE_it;
-+		OCSP_REQINFO_new;
-+		OCSP_BASICRESP_get_ext;
-+		CRYPTO_get_ex_data_implementation;
-+		CRYPTO_get_ex_data_impl;
-+		ASN1_item_pack;
-+		i2d_KRB5_ENCDATA;
-+		X509_PURPOSE_set;
-+		X509_REQ_INFO_it;
-+		UI_method_set_opener;
-+		ASN1_item_ex_free;
-+		ASN1_BOOLEAN_it;
-+		ENGINE_get_table_flags;
-+		UI_create_method;
-+		OCSP_ONEREQ_add1_ext_i2d;
-+		_shadow_DES_check_key;
-+		d2i_OCSP_REQINFO;
-+		UI_add_info_string;
-+		UI_get_result_minsize;
-+		ASN1_NULL_it;
-+		BN_mod_lshift1;
-+		d2i_OCSP_ONEREQ;
-+		OCSP_ONEREQ_new;
-+		KRB5_TICKET_it;
-+		EVP_aes_192_cbc;
-+		KRB5_TICKET_free;
-+		UI_new;
-+		OCSP_response_create;
-+		_ossl_old_des_xcbc_encrypt;
-+		PKCS7_it;
-+		OCSP_REQUEST_get_ext_by_critical;
-+		OCSP_REQUEST_get_ext_by_crit;
-+		ENGINE_set_flags;
-+		_ossl_old_des_ecb_encrypt;
-+		OCSP_response_get1_basic;
-+		EVP_Digest;
-+		OCSP_ONEREQ_delete_ext;
-+		ASN1_TBOOLEAN_it;
-+		ASN1_item_new;
-+		ASN1_TIME_to_generalizedtime;
-+		BIGNUM_it;
-+		AES_cbc_encrypt;
-+		ENGINE_get_load_privkey_function;
-+		ENGINE_get_load_privkey_fn;
-+		OCSP_RESPONSE_free;
-+		UI_method_set_reader;
-+		i2d_ASN1_T61STRING;
-+		EC_POINT_set_to_infinity;
-+		ERR_load_OCSP_strings;
-+		EC_POINT_point2oct;
-+		KRB5_APREQ_free;
-+		ASN1_OBJECT_it;
-+		OCSP_crlID_new;
-+		OCSP_crlID2_new;
-+		CONF_modules_load_file;
-+		CONF_imodule_set_usr_data;
-+		ENGINE_set_default_string;
-+		CONF_module_get_usr_data;
-+		ASN1_add_oid_module;
-+		CONF_modules_finish;
-+		OPENSSL_config;
-+		CONF_modules_unload;
-+		CONF_imodule_get_value;
-+		CONF_module_set_usr_data;
-+		CONF_parse_list;
-+		CONF_module_add;
-+		CONF_get1_default_config_file;
-+		CONF_imodule_get_flags;
-+		CONF_imodule_get_module;
-+		CONF_modules_load;
-+		CONF_imodule_get_name;
-+		ERR_peek_top_error;
-+		CONF_imodule_get_usr_data;
-+		CONF_imodule_set_flags;
-+		ENGINE_add_conf_module;
-+		ERR_peek_last_error_line;
-+		ERR_peek_last_error_line_data;
-+		ERR_peek_last_error;
-+		DES_read_2passwords;
-+		DES_read_password;
-+		UI_UTIL_read_pw;
-+		UI_UTIL_read_pw_string;
-+		ENGINE_load_aep;
-+		ENGINE_load_sureware;
-+		OPENSSL_add_all_algorithms_noconf;
-+		OPENSSL_add_all_algo_noconf;
-+		OPENSSL_add_all_algorithms_conf;
-+		OPENSSL_add_all_algo_conf;
-+		OPENSSL_load_builtin_modules;
-+		AES_ofb128_encrypt;
-+		AES_ctr128_encrypt;
-+		AES_cfb128_encrypt;
-+		ENGINE_load_4758cca;
-+		_ossl_096_des_random_seed;
-+		EVP_aes_256_ofb;
-+		EVP_aes_192_ofb;
-+		EVP_aes_128_cfb128;
-+		EVP_aes_256_cfb128;
-+		EVP_aes_128_ofb;
-+		EVP_aes_192_cfb128;
-+		CONF_modules_free;
-+		NCONF_default;
-+		OPENSSL_no_config;
-+		NCONF_WIN32;
-+		ASN1_UNIVERSALSTRING_new;
-+		EVP_des_ede_ecb;
-+		i2d_ASN1_UNIVERSALSTRING;
-+		ASN1_UNIVERSALSTRING_free;
-+		ASN1_UNIVERSALSTRING_it;
-+		d2i_ASN1_UNIVERSALSTRING;
-+		EVP_des_ede3_ecb;
-+		X509_REQ_print_ex;
-+		ENGINE_up_ref;
-+		BUF_MEM_grow_clean;
-+		CRYPTO_realloc_clean;
-+		BUF_strlcat;
-+		BIO_indent;
-+		BUF_strlcpy;
-+		OpenSSLDie;
-+		OPENSSL_cleanse;
-+		ENGINE_setup_bsd_cryptodev;
-+		ERR_release_err_state_table;
-+		EVP_aes_128_cfb8;
-+		FIPS_corrupt_rsa;
-+		FIPS_selftest_des;
-+		EVP_aes_128_cfb1;
-+		EVP_aes_192_cfb8;
-+		FIPS_mode_set;
-+		FIPS_selftest_dsa;
-+		EVP_aes_256_cfb8;
-+		FIPS_allow_md5;
-+		DES_ede3_cfb_encrypt;
-+		EVP_des_ede3_cfb8;
-+		FIPS_rand_seeded;
-+		AES_cfbr_encrypt_block;
-+		AES_cfb8_encrypt;
-+		FIPS_rand_seed;
-+		FIPS_corrupt_des;
-+		EVP_aes_192_cfb1;
-+		FIPS_selftest_aes;
-+		FIPS_set_prng_key;
-+		EVP_des_cfb8;
-+		FIPS_corrupt_dsa;
-+		FIPS_test_mode;
-+		FIPS_rand_method;
-+		EVP_aes_256_cfb1;
-+		ERR_load_FIPS_strings;
-+		FIPS_corrupt_aes;
-+		FIPS_selftest_sha1;
-+		FIPS_selftest_rsa;
-+		FIPS_corrupt_sha1;
-+		EVP_des_cfb1;
-+		FIPS_dsa_check;
-+		AES_cfb1_encrypt;
-+		EVP_des_ede3_cfb1;
-+		FIPS_rand_check;
-+		FIPS_md5_allowed;
-+		FIPS_mode;
-+		FIPS_selftest_failed;
-+		sk_is_sorted;
-+		X509_check_ca;
-+		HMAC_CTX_set_flags;
-+		d2i_PROXY_CERT_INFO_EXTENSION;
-+		PROXY_POLICY_it;
-+		i2d_PROXY_POLICY;
-+		i2d_PROXY_CERT_INFO_EXTENSION;
-+		d2i_PROXY_POLICY;
-+		PROXY_CERT_INFO_EXTENSION_new;
-+		PROXY_CERT_INFO_EXTENSION_free;
-+		PROXY_CERT_INFO_EXTENSION_it;
-+		PROXY_POLICY_free;
-+		PROXY_POLICY_new;
-+		BN_MONT_CTX_set_locked;
-+		FIPS_selftest_rng;
-+		EVP_sha384;
-+		EVP_sha512;
-+		EVP_sha224;
-+		EVP_sha256;
-+		FIPS_selftest_hmac;
-+		FIPS_corrupt_rng;
-+		BN_mod_exp_mont_consttime;
-+		RSA_X931_hash_id;
-+		RSA_padding_check_X931;
-+		RSA_verify_PKCS1_PSS;
-+		RSA_padding_add_X931;
-+		RSA_padding_add_PKCS1_PSS;
-+		PKCS1_MGF1;
-+		BN_X931_generate_Xpq;
-+		RSA_X931_generate_key;
-+		BN_X931_derive_prime;
-+		BN_X931_generate_prime;
-+		RSA_X931_derive;
-+		BIO_new_dgram;
-+		BN_get0_nist_prime_384;
-+		ERR_set_mark;
-+		X509_STORE_CTX_set0_crls;
-+		ENGINE_set_STORE;
-+		ENGINE_register_ECDSA;
-+		STORE_meth_set_list_start_fn;
-+		STORE_method_set_list_start_function;
-+		BN_BLINDING_invert_ex;
-+		NAME_CONSTRAINTS_free;
-+		STORE_ATTR_INFO_set_number;
-+		BN_BLINDING_get_thread_id;
-+		X509_STORE_CTX_set0_param;
-+		POLICY_MAPPING_it;
-+		STORE_parse_attrs_start;
-+		POLICY_CONSTRAINTS_free;
-+		EVP_PKEY_add1_attr_by_NID;
-+		BN_nist_mod_192;
-+		EC_GROUP_get_trinomial_basis;
-+		STORE_set_method;
-+		GENERAL_SUBTREE_free;
-+		NAME_CONSTRAINTS_it;
-+		ECDH_get_default_method;
-+		PKCS12_add_safe;
-+		EC_KEY_new_by_curve_name;
-+		STORE_meth_get_update_store_fn;
-+		STORE_method_get_update_store_function;
-+		ENGINE_register_ECDH;
-+		SHA512_Update;
-+		i2d_ECPrivateKey;
-+		BN_get0_nist_prime_192;
-+		STORE_modify_certificate;
-+		EC_POINT_set_affine_coordinates_GF2m;
-+		EC_POINT_set_affine_coords_GF2m;
-+		BN_GF2m_mod_exp_arr;
-+		STORE_ATTR_INFO_modify_number;
-+		X509_keyid_get0;
-+		ENGINE_load_gmp;
-+		pitem_new;
-+		BN_GF2m_mod_mul_arr;
-+		STORE_list_public_key_endp;
-+		o2i_ECPublicKey;
-+		EC_KEY_copy;
-+		BIO_dump_fp;
-+		X509_policy_node_get0_parent;
-+		EC_GROUP_check_discriminant;
-+		i2o_ECPublicKey;
-+		EC_KEY_precompute_mult;
-+		a2i_IPADDRESS;
-+		STORE_meth_set_initialise_fn;
-+		STORE_method_set_initialise_function;
-+		X509_STORE_CTX_set_depth;
-+		X509_VERIFY_PARAM_inherit;
-+		EC_POINT_point2bn;
-+		STORE_ATTR_INFO_set_dn;
-+		X509_policy_tree_get0_policies;
-+		EC_GROUP_new_curve_GF2m;
-+		STORE_destroy_method;
-+		ENGINE_unregister_STORE;
-+		EVP_PKEY_get1_EC_KEY;
-+		STORE_ATTR_INFO_get0_number;
-+		ENGINE_get_default_ECDH;
-+		EC_KEY_get_conv_form;
-+		ASN1_OCTET_STRING_NDEF_it;
-+		STORE_delete_public_key;
-+		STORE_get_public_key;
-+		STORE_modify_arbitrary;
-+		ENGINE_get_static_state;
-+		pqueue_iterator;
-+		ECDSA_SIG_new;
-+		OPENSSL_DIR_end;
-+		BN_GF2m_mod_sqr;
-+		EC_POINT_bn2point;
-+		X509_VERIFY_PARAM_set_depth;
-+		EC_KEY_set_asn1_flag;
-+		STORE_get_method;
-+		EC_KEY_get_key_method_data;
-+		ECDSA_sign_ex;
-+		STORE_parse_attrs_end;
-+		EC_GROUP_get_point_conversion_form;
-+		EC_GROUP_get_point_conv_form;
-+		STORE_method_set_store_function;
-+		STORE_ATTR_INFO_in;
-+		PEM_read_bio_ECPKParameters;
-+		EC_GROUP_get_pentanomial_basis;
-+		EVP_PKEY_add1_attr_by_txt;
-+		BN_BLINDING_set_flags;
-+		X509_VERIFY_PARAM_set1_policies;
-+		X509_VERIFY_PARAM_set1_name;
-+		X509_VERIFY_PARAM_set_purpose;
-+		STORE_get_number;
-+		ECDSA_sign_setup;
-+		BN_GF2m_mod_solve_quad_arr;
-+		EC_KEY_up_ref;
-+		POLICY_MAPPING_free;
-+		BN_GF2m_mod_div;
-+		X509_VERIFY_PARAM_set_flags;
-+		EC_KEY_free;
-+		STORE_meth_set_list_next_fn;
-+		STORE_method_set_list_next_function;
-+		PEM_write_bio_ECPrivateKey;
-+		d2i_EC_PUBKEY;
-+		STORE_meth_get_generate_fn;
-+		STORE_method_get_generate_function;
-+		STORE_meth_set_list_end_fn;
-+		STORE_method_set_list_end_function;
-+		pqueue_print;
-+		EC_GROUP_have_precompute_mult;
-+		EC_KEY_print_fp;
-+		BN_GF2m_mod_arr;
-+		PEM_write_bio_X509_CERT_PAIR;
-+		EVP_PKEY_cmp;
-+		X509_policy_level_node_count;
-+		STORE_new_engine;
-+		STORE_list_public_key_start;
-+		X509_VERIFY_PARAM_new;
-+		ECDH_get_ex_data;
-+		EVP_PKEY_get_attr;
-+		ECDSA_do_sign;
-+		ENGINE_unregister_ECDH;
-+		ECDH_OpenSSL;
-+		EC_KEY_set_conv_form;
-+		EC_POINT_dup;
-+		GENERAL_SUBTREE_new;
-+		STORE_list_crl_endp;
-+		EC_get_builtin_curves;
-+		X509_policy_node_get0_qualifiers;
-+		X509_pcy_node_get0_qualifiers;
-+		STORE_list_crl_end;
-+		EVP_PKEY_set1_EC_KEY;
-+		BN_GF2m_mod_sqrt_arr;
-+		i2d_ECPrivateKey_bio;
-+		ECPKParameters_print_fp;
-+		pqueue_find;
-+		ECDSA_SIG_free;
-+		PEM_write_bio_ECPKParameters;
-+		STORE_method_set_ctrl_function;
-+		STORE_list_public_key_end;
-+		EC_KEY_set_private_key;
-+		pqueue_peek;
-+		STORE_get_arbitrary;
-+		STORE_store_crl;
-+		X509_policy_node_get0_policy;
-+		PKCS12_add_safes;
-+		BN_BLINDING_convert_ex;
-+		X509_policy_tree_free;
-+		OPENSSL_ia32cap_loc;
-+		BN_GF2m_poly2arr;
-+		STORE_ctrl;
-+		STORE_ATTR_INFO_compare;
-+		BN_get0_nist_prime_224;
-+		i2d_ECParameters;
-+		i2d_ECPKParameters;
-+		BN_GENCB_call;
-+		d2i_ECPKParameters;
-+		STORE_meth_set_generate_fn;
-+		STORE_method_set_generate_function;
-+		ENGINE_set_ECDH;
-+		NAME_CONSTRAINTS_new;
-+		SHA256_Init;
-+		EC_KEY_get0_public_key;
-+		PEM_write_bio_EC_PUBKEY;
-+		STORE_ATTR_INFO_set_cstr;
-+		STORE_list_crl_next;
-+		STORE_ATTR_INFO_in_range;
-+		ECParameters_print;
-+		STORE_meth_set_delete_fn;
-+		STORE_method_set_delete_function;
-+		STORE_list_certificate_next;
-+		ASN1_generate_nconf;
-+		BUF_memdup;
-+		BN_GF2m_mod_mul;
-+		STORE_meth_get_list_next_fn;
-+		STORE_method_get_list_next_function;
-+		STORE_ATTR_INFO_get0_dn;
-+		STORE_list_private_key_next;
-+		EC_GROUP_set_seed;
-+		X509_VERIFY_PARAM_set_trust;
-+		STORE_ATTR_INFO_free;
-+		STORE_get_private_key;
-+		EVP_PKEY_get_attr_count;
-+		STORE_ATTR_INFO_new;
-+		EC_GROUP_get_curve_GF2m;
-+		STORE_meth_set_revoke_fn;
-+		STORE_method_set_revoke_function;
-+		STORE_store_number;
-+		BN_is_prime_ex;
-+		STORE_revoke_public_key;
-+		X509_STORE_CTX_get0_param;
-+		STORE_delete_arbitrary;
-+		PEM_read_X509_CERT_PAIR;
-+		X509_STORE_set_depth;
-+		ECDSA_get_ex_data;
-+		SHA224;
-+		BIO_dump_indent_fp;
-+		EC_KEY_set_group;
-+		BUF_strndup;
-+		STORE_list_certificate_start;
-+		BN_GF2m_mod;
-+		X509_REQ_check_private_key;
-+		EC_GROUP_get_seed_len;
-+		ERR_load_STORE_strings;
-+		PEM_read_bio_EC_PUBKEY;
-+		STORE_list_private_key_end;
-+		i2d_EC_PUBKEY;
-+		ECDSA_get_default_method;
-+		ASN1_put_eoc;
-+		X509_STORE_CTX_get_explicit_policy;
-+		X509_STORE_CTX_get_expl_policy;
-+		X509_VERIFY_PARAM_table_cleanup;
-+		STORE_modify_private_key;
-+		X509_VERIFY_PARAM_free;
-+		EC_METHOD_get_field_type;
-+		EC_GFp_nist_method;
-+		STORE_meth_set_modify_fn;
-+		STORE_method_set_modify_function;
-+		STORE_parse_attrs_next;
-+		ENGINE_load_padlock;
-+		EC_GROUP_set_curve_name;
-+		X509_CERT_PAIR_it;
-+		STORE_meth_get_revoke_fn;
-+		STORE_method_get_revoke_function;
-+		STORE_method_set_get_function;
-+		STORE_modify_number;
-+		STORE_method_get_store_function;
-+		STORE_store_private_key;
-+		BN_GF2m_mod_sqr_arr;
-+		RSA_setup_blinding;
-+		BIO_s_datagram;
-+		STORE_Memory;
-+		sk_find_ex;
-+		EC_GROUP_set_curve_GF2m;
-+		ENGINE_set_default_ECDSA;
-+		POLICY_CONSTRAINTS_new;
-+		BN_GF2m_mod_sqrt;
-+		ECDH_set_default_method;
-+		EC_KEY_generate_key;
-+		SHA384_Update;
-+		BN_GF2m_arr2poly;
-+		STORE_method_get_get_function;
-+		STORE_meth_set_cleanup_fn;
-+		STORE_method_set_cleanup_function;
-+		EC_GROUP_check;
-+		d2i_ECPrivateKey_bio;
-+		EC_KEY_insert_key_method_data;
-+		STORE_meth_get_lock_store_fn;
-+		STORE_method_get_lock_store_function;
-+		X509_VERIFY_PARAM_get_depth;
-+		SHA224_Final;
-+		STORE_meth_set_update_store_fn;
-+		STORE_method_set_update_store_function;
-+		SHA224_Update;
-+		d2i_ECPrivateKey;
-+		ASN1_item_ndef_i2d;
-+		STORE_delete_private_key;
-+		ERR_pop_to_mark;
-+		ENGINE_register_all_STORE;
-+		X509_policy_level_get0_node;
-+		i2d_PKCS7_NDEF;
-+		EC_GROUP_get_degree;
-+		ASN1_generate_v3;
-+		STORE_ATTR_INFO_modify_cstr;
-+		X509_policy_tree_level_count;
-+		BN_GF2m_add;
-+		EC_KEY_get0_group;
-+		STORE_generate_crl;
-+		STORE_store_public_key;
-+		X509_CERT_PAIR_free;
-+		STORE_revoke_private_key;
-+		BN_nist_mod_224;
-+		SHA512_Final;
-+		STORE_ATTR_INFO_modify_dn;
-+		STORE_meth_get_initialise_fn;
-+		STORE_method_get_initialise_function;
-+		STORE_delete_number;
-+		i2d_EC_PUBKEY_bio;
-+		BIO_dgram_non_fatal_error;
-+		EC_GROUP_get_asn1_flag;
-+		STORE_ATTR_INFO_in_ex;
-+		STORE_list_crl_start;
-+		ECDH_get_ex_new_index;
-+		STORE_meth_get_modify_fn;
-+		STORE_method_get_modify_function;
-+		v2i_ASN1_BIT_STRING;
-+		STORE_store_certificate;
-+		OBJ_bsearch_ex;
-+		X509_STORE_CTX_set_default;
-+		STORE_ATTR_INFO_set_sha1str;
-+		BN_GF2m_mod_inv;
-+		BN_GF2m_mod_exp;
-+		STORE_modify_public_key;
-+		STORE_meth_get_list_start_fn;
-+		STORE_method_get_list_start_function;
-+		EC_GROUP_get0_seed;
-+		STORE_store_arbitrary;
-+		STORE_meth_set_unlock_store_fn;
-+		STORE_method_set_unlock_store_function;
-+		BN_GF2m_mod_div_arr;
-+		ENGINE_set_ECDSA;
-+		STORE_create_method;
-+		ECPKParameters_print;
-+		EC_KEY_get0_private_key;
-+		PEM_write_EC_PUBKEY;
-+		X509_VERIFY_PARAM_set1;
-+		ECDH_set_method;
-+		v2i_GENERAL_NAME_ex;
-+		ECDH_set_ex_data;
-+		STORE_generate_key;
-+		BN_nist_mod_521;
-+		X509_policy_tree_get0_level;
-+		EC_GROUP_set_point_conversion_form;
-+		EC_GROUP_set_point_conv_form;
-+		PEM_read_EC_PUBKEY;
-+		i2d_ECDSA_SIG;
-+		ECDSA_OpenSSL;
-+		STORE_delete_crl;
-+		EC_KEY_get_enc_flags;
-+		ASN1_const_check_infinite_end;
-+		EVP_PKEY_delete_attr;
-+		ECDSA_set_default_method;
-+		EC_POINT_set_compressed_coordinates_GF2m;
-+		EC_POINT_set_compr_coords_GF2m;
-+		EC_GROUP_cmp;
-+		STORE_revoke_certificate;
-+		BN_get0_nist_prime_256;
-+		STORE_meth_get_delete_fn;
-+		STORE_method_get_delete_function;
-+		SHA224_Init;
-+		PEM_read_ECPrivateKey;
-+		SHA512_Init;
-+		STORE_parse_attrs_endp;
-+		BN_set_negative;
-+		ERR_load_ECDSA_strings;
-+		EC_GROUP_get_basis_type;
-+		STORE_list_public_key_next;
-+		i2v_ASN1_BIT_STRING;
-+		STORE_OBJECT_free;
-+		BN_nist_mod_384;
-+		i2d_X509_CERT_PAIR;
-+		PEM_write_ECPKParameters;
-+		ECDH_compute_key;
-+		STORE_ATTR_INFO_get0_sha1str;
-+		ENGINE_register_all_ECDH;
-+		pqueue_pop;
-+		STORE_ATTR_INFO_get0_cstr;
-+		POLICY_CONSTRAINTS_it;
-+		STORE_get_ex_new_index;
-+		EVP_PKEY_get_attr_by_OBJ;
-+		X509_VERIFY_PARAM_add0_policy;
-+		BN_GF2m_mod_solve_quad;
-+		SHA256;
-+		i2d_ECPrivateKey_fp;
-+		X509_policy_tree_get0_user_policies;
-+		X509_pcy_tree_get0_usr_policies;
-+		OPENSSL_DIR_read;
-+		ENGINE_register_all_ECDSA;
-+		X509_VERIFY_PARAM_lookup;
-+		EC_POINT_get_affine_coordinates_GF2m;
-+		EC_POINT_get_affine_coords_GF2m;
-+		EC_GROUP_dup;
-+		ENGINE_get_default_ECDSA;
-+		EC_KEY_new;
-+		SHA256_Transform;
-+		EC_KEY_set_enc_flags;
-+		ECDSA_verify;
-+		EC_POINT_point2hex;
-+		ENGINE_get_STORE;
-+		SHA512;
-+		STORE_get_certificate;
-+		ECDSA_do_sign_ex;
-+		ECDSA_do_verify;
-+		d2i_ECPrivateKey_fp;
-+		STORE_delete_certificate;
-+		SHA512_Transform;
-+		X509_STORE_set1_param;
-+		STORE_method_get_ctrl_function;
-+		STORE_free;
-+		PEM_write_ECPrivateKey;
-+		STORE_meth_get_unlock_store_fn;
-+		STORE_method_get_unlock_store_function;
-+		STORE_get_ex_data;
-+		EC_KEY_set_public_key;
-+		PEM_read_ECPKParameters;
-+		X509_CERT_PAIR_new;
-+		ENGINE_register_STORE;
-+		RSA_generate_key_ex;
-+		DSA_generate_parameters_ex;
-+		ECParameters_print_fp;
-+		X509V3_NAME_from_section;
-+		EVP_PKEY_add1_attr;
-+		STORE_modify_crl;
-+		STORE_list_private_key_start;
-+		POLICY_MAPPINGS_it;
-+		GENERAL_SUBTREE_it;
-+		EC_GROUP_get_curve_name;
-+		PEM_write_X509_CERT_PAIR;
-+		BIO_dump_indent_cb;
-+		d2i_X509_CERT_PAIR;
-+		STORE_list_private_key_endp;
-+		asn1_const_Finish;
-+		i2d_EC_PUBKEY_fp;
-+		BN_nist_mod_256;
-+		X509_VERIFY_PARAM_add0_table;
-+		pqueue_free;
-+		BN_BLINDING_create_param;
-+		ECDSA_size;
-+		d2i_EC_PUBKEY_bio;
-+		BN_get0_nist_prime_521;
-+		STORE_ATTR_INFO_modify_sha1str;
-+		BN_generate_prime_ex;
-+		EC_GROUP_new_by_curve_name;
-+		SHA256_Final;
-+		DH_generate_parameters_ex;
-+		PEM_read_bio_ECPrivateKey;
-+		STORE_meth_get_cleanup_fn;
-+		STORE_method_get_cleanup_function;
-+		ENGINE_get_ECDH;
-+		d2i_ECDSA_SIG;
-+		BN_is_prime_fasttest_ex;
-+		ECDSA_sign;
-+		X509_policy_check;
-+		EVP_PKEY_get_attr_by_NID;
-+		STORE_set_ex_data;
-+		ENGINE_get_ECDSA;
-+		EVP_ecdsa;
-+		BN_BLINDING_get_flags;
-+		PKCS12_add_cert;
-+		STORE_OBJECT_new;
-+		ERR_load_ECDH_strings;
-+		EC_KEY_dup;
-+		EVP_CIPHER_CTX_rand_key;
-+		ECDSA_set_method;
-+		a2i_IPADDRESS_NC;
-+		d2i_ECParameters;
-+		STORE_list_certificate_end;
-+		STORE_get_crl;
-+		X509_POLICY_NODE_print;
-+		SHA384_Init;
-+		EC_GF2m_simple_method;
-+		ECDSA_set_ex_data;
-+		SHA384_Final;
-+		PKCS7_set_digest;
-+		EC_KEY_print;
-+		STORE_meth_set_lock_store_fn;
-+		STORE_method_set_lock_store_function;
-+		ECDSA_get_ex_new_index;
-+		SHA384;
-+		POLICY_MAPPING_new;
-+		STORE_list_certificate_endp;
-+		X509_STORE_CTX_get0_policy_tree;
-+		EC_GROUP_set_asn1_flag;
-+		EC_KEY_check_key;
-+		d2i_EC_PUBKEY_fp;
-+		PKCS7_set0_type_other;
-+		PEM_read_bio_X509_CERT_PAIR;
-+		pqueue_next;
-+		STORE_meth_get_list_end_fn;
-+		STORE_method_get_list_end_function;
-+		EVP_PKEY_add1_attr_by_OBJ;
-+		X509_VERIFY_PARAM_set_time;
-+		pqueue_new;
-+		ENGINE_set_default_ECDH;
-+		STORE_new_method;
-+		PKCS12_add_key;
-+		DSO_merge;
-+		EC_POINT_hex2point;
-+		BIO_dump_cb;
-+		SHA256_Update;
-+		pqueue_insert;
-+		pitem_free;
-+		BN_GF2m_mod_inv_arr;
-+		ENGINE_unregister_ECDSA;
-+		BN_BLINDING_set_thread_id;
-+		get_rfc3526_prime_8192;
-+		X509_VERIFY_PARAM_clear_flags;
-+		get_rfc2409_prime_1024;
-+		DH_check_pub_key;
-+		get_rfc3526_prime_2048;
-+		get_rfc3526_prime_6144;
-+		get_rfc3526_prime_1536;
-+		get_rfc3526_prime_3072;
-+		get_rfc3526_prime_4096;
-+		get_rfc2409_prime_768;
-+		X509_VERIFY_PARAM_get_flags;
-+		EVP_CIPHER_CTX_new;
-+		EVP_CIPHER_CTX_free;
-+		Camellia_cbc_encrypt;
-+		Camellia_cfb128_encrypt;
-+		Camellia_cfb1_encrypt;
-+		Camellia_cfb8_encrypt;
-+		Camellia_ctr128_encrypt;
-+		Camellia_cfbr_encrypt_block;
-+		Camellia_decrypt;
-+		Camellia_ecb_encrypt;
-+		Camellia_encrypt;
-+		Camellia_ofb128_encrypt;
-+		Camellia_set_key;
-+		EVP_camellia_128_cbc;
-+		EVP_camellia_128_cfb128;
-+		EVP_camellia_128_cfb1;
-+		EVP_camellia_128_cfb8;
-+		EVP_camellia_128_ecb;
-+		EVP_camellia_128_ofb;
-+		EVP_camellia_192_cbc;
-+		EVP_camellia_192_cfb128;
-+		EVP_camellia_192_cfb1;
-+		EVP_camellia_192_cfb8;
-+		EVP_camellia_192_ecb;
-+		EVP_camellia_192_ofb;
-+		EVP_camellia_256_cbc;
-+		EVP_camellia_256_cfb128;
-+		EVP_camellia_256_cfb1;
-+		EVP_camellia_256_cfb8;
-+		EVP_camellia_256_ecb;
-+		EVP_camellia_256_ofb;
-+		a2i_ipadd;
-+		ASIdentifiers_free;
-+		i2d_ASIdOrRange;
-+		EVP_CIPHER_block_size;
-+		v3_asid_is_canonical;
-+		IPAddressChoice_free;
-+		EVP_CIPHER_CTX_set_app_data;
-+		BIO_set_callback_arg;
-+		v3_addr_add_prefix;
-+		IPAddressOrRange_it;
-+		BIO_set_flags;
-+		ASIdentifiers_it;
-+		v3_addr_get_range;
-+		BIO_method_type;
-+		v3_addr_inherits;
-+		IPAddressChoice_it;
-+		AES_ige_encrypt;
-+		v3_addr_add_range;
-+		EVP_CIPHER_CTX_nid;
-+		d2i_ASRange;
-+		v3_addr_add_inherit;
-+		v3_asid_add_id_or_range;
-+		v3_addr_validate_resource_set;
-+		EVP_CIPHER_iv_length;
-+		EVP_MD_type;
-+		v3_asid_canonize;
-+		IPAddressRange_free;
-+		v3_asid_add_inherit;
-+		EVP_CIPHER_CTX_key_length;
-+		IPAddressRange_new;
-+		ASIdOrRange_new;
-+		EVP_MD_size;
-+		EVP_MD_CTX_test_flags;
-+		BIO_clear_flags;
-+		i2d_ASRange;
-+		IPAddressRange_it;
-+		IPAddressChoice_new;
-+		ASIdentifierChoice_new;
-+		ASRange_free;
-+		EVP_MD_pkey_type;
-+		EVP_MD_CTX_clear_flags;
-+		IPAddressFamily_free;
-+		i2d_IPAddressFamily;
-+		IPAddressOrRange_new;
-+		EVP_CIPHER_flags;
-+		v3_asid_validate_resource_set;
-+		d2i_IPAddressRange;
-+		AES_bi_ige_encrypt;
-+		BIO_get_callback;
-+		IPAddressOrRange_free;
-+		v3_addr_subset;
-+		d2i_IPAddressFamily;
-+		v3_asid_subset;
-+		BIO_test_flags;
-+		i2d_ASIdentifierChoice;
-+		ASRange_it;
-+		d2i_ASIdentifiers;
-+		ASRange_new;
-+		d2i_IPAddressChoice;
-+		v3_addr_get_afi;
-+		EVP_CIPHER_key_length;
-+		EVP_Cipher;
-+		i2d_IPAddressOrRange;
-+		ASIdOrRange_it;
-+		EVP_CIPHER_nid;
-+		i2d_IPAddressChoice;
-+		EVP_CIPHER_CTX_block_size;
-+		ASIdentifiers_new;
-+		v3_addr_validate_path;
-+		IPAddressFamily_new;
-+		EVP_MD_CTX_set_flags;
-+		v3_addr_is_canonical;
-+		i2d_IPAddressRange;
-+		IPAddressFamily_it;
-+		v3_asid_inherits;
-+		EVP_CIPHER_CTX_cipher;
-+		EVP_CIPHER_CTX_get_app_data;
-+		EVP_MD_block_size;
-+		EVP_CIPHER_CTX_flags;
-+		v3_asid_validate_path;
-+		d2i_IPAddressOrRange;
-+		v3_addr_canonize;
-+		ASIdentifierChoice_it;
-+		EVP_MD_CTX_md;
-+		d2i_ASIdentifierChoice;
-+		BIO_method_name;
-+		EVP_CIPHER_CTX_iv_length;
-+		ASIdOrRange_free;
-+		ASIdentifierChoice_free;
-+		BIO_get_callback_arg;
-+		BIO_set_callback;
-+		d2i_ASIdOrRange;
-+		i2d_ASIdentifiers;
-+		SEED_decrypt;
-+		SEED_encrypt;
-+		SEED_cbc_encrypt;
-+		EVP_seed_ofb;
-+		SEED_cfb128_encrypt;
-+		SEED_ofb128_encrypt;
-+		EVP_seed_cbc;
-+		SEED_ecb_encrypt;
-+		EVP_seed_ecb;
-+		SEED_set_key;
-+		EVP_seed_cfb128;
-+		X509_EXTENSIONS_it;
-+		X509_get1_ocsp;
-+		OCSP_REQ_CTX_free;
-+		i2d_X509_EXTENSIONS;
-+		OCSP_sendreq_nbio;
-+		OCSP_sendreq_new;
-+		d2i_X509_EXTENSIONS;
-+		X509_ALGORS_it;
-+		X509_ALGOR_get0;
-+		X509_ALGOR_set0;
-+		AES_unwrap_key;
-+		AES_wrap_key;
-+		X509at_get0_data_by_OBJ;
-+		ASN1_TYPE_set1;
-+		ASN1_STRING_set0;
-+		i2d_X509_ALGORS;
-+		BIO_f_zlib;
-+		COMP_zlib_cleanup;
-+		d2i_X509_ALGORS;
-+		CMS_ReceiptRequest_free;
-+		PEM_write_CMS;
-+		CMS_add0_CertificateChoices;
-+		CMS_unsigned_add1_attr_by_OBJ;
-+		ERR_load_CMS_strings;
-+		CMS_sign_receipt;
-+		i2d_CMS_ContentInfo;
-+		CMS_signed_delete_attr;
-+		d2i_CMS_bio;
-+		CMS_unsigned_get_attr_by_NID;
-+		CMS_verify;
-+		SMIME_read_CMS;
-+		CMS_decrypt_set1_key;
-+		CMS_SignerInfo_get0_algs;
-+		CMS_add1_cert;
-+		CMS_set_detached;
-+		CMS_encrypt;
-+		CMS_EnvelopedData_create;
-+		CMS_uncompress;
-+		CMS_add0_crl;
-+		CMS_SignerInfo_verify_content;
-+		CMS_unsigned_get0_data_by_OBJ;
-+		PEM_write_bio_CMS;
-+		CMS_unsigned_get_attr;
-+		CMS_RecipientInfo_ktri_cert_cmp;
-+		CMS_RecipientInfo_ktri_get0_algs;
-+		CMS_RecipInfo_ktri_get0_algs;
-+		CMS_ContentInfo_free;
-+		CMS_final;
-+		CMS_add_simple_smimecap;
-+		CMS_SignerInfo_verify;
-+		CMS_data;
-+		CMS_ContentInfo_it;
-+		d2i_CMS_ReceiptRequest;
-+		CMS_compress;
-+		CMS_digest_create;
-+		CMS_SignerInfo_cert_cmp;
-+		CMS_SignerInfo_sign;
-+		CMS_data_create;
-+		i2d_CMS_bio;
-+		CMS_EncryptedData_set1_key;
-+		CMS_decrypt;
-+		int_smime_write_ASN1;
-+		CMS_unsigned_delete_attr;
-+		CMS_unsigned_get_attr_count;
-+		CMS_add_smimecap;
-+		PEM_read_CMS;
-+		CMS_signed_get_attr_by_OBJ;
-+		d2i_CMS_ContentInfo;
-+		CMS_add_standard_smimecap;
-+		CMS_ContentInfo_new;
-+		CMS_RecipientInfo_type;
-+		CMS_get0_type;
-+		CMS_is_detached;
-+		CMS_sign;
-+		CMS_signed_add1_attr;
-+		CMS_unsigned_get_attr_by_OBJ;
-+		SMIME_write_CMS;
-+		CMS_EncryptedData_decrypt;
-+		CMS_get0_RecipientInfos;
-+		CMS_add0_RevocationInfoChoice;
-+		CMS_decrypt_set1_pkey;
-+		CMS_SignerInfo_set1_signer_cert;
-+		CMS_get0_signers;
-+		CMS_ReceiptRequest_get0_values;
-+		CMS_signed_get0_data_by_OBJ;
-+		CMS_get0_SignerInfos;
-+		CMS_add0_cert;
-+		CMS_EncryptedData_encrypt;
-+		CMS_digest_verify;
-+		CMS_set1_signers_certs;
-+		CMS_signed_get_attr;
-+		CMS_RecipientInfo_set0_key;
-+		CMS_SignedData_init;
-+		CMS_RecipientInfo_kekri_get0_id;
-+		CMS_verify_receipt;
-+		CMS_ReceiptRequest_it;
-+		PEM_read_bio_CMS;
-+		CMS_get1_crls;
-+		CMS_add0_recipient_key;
-+		SMIME_read_ASN1;
-+		CMS_ReceiptRequest_new;
-+		CMS_get0_content;
-+		CMS_get1_ReceiptRequest;
-+		CMS_signed_add1_attr_by_OBJ;
-+		CMS_RecipientInfo_kekri_id_cmp;
-+		CMS_add1_ReceiptRequest;
-+		CMS_SignerInfo_get0_signer_id;
-+		CMS_unsigned_add1_attr_by_NID;
-+		CMS_unsigned_add1_attr;
-+		CMS_signed_get_attr_by_NID;
-+		CMS_get1_certs;
-+		CMS_signed_add1_attr_by_NID;
-+		CMS_unsigned_add1_attr_by_txt;
-+		CMS_dataFinal;
-+		CMS_RecipientInfo_ktri_get0_signer_id;
-+		CMS_RecipInfo_ktri_get0_sigr_id;
-+		i2d_CMS_ReceiptRequest;
-+		CMS_add1_recipient_cert;
-+		CMS_dataInit;
-+		CMS_signed_add1_attr_by_txt;
-+		CMS_RecipientInfo_decrypt;
-+		CMS_signed_get_attr_count;
-+		CMS_get0_eContentType;
-+		CMS_set1_eContentType;
-+		CMS_ReceiptRequest_create0;
-+		CMS_add1_signer;
-+		CMS_RecipientInfo_set0_pkey;
-+		ENGINE_set_load_ssl_client_cert_function;
-+		ENGINE_set_ld_ssl_clnt_cert_fn;
-+		ENGINE_get_ssl_client_cert_function;
-+		ENGINE_get_ssl_client_cert_fn;
-+		ENGINE_load_ssl_client_cert;
-+		ENGINE_load_capi;
-+		OPENSSL_isservice;
-+		FIPS_dsa_sig_decode;
-+		EVP_CIPHER_CTX_clear_flags;
-+		FIPS_rand_status;
-+		FIPS_rand_set_key;
-+		CRYPTO_set_mem_info_functions;
-+		RSA_X931_generate_key_ex;
-+		int_ERR_set_state_func;
-+		int_EVP_MD_set_engine_callbacks;
-+		int_CRYPTO_set_do_dynlock_callback;
-+		FIPS_rng_stick;
-+		EVP_CIPHER_CTX_set_flags;
-+		BN_X931_generate_prime_ex;
-+		FIPS_selftest_check;
-+		FIPS_rand_set_dt;
-+		CRYPTO_dbg_pop_info;
-+		FIPS_dsa_free;
-+		RSA_X931_derive_ex;
-+		FIPS_rsa_new;
-+		FIPS_rand_bytes;
-+		fips_cipher_test;
-+		EVP_CIPHER_CTX_test_flags;
-+		CRYPTO_malloc_debug_init;
-+		CRYPTO_dbg_push_info;
-+		FIPS_corrupt_rsa_keygen;
-+		FIPS_dh_new;
-+		FIPS_corrupt_dsa_keygen;
-+		FIPS_dh_free;
-+		fips_pkey_signature_test;
-+		EVP_add_alg_module;
-+		int_RAND_init_engine_callbacks;
-+		int_EVP_CIPHER_set_engine_callbacks;
-+		int_EVP_MD_init_engine_callbacks;
-+		FIPS_rand_test_mode;
-+		FIPS_rand_reset;
-+		FIPS_dsa_new;
-+		int_RAND_set_callbacks;
-+		BN_X931_derive_prime_ex;
-+		int_ERR_lib_init;
-+		int_EVP_CIPHER_init_engine_callbacks;
-+		FIPS_rsa_free;
-+		FIPS_dsa_sig_encode;
-+		CRYPTO_dbg_remove_all_info;
-+		OPENSSL_init;
-+		CRYPTO_strdup;
-+		JPAKE_STEP3A_process;
-+		JPAKE_STEP1_release;
-+		JPAKE_get_shared_key;
-+		JPAKE_STEP3B_init;
-+		JPAKE_STEP1_generate;
-+		JPAKE_STEP1_init;
-+		JPAKE_STEP3B_process;
-+		JPAKE_STEP2_generate;
-+		JPAKE_CTX_new;
-+		JPAKE_CTX_free;
-+		JPAKE_STEP3B_release;
-+		JPAKE_STEP3A_release;
-+		JPAKE_STEP2_process;
-+		JPAKE_STEP3B_generate;
-+		JPAKE_STEP1_process;
-+		JPAKE_STEP3A_generate;
-+		JPAKE_STEP2_release;
-+		JPAKE_STEP3A_init;
-+		ERR_load_JPAKE_strings;
-+		JPAKE_STEP2_init;
-+		pqueue_size;
-+		i2d_TS_ACCURACY;
-+		i2d_TS_MSG_IMPRINT_fp;
-+		i2d_TS_MSG_IMPRINT;
-+		EVP_PKEY_print_public;
-+		EVP_PKEY_CTX_new;
-+		i2d_TS_TST_INFO;
-+		EVP_PKEY_asn1_find;
-+		DSO_METHOD_beos;
-+		TS_CONF_load_cert;
-+		TS_REQ_get_ext;
-+		EVP_PKEY_sign_init;
-+		ASN1_item_print;
-+		TS_TST_INFO_set_nonce;
-+		TS_RESP_dup;
-+		ENGINE_register_pkey_meths;
-+		EVP_PKEY_asn1_add0;
-+		PKCS7_add0_attrib_signing_time;
-+		i2d_TS_TST_INFO_fp;
-+		BIO_asn1_get_prefix;
-+		TS_TST_INFO_set_time;
-+		EVP_PKEY_meth_set_decrypt;
-+		EVP_PKEY_set_type_str;
-+		EVP_PKEY_CTX_get_keygen_info;
-+		TS_REQ_set_policy_id;
-+		d2i_TS_RESP_fp;
-+		ENGINE_get_pkey_asn1_meth_engine;
-+		ENGINE_get_pkey_asn1_meth_eng;
-+		WHIRLPOOL_Init;
-+		TS_RESP_set_status_info;
-+		EVP_PKEY_keygen;
-+		EVP_DigestSignInit;
-+		TS_ACCURACY_set_millis;
-+		TS_REQ_dup;
-+		GENERAL_NAME_dup;
-+		ASN1_SEQUENCE_ANY_it;
-+		WHIRLPOOL;
-+		X509_STORE_get1_crls;
-+		ENGINE_get_pkey_asn1_meth;
-+		EVP_PKEY_asn1_new;
-+		BIO_new_NDEF;
-+		ENGINE_get_pkey_meth;
-+		TS_MSG_IMPRINT_set_algo;
-+		i2d_TS_TST_INFO_bio;
-+		TS_TST_INFO_set_ordering;
-+		TS_TST_INFO_get_ext_by_OBJ;
-+		CRYPTO_THREADID_set_pointer;
-+		TS_CONF_get_tsa_section;
-+		SMIME_write_ASN1;
-+		TS_RESP_CTX_set_signer_key;
-+		EVP_PKEY_encrypt_old;
-+		EVP_PKEY_encrypt_init;
-+		CRYPTO_THREADID_cpy;
-+		ASN1_PCTX_get_cert_flags;
-+		i2d_ESS_SIGNING_CERT;
-+		TS_CONF_load_key;
-+		i2d_ASN1_SEQUENCE_ANY;
-+		d2i_TS_MSG_IMPRINT_bio;
-+		EVP_PKEY_asn1_set_public;
-+		b2i_PublicKey_bio;
-+		BIO_asn1_set_prefix;
-+		EVP_PKEY_new_mac_key;
-+		BIO_new_CMS;
-+		CRYPTO_THREADID_cmp;
-+		TS_REQ_ext_free;
-+		EVP_PKEY_asn1_set_free;
-+		EVP_PKEY_get0_asn1;
-+		d2i_NETSCAPE_X509;
-+		EVP_PKEY_verify_recover_init;
-+		EVP_PKEY_CTX_set_data;
-+		EVP_PKEY_keygen_init;
-+		TS_RESP_CTX_set_status_info;
-+		TS_MSG_IMPRINT_get_algo;
-+		TS_REQ_print_bio;
-+		EVP_PKEY_CTX_ctrl_str;
-+		EVP_PKEY_get_default_digest_nid;
-+		PEM_write_bio_PKCS7_stream;
-+		TS_MSG_IMPRINT_print_bio;
-+		BN_asc2bn;
-+		TS_REQ_get_policy_id;
-+		ENGINE_set_default_pkey_asn1_meths;
-+		ENGINE_set_def_pkey_asn1_meths;
-+		d2i_TS_ACCURACY;
-+		DSO_global_lookup;
-+		TS_CONF_set_tsa_name;
-+		i2d_ASN1_SET_ANY;
-+		ENGINE_load_gost;
-+		WHIRLPOOL_BitUpdate;
-+		ASN1_PCTX_get_flags;
-+		TS_TST_INFO_get_ext_by_NID;
-+		TS_RESP_new;
-+		ESS_CERT_ID_dup;
-+		TS_STATUS_INFO_dup;
-+		TS_REQ_delete_ext;
-+		EVP_DigestVerifyFinal;
-+		EVP_PKEY_print_params;
-+		i2d_CMS_bio_stream;
-+		TS_REQ_get_msg_imprint;
-+		OBJ_find_sigid_by_algs;
-+		TS_TST_INFO_get_serial;
-+		TS_REQ_get_nonce;
-+		X509_PUBKEY_set0_param;
-+		EVP_PKEY_CTX_set0_keygen_info;
-+		DIST_POINT_set_dpname;
-+		i2d_ISSUING_DIST_POINT;
-+		ASN1_SET_ANY_it;
-+		EVP_PKEY_CTX_get_data;
-+		TS_STATUS_INFO_print_bio;
-+		EVP_PKEY_derive_init;
-+		d2i_TS_TST_INFO;
-+		EVP_PKEY_asn1_add_alias;
-+		d2i_TS_RESP_bio;
-+		OTHERNAME_cmp;
-+		GENERAL_NAME_set0_value;
-+		PKCS7_RECIP_INFO_get0_alg;
-+		TS_RESP_CTX_new;
-+		TS_RESP_set_tst_info;
-+		PKCS7_final;
-+		EVP_PKEY_base_id;
-+		TS_RESP_CTX_set_signer_cert;
-+		TS_REQ_set_msg_imprint;
-+		EVP_PKEY_CTX_ctrl;
-+		TS_CONF_set_digests;
-+		d2i_TS_MSG_IMPRINT;
-+		EVP_PKEY_meth_set_ctrl;
-+		TS_REQ_get_ext_by_NID;
-+		PKCS5_pbe_set0_algor;
-+		BN_BLINDING_thread_id;
-+		TS_ACCURACY_new;
-+		X509_CRL_METHOD_free;
-+		ASN1_PCTX_get_nm_flags;
-+		EVP_PKEY_meth_set_sign;
-+		CRYPTO_THREADID_current;
-+		EVP_PKEY_decrypt_init;
-+		NETSCAPE_X509_free;
-+		i2b_PVK_bio;
-+		EVP_PKEY_print_private;
-+		GENERAL_NAME_get0_value;
-+		b2i_PVK_bio;
-+		ASN1_UTCTIME_adj;
-+		TS_TST_INFO_new;
-+		EVP_MD_do_all_sorted;
-+		TS_CONF_set_default_engine;
-+		TS_ACCURACY_set_seconds;
-+		TS_TST_INFO_get_time;
-+		PKCS8_pkey_get0;
-+		EVP_PKEY_asn1_get0;
-+		OBJ_add_sigid;
-+		PKCS7_SIGNER_INFO_sign;
-+		EVP_PKEY_paramgen_init;
-+		EVP_PKEY_sign;
-+		OBJ_sigid_free;
-+		EVP_PKEY_meth_set_init;
-+		d2i_ESS_ISSUER_SERIAL;
-+		ISSUING_DIST_POINT_new;
-+		ASN1_TIME_adj;
-+		TS_OBJ_print_bio;
-+		EVP_PKEY_meth_set_verify_recover;
-+		EVP_PKEY_meth_set_vrfy_recover;
-+		TS_RESP_get_status_info;
-+		CMS_stream;
-+		EVP_PKEY_CTX_set_cb;
-+		PKCS7_to_TS_TST_INFO;
-+		ASN1_PCTX_get_oid_flags;
-+		TS_TST_INFO_add_ext;
-+		EVP_PKEY_meth_set_derive;
-+		i2d_TS_RESP_fp;
-+		i2d_TS_MSG_IMPRINT_bio;
-+		TS_RESP_CTX_set_accuracy;
-+		TS_REQ_set_nonce;
-+		ESS_CERT_ID_new;
-+		ENGINE_pkey_asn1_find_str;
-+		TS_REQ_get_ext_count;
-+		BUF_reverse;
-+		TS_TST_INFO_print_bio;
-+		d2i_ISSUING_DIST_POINT;
-+		ENGINE_get_pkey_meths;
-+		i2b_PrivateKey_bio;
-+		i2d_TS_RESP;
-+		b2i_PublicKey;
-+		TS_VERIFY_CTX_cleanup;
-+		TS_STATUS_INFO_free;
-+		TS_RESP_verify_token;
-+		OBJ_bsearch_ex_;
-+		ASN1_bn_print;
-+		EVP_PKEY_asn1_get_count;
-+		ENGINE_register_pkey_asn1_meths;
-+		ASN1_PCTX_set_nm_flags;
-+		EVP_DigestVerifyInit;
-+		ENGINE_set_default_pkey_meths;
-+		TS_TST_INFO_get_policy_id;
-+		TS_REQ_get_cert_req;
-+		X509_CRL_set_meth_data;
-+		PKCS8_pkey_set0;
-+		ASN1_STRING_copy;
-+		d2i_TS_TST_INFO_fp;
-+		X509_CRL_match;
-+		EVP_PKEY_asn1_set_private;
-+		TS_TST_INFO_get_ext_d2i;
-+		TS_RESP_CTX_add_policy;
-+		d2i_TS_RESP;
-+		TS_CONF_load_certs;
-+		TS_TST_INFO_get_msg_imprint;
-+		ERR_load_TS_strings;
-+		TS_TST_INFO_get_version;
-+		EVP_PKEY_CTX_dup;
-+		EVP_PKEY_meth_set_verify;
-+		i2b_PublicKey_bio;
-+		TS_CONF_set_certs;
-+		EVP_PKEY_asn1_get0_info;
-+		TS_VERIFY_CTX_free;
-+		TS_REQ_get_ext_by_critical;
-+		TS_RESP_CTX_set_serial_cb;
-+		X509_CRL_get_meth_data;
-+		TS_RESP_CTX_set_time_cb;
-+		TS_MSG_IMPRINT_get_msg;
-+		TS_TST_INFO_ext_free;
-+		TS_REQ_get_version;
-+		TS_REQ_add_ext;
-+		EVP_PKEY_CTX_set_app_data;
-+		OBJ_bsearch_;
-+		EVP_PKEY_meth_set_verifyctx;
-+		i2d_PKCS7_bio_stream;
-+		CRYPTO_THREADID_set_numeric;
-+		PKCS7_sign_add_signer;
-+		d2i_TS_TST_INFO_bio;
-+		TS_TST_INFO_get_ordering;
-+		TS_RESP_print_bio;
-+		TS_TST_INFO_get_exts;
-+		HMAC_CTX_copy;
-+		PKCS5_pbe2_set_iv;
-+		ENGINE_get_pkey_asn1_meths;
-+		b2i_PrivateKey;
-+		EVP_PKEY_CTX_get_app_data;
-+		TS_REQ_set_cert_req;
-+		CRYPTO_THREADID_set_callback;
-+		TS_CONF_set_serial;
-+		TS_TST_INFO_free;
-+		d2i_TS_REQ_fp;
-+		TS_RESP_verify_response;
-+		i2d_ESS_ISSUER_SERIAL;
-+		TS_ACCURACY_get_seconds;
-+		EVP_CIPHER_do_all;
-+		b2i_PrivateKey_bio;
-+		OCSP_CERTID_dup;
-+		X509_PUBKEY_get0_param;
-+		TS_MSG_IMPRINT_dup;
-+		PKCS7_print_ctx;
-+		i2d_TS_REQ_bio;
-+		EVP_whirlpool;
-+		EVP_PKEY_asn1_set_param;
-+		EVP_PKEY_meth_set_encrypt;
-+		ASN1_PCTX_set_flags;
-+		i2d_ESS_CERT_ID;
-+		TS_VERIFY_CTX_new;
-+		TS_RESP_CTX_set_extension_cb;
-+		ENGINE_register_all_pkey_meths;
-+		TS_RESP_CTX_set_status_info_cond;
-+		TS_RESP_CTX_set_stat_info_cond;
-+		EVP_PKEY_verify;
-+		WHIRLPOOL_Final;
-+		X509_CRL_METHOD_new;
-+		EVP_DigestSignFinal;
-+		TS_RESP_CTX_set_def_policy;
-+		NETSCAPE_X509_it;
-+		TS_RESP_create_response;
-+		PKCS7_SIGNER_INFO_get0_algs;
-+		TS_TST_INFO_get_nonce;
-+		EVP_PKEY_decrypt_old;
-+		TS_TST_INFO_set_policy_id;
-+		TS_CONF_set_ess_cert_id_chain;
-+		EVP_PKEY_CTX_get0_pkey;
-+		d2i_TS_REQ;
-+		EVP_PKEY_asn1_find_str;
-+		BIO_f_asn1;
-+		ESS_SIGNING_CERT_new;
-+		EVP_PBE_find;
-+		X509_CRL_get0_by_cert;
-+		EVP_PKEY_derive;
-+		i2d_TS_REQ;
-+		TS_TST_INFO_delete_ext;
-+		ESS_ISSUER_SERIAL_free;
-+		ASN1_PCTX_set_str_flags;
-+		ENGINE_get_pkey_asn1_meth_str;
-+		TS_CONF_set_signer_key;
-+		TS_ACCURACY_get_millis;
-+		TS_RESP_get_token;
-+		TS_ACCURACY_dup;
-+		ENGINE_register_all_pkey_asn1_meths;
-+		ENGINE_reg_all_pkey_asn1_meths;
-+		X509_CRL_set_default_method;
-+		CRYPTO_THREADID_hash;
-+		CMS_ContentInfo_print_ctx;
-+		TS_RESP_free;
-+		ISSUING_DIST_POINT_free;
-+		ESS_ISSUER_SERIAL_new;
-+		CMS_add1_crl;
-+		PKCS7_add1_attrib_digest;
-+		TS_RESP_CTX_add_md;
-+		TS_TST_INFO_dup;
-+		ENGINE_set_pkey_asn1_meths;
-+		PEM_write_bio_Parameters;
-+		TS_TST_INFO_get_accuracy;
-+		X509_CRL_get0_by_serial;
-+		TS_TST_INFO_set_version;
-+		TS_RESP_CTX_get_tst_info;
-+		TS_RESP_verify_signature;
-+		CRYPTO_THREADID_get_callback;
-+		TS_TST_INFO_get_tsa;
-+		TS_STATUS_INFO_new;
-+		EVP_PKEY_CTX_get_cb;
-+		TS_REQ_get_ext_d2i;
-+		GENERAL_NAME_set0_othername;
-+		TS_TST_INFO_get_ext_count;
-+		TS_RESP_CTX_get_request;
-+		i2d_NETSCAPE_X509;
-+		ENGINE_get_pkey_meth_engine;
-+		EVP_PKEY_meth_set_signctx;
-+		EVP_PKEY_asn1_copy;
-+		ASN1_TYPE_cmp;
-+		EVP_CIPHER_do_all_sorted;
-+		EVP_PKEY_CTX_free;
-+		ISSUING_DIST_POINT_it;
-+		d2i_TS_MSG_IMPRINT_fp;
-+		X509_STORE_get1_certs;
-+		EVP_PKEY_CTX_get_operation;
-+		d2i_ESS_SIGNING_CERT;
-+		TS_CONF_set_ordering;
-+		EVP_PBE_alg_add_type;
-+		TS_REQ_set_version;
-+		EVP_PKEY_get0;
-+		BIO_asn1_set_suffix;
-+		i2d_TS_STATUS_INFO;
-+		EVP_MD_do_all;
-+		TS_TST_INFO_set_accuracy;
-+		PKCS7_add_attrib_content_type;
-+		ERR_remove_thread_state;
-+		EVP_PKEY_meth_add0;
-+		TS_TST_INFO_set_tsa;
-+		EVP_PKEY_meth_new;
-+		WHIRLPOOL_Update;
-+		TS_CONF_set_accuracy;
-+		ASN1_PCTX_set_oid_flags;
-+		ESS_SIGNING_CERT_dup;
-+		d2i_TS_REQ_bio;
-+		X509_time_adj_ex;
-+		TS_RESP_CTX_add_flags;
-+		d2i_TS_STATUS_INFO;
-+		TS_MSG_IMPRINT_set_msg;
-+		BIO_asn1_get_suffix;
-+		TS_REQ_free;
-+		EVP_PKEY_meth_free;
-+		TS_REQ_get_exts;
-+		TS_RESP_CTX_set_clock_precision_digits;
-+		TS_RESP_CTX_set_clk_prec_digits;
-+		TS_RESP_CTX_add_failure_info;
-+		i2d_TS_RESP_bio;
-+		EVP_PKEY_CTX_get0_peerkey;
-+		PEM_write_bio_CMS_stream;
-+		TS_REQ_new;
-+		TS_MSG_IMPRINT_new;
-+		EVP_PKEY_meth_find;
-+		EVP_PKEY_id;
-+		TS_TST_INFO_set_serial;
-+		a2i_GENERAL_NAME;
-+		TS_CONF_set_crypto_device;
-+		EVP_PKEY_verify_init;
-+		TS_CONF_set_policies;
-+		ASN1_PCTX_new;
-+		ESS_CERT_ID_free;
-+		ENGINE_unregister_pkey_meths;
-+		TS_MSG_IMPRINT_free;
-+		TS_VERIFY_CTX_init;
-+		PKCS7_stream;
-+		TS_RESP_CTX_set_certs;
-+		TS_CONF_set_def_policy;
-+		ASN1_GENERALIZEDTIME_adj;
-+		NETSCAPE_X509_new;
-+		TS_ACCURACY_free;
-+		TS_RESP_get_tst_info;
-+		EVP_PKEY_derive_set_peer;
-+		PEM_read_bio_Parameters;
-+		TS_CONF_set_clock_precision_digits;
-+		TS_CONF_set_clk_prec_digits;
-+		ESS_ISSUER_SERIAL_dup;
-+		TS_ACCURACY_get_micros;
-+		ASN1_PCTX_get_str_flags;
-+		NAME_CONSTRAINTS_check;
-+		ASN1_BIT_STRING_check;
-+		X509_check_akid;
-+		ENGINE_unregister_pkey_asn1_meths;
-+		ENGINE_unreg_pkey_asn1_meths;
-+		ASN1_PCTX_free;
-+		PEM_write_bio_ASN1_stream;
-+		i2d_ASN1_bio_stream;
-+		TS_X509_ALGOR_print_bio;
-+		EVP_PKEY_meth_set_cleanup;
-+		EVP_PKEY_asn1_free;
-+		ESS_SIGNING_CERT_free;
-+		TS_TST_INFO_set_msg_imprint;
-+		GENERAL_NAME_cmp;
-+		d2i_ASN1_SET_ANY;
-+		ENGINE_set_pkey_meths;
-+		i2d_TS_REQ_fp;
-+		d2i_ASN1_SEQUENCE_ANY;
-+		GENERAL_NAME_get0_otherName;
-+		d2i_ESS_CERT_ID;
-+		OBJ_find_sigid_algs;
-+		EVP_PKEY_meth_set_keygen;
-+		PKCS5_PBKDF2_HMAC;
-+		EVP_PKEY_paramgen;
-+		EVP_PKEY_meth_set_paramgen;
-+		BIO_new_PKCS7;
-+		EVP_PKEY_verify_recover;
-+		TS_ext_print_bio;
-+		TS_ASN1_INTEGER_print_bio;
-+		check_defer;
-+		DSO_pathbyaddr;
-+		EVP_PKEY_set_type;
-+		TS_ACCURACY_set_micros;
-+		TS_REQ_to_TS_VERIFY_CTX;
-+		EVP_PKEY_meth_set_copy;
-+		ASN1_PCTX_set_cert_flags;
-+		TS_TST_INFO_get_ext;
-+		EVP_PKEY_asn1_set_ctrl;
-+		TS_TST_INFO_get_ext_by_critical;
-+		EVP_PKEY_CTX_new_id;
-+		TS_REQ_get_ext_by_OBJ;
-+		TS_CONF_set_signer_cert;
-+		X509_NAME_hash_old;
-+		ASN1_TIME_set_string;
-+		EVP_MD_flags;
-+		TS_RESP_CTX_free;
-+		DSAparams_dup;
-+		DHparams_dup;
-+		OCSP_REQ_CTX_add1_header;
-+		OCSP_REQ_CTX_set1_req;
-+		X509_STORE_set_verify_cb;
-+		X509_STORE_CTX_get0_current_crl;
-+		X509_STORE_CTX_get0_parent_ctx;
-+		X509_STORE_CTX_get0_current_issuer;
-+		X509_STORE_CTX_get0_cur_issuer;
-+		X509_issuer_name_hash_old;
-+		X509_subject_name_hash_old;
-+		EVP_CIPHER_CTX_copy;
-+		UI_method_get_prompt_constructor;
-+		UI_method_get_prompt_constructr;
-+		UI_method_set_prompt_constructor;
-+		UI_method_set_prompt_constructr;
-+		EVP_read_pw_string_min;
-+		CRYPTO_cts128_encrypt;
-+		CRYPTO_cts128_decrypt_block;
-+		CRYPTO_cfb128_1_encrypt;
-+		CRYPTO_cbc128_encrypt;
-+		CRYPTO_ctr128_encrypt;
-+		CRYPTO_ofb128_encrypt;
-+		CRYPTO_cts128_decrypt;
-+		CRYPTO_cts128_encrypt_block;
-+		CRYPTO_cbc128_decrypt;
-+		CRYPTO_cfb128_encrypt;
-+		CRYPTO_cfb128_8_encrypt;
-+
-+	local:
-+		*;
-+};
-+
-+
-+OPENSSL_1.0.1 {
-+	global:
-+		SSL_renegotiate_abbreviated;
-+		TLSv1_1_method;
-+		TLSv1_1_client_method;
-+		TLSv1_1_server_method;
-+		SSL_CTX_set_srp_client_pwd_callback;
-+		SSL_CTX_set_srp_client_pwd_cb;
-+		SSL_get_srp_g;
-+		SSL_CTX_set_srp_username_callback;
-+		SSL_CTX_set_srp_un_cb;
-+		SSL_get_srp_userinfo;
-+		SSL_set_srp_server_param;
-+		SSL_set_srp_server_param_pw;
-+		SSL_get_srp_N;
-+		SSL_get_srp_username;
-+		SSL_CTX_set_srp_password;
-+		SSL_CTX_set_srp_strength;
-+		SSL_CTX_set_srp_verify_param_callback;
-+		SSL_CTX_set_srp_vfy_param_cb;
-+		SSL_CTX_set_srp_cb_arg;
-+		SSL_CTX_set_srp_username;
-+		SSL_CTX_SRP_CTX_init;
-+		SSL_SRP_CTX_init;
-+		SRP_Calc_A_param;
-+		SRP_generate_server_master_secret;
-+		SRP_gen_server_master_secret;
-+		SSL_CTX_SRP_CTX_free;
-+		SRP_generate_client_master_secret;
-+		SRP_gen_client_master_secret;
-+		SSL_srp_server_param_with_username;
-+		SSL_srp_server_param_with_un;
-+		SSL_SRP_CTX_free;
-+		SSL_set_debug;
-+		SSL_SESSION_get0_peer;
-+		TLSv1_2_client_method;
-+		SSL_SESSION_set1_id_context;
-+		TLSv1_2_server_method;
-+		SSL_cache_hit;
-+		SSL_get0_kssl_ctx;
-+		SSL_set0_kssl_ctx;
-+		SSL_set_state;
-+		SSL_CIPHER_get_id;
-+		TLSv1_2_method;
-+		kssl_ctx_get0_client_princ;
-+		SSL_export_keying_material;
-+		SSL_set_tlsext_use_srtp;
-+		SSL_CTX_set_next_protos_advertised_cb;
-+		SSL_CTX_set_next_protos_adv_cb;
-+		SSL_get0_next_proto_negotiated;
-+		SSL_get_selected_srtp_profile;
-+		SSL_CTX_set_tlsext_use_srtp;
-+		SSL_select_next_proto;
-+		SSL_get_srtp_profiles;
-+		SSL_CTX_set_next_proto_select_cb;
-+		SSL_CTX_set_next_proto_sel_cb;
-+		SSL_SESSION_get_compress_id;
-+
-+		SRP_VBASE_get_by_user;
-+		SRP_Calc_server_key;
-+		SRP_create_verifier;
-+		SRP_create_verifier_BN;
-+		SRP_Calc_u;
-+		SRP_VBASE_free;
-+		SRP_Calc_client_key;
-+		SRP_get_default_gN;
-+		SRP_Calc_x;
-+		SRP_Calc_B;
-+		SRP_VBASE_new;
-+		SRP_check_known_gN_param;
-+		SRP_Calc_A;
-+		SRP_Verify_A_mod_N;
-+		SRP_VBASE_init;
-+		SRP_Verify_B_mod_N;
-+		EC_KEY_set_public_key_affine_coordinates;
-+		EC_KEY_set_pub_key_aff_coords;
-+		EVP_aes_192_ctr;
-+		EVP_PKEY_meth_get0_info;
-+		EVP_PKEY_meth_copy;
-+		ERR_add_error_vdata;
-+		EVP_aes_128_ctr;
-+		EVP_aes_256_ctr;
-+		EC_GFp_nistp224_method;
-+		EC_KEY_get_flags;
-+		RSA_padding_add_PKCS1_PSS_mgf1;
-+		EVP_aes_128_xts;
-+		EVP_aes_256_xts;
-+		EVP_aes_128_gcm;
-+		EC_KEY_clear_flags;
-+		EC_KEY_set_flags;
-+		EVP_aes_256_ccm;
-+		RSA_verify_PKCS1_PSS_mgf1;
-+		EVP_aes_128_ccm;
-+		EVP_aes_192_gcm;
-+		X509_ALGOR_set_md;
-+		RAND_init_fips;
-+		EVP_aes_256_gcm;
-+		EVP_aes_192_ccm;
-+		CMAC_CTX_copy;
-+		CMAC_CTX_free;
-+		CMAC_CTX_get0_cipher_ctx;
-+		CMAC_CTX_cleanup;
-+		CMAC_Init;
-+		CMAC_Update;
-+		CMAC_resume;
-+		CMAC_CTX_new;
-+		CMAC_Final;
-+		CRYPTO_ctr128_encrypt_ctr32;
-+		CRYPTO_gcm128_release;
-+		CRYPTO_ccm128_decrypt_ccm64;
-+		CRYPTO_ccm128_encrypt;
-+		CRYPTO_gcm128_encrypt;
-+		CRYPTO_xts128_encrypt;
-+		EVP_rc4_hmac_md5;
-+		CRYPTO_nistcts128_decrypt_block;
-+		CRYPTO_gcm128_setiv;
-+		CRYPTO_nistcts128_encrypt;
-+		EVP_aes_128_cbc_hmac_sha1;
-+		CRYPTO_gcm128_tag;
-+		CRYPTO_ccm128_encrypt_ccm64;
-+		ENGINE_load_rdrand;
-+		CRYPTO_ccm128_setiv;
-+		CRYPTO_nistcts128_encrypt_block;
-+		CRYPTO_gcm128_aad;
-+		CRYPTO_ccm128_init;
-+		CRYPTO_nistcts128_decrypt;
-+		CRYPTO_gcm128_new;
-+		CRYPTO_ccm128_tag;
-+		CRYPTO_ccm128_decrypt;
-+		CRYPTO_ccm128_aad;
-+		CRYPTO_gcm128_init;
-+		CRYPTO_gcm128_decrypt;
-+		ENGINE_load_rsax;
-+		CRYPTO_gcm128_decrypt_ctr32;
-+		CRYPTO_gcm128_encrypt_ctr32;
-+		CRYPTO_gcm128_finish;
-+		EVP_aes_256_cbc_hmac_sha1;
-+		PKCS5_pbkdf2_set;
-+		CMS_add0_recipient_password;
-+		CMS_decrypt_set1_password;
-+		CMS_RecipientInfo_set0_password;
-+		RAND_set_fips_drbg_type;
-+		X509_REQ_sign_ctx;
-+		RSA_PSS_PARAMS_new;
-+		X509_CRL_sign_ctx;
-+		X509_signature_dump;
-+		d2i_RSA_PSS_PARAMS;
-+		RSA_PSS_PARAMS_it;
-+		RSA_PSS_PARAMS_free;
-+		X509_sign_ctx;
-+		i2d_RSA_PSS_PARAMS;
-+		ASN1_item_sign_ctx;
-+		EC_GFp_nistp521_method;
-+		EC_GFp_nistp256_method;
-+		OPENSSL_stderr;
-+		OPENSSL_cpuid_setup;
-+		OPENSSL_showfatal;
-+		BIO_new_dgram_sctp;
-+		BIO_dgram_sctp_msg_waiting;
-+		BIO_dgram_sctp_wait_for_dry;
-+		BIO_s_datagram_sctp;
-+		BIO_dgram_is_sctp;
-+		BIO_dgram_sctp_notification_cb;
-+} OPENSSL_1.0.0;
-+
-+OPENSSL_1.0.1d {
-+	global:
-+		CRYPTO_memcmp;
-+} OPENSSL_1.0.1;
-+
-+OPENSSL_1.0.2 {
-+	global:
-+		SSL_CTX_set_alpn_protos;
-+		SSL_set_alpn_protos;
-+		SSL_CTX_set_alpn_select_cb;
-+		SSL_get0_alpn_selected;
-+		SSL_CTX_set_custom_cli_ext;
-+		SSL_CTX_set_custom_srv_ext;
-+		SSL_CTX_set_srv_supp_data;
-+		SSL_CTX_set_cli_supp_data;
-+		SSL_set_cert_cb;
-+		SSL_CTX_use_serverinfo;
-+		SSL_CTX_use_serverinfo_file;
-+		SSL_CTX_set_cert_cb;
-+		SSL_CTX_get0_param;
-+		SSL_get0_param;
-+		SSL_certs_clear;
-+		DTLSv1_2_method;
-+		DTLSv1_2_server_method;
-+		DTLSv1_2_client_method;
-+		DTLS_method;
-+		DTLS_server_method;
-+		DTLS_client_method;
-+		SSL_CTX_get_ssl_method;
-+		SSL_CTX_get0_certificate;
-+		SSL_CTX_get0_privatekey;
-+		SSL_COMP_set0_compression_methods;
-+		SSL_COMP_free_compression_methods;
-+		SSL_CIPHER_find;
-+		SSL_is_server;
-+		SSL_CONF_CTX_new;
-+		SSL_CONF_CTX_finish;
-+		SSL_CONF_CTX_free;
-+		SSL_CONF_CTX_set_flags;
-+		SSL_CONF_CTX_clear_flags;
-+		SSL_CONF_CTX_set1_prefix;
-+		SSL_CONF_CTX_set_ssl;
-+		SSL_CONF_CTX_set_ssl_ctx;
-+		SSL_CONF_cmd;
-+		SSL_CONF_cmd_argv;
-+		SSL_CONF_cmd_value_type;
-+		SSL_trace;
-+		SSL_CIPHER_standard_name;
-+		SSL_get_tlsa_record_byname;
-+		ASN1_TIME_diff;
-+		BIO_hex_string;
-+		CMS_RecipientInfo_get0_pkey_ctx;
-+		CMS_RecipientInfo_encrypt;
-+		CMS_SignerInfo_get0_pkey_ctx;
-+		CMS_SignerInfo_get0_md_ctx;
-+		CMS_SignerInfo_get0_signature;
-+		CMS_RecipientInfo_kari_get0_alg;
-+		CMS_RecipientInfo_kari_get0_reks;
-+		CMS_RecipientInfo_kari_get0_orig_id;
-+		CMS_RecipientInfo_kari_orig_id_cmp;
-+		CMS_RecipientEncryptedKey_get0_id;
-+		CMS_RecipientEncryptedKey_cert_cmp;
-+		CMS_RecipientInfo_kari_set0_pkey;
-+		CMS_RecipientInfo_kari_get0_ctx;
-+		CMS_RecipientInfo_kari_decrypt;
-+		CMS_SharedInfo_encode;
-+		DH_compute_key_padded;
-+		d2i_DHxparams;
-+		i2d_DHxparams;
-+		DH_get_1024_160;
-+		DH_get_2048_224;
-+		DH_get_2048_256;
-+		DH_KDF_X9_42;
-+		ECDH_KDF_X9_62;
-+		ECDSA_METHOD_new;
-+		ECDSA_METHOD_free;
-+		ECDSA_METHOD_set_app_data;
-+		ECDSA_METHOD_get_app_data;
-+		ECDSA_METHOD_set_sign;
-+		ECDSA_METHOD_set_sign_setup;
-+		ECDSA_METHOD_set_verify;
-+		ECDSA_METHOD_set_flags;
-+		ECDSA_METHOD_set_name;
-+		EVP_des_ede3_wrap;
-+		EVP_aes_128_wrap;
-+		EVP_aes_192_wrap;
-+		EVP_aes_256_wrap;
-+		EVP_aes_128_cbc_hmac_sha256;
-+		EVP_aes_256_cbc_hmac_sha256;
-+		CRYPTO_128_wrap;
-+		CRYPTO_128_unwrap;
-+		OCSP_REQ_CTX_nbio;
-+		OCSP_REQ_CTX_new;
-+		OCSP_set_max_response_length;
-+		OCSP_REQ_CTX_i2d;
-+		OCSP_REQ_CTX_nbio_d2i;
-+		OCSP_REQ_CTX_get0_mem_bio;
-+		OCSP_REQ_CTX_http;
-+		RSA_padding_add_PKCS1_OAEP_mgf1;
-+		RSA_padding_check_PKCS1_OAEP_mgf1;
-+		RSA_OAEP_PARAMS_free;
-+		RSA_OAEP_PARAMS_it;
-+		RSA_OAEP_PARAMS_new;
-+		SSL_get_sigalgs;
-+		SSL_get_shared_sigalgs;
-+		SSL_check_chain;
-+		X509_chain_up_ref;
-+		X509_http_nbio;
-+		X509_CRL_http_nbio;
-+		X509_REVOKED_dup;
-+		i2d_re_X509_tbs;
-+		X509_get0_signature;
-+		X509_get_signature_nid;
-+		X509_CRL_diff;
-+		X509_chain_check_suiteb;
-+		X509_CRL_check_suiteb;
-+		X509_check_host;
-+		X509_check_email;
-+		X509_check_ip;
-+		X509_check_ip_asc;
-+		X509_STORE_set_lookup_crls_cb;
-+		X509_STORE_CTX_get0_store;
-+		X509_VERIFY_PARAM_set1_host;
-+		X509_VERIFY_PARAM_add1_host;
-+		X509_VERIFY_PARAM_set_hostflags;
-+		X509_VERIFY_PARAM_get0_peername;
-+		X509_VERIFY_PARAM_set1_email;
-+		X509_VERIFY_PARAM_set1_ip;
-+		X509_VERIFY_PARAM_set1_ip_asc;
-+		X509_VERIFY_PARAM_get0_name;
-+		X509_VERIFY_PARAM_get_count;
-+		X509_VERIFY_PARAM_get0;
-+		X509V3_EXT_free;
-+		EC_GROUP_get_mont_data;
-+		EC_curve_nid2nist;
-+		EC_curve_nist2nid;
-+		PEM_write_bio_DHxparams;
-+		PEM_write_DHxparams;
-+		SSL_CTX_add_client_custom_ext;
-+		SSL_CTX_add_server_custom_ext;
-+		SSL_extension_supported;
-+		BUF_strnlen;
-+		sk_deep_copy;
-+		SSL_test_functions;
-+} OPENSSL_1.0.1d;
-+
-Index: openssl-1.0.2~beta1.obsolete.0.0498436515490575/engines/openssl.ld
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ openssl-1.0.2~beta1.obsolete.0.0498436515490575/engines/openssl.ld	2014-02-24 21:02:30.000000000 +0100
-@@ -0,0 +1,10 @@
-+OPENSSL_1.0.0 {
-+	global:
-+		bind_engine;
-+		v_check;
-+		OPENSSL_init;
-+		OPENSSL_finish;
-+	local:
-+		*;
-+};
-+
-Index: openssl-1.0.2~beta1.obsolete.0.0498436515490575/engines/ccgost/openssl.ld
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ openssl-1.0.2~beta1.obsolete.0.0498436515490575/engines/ccgost/openssl.ld	2014-02-24 21:02:30.000000000 +0100
-@@ -0,0 +1,10 @@
-+OPENSSL_1.0.0 {
-+	global:
-+		bind_engine;
-+		v_check;
-+		OPENSSL_init;
-+		OPENSSL_finish;
-+	local:
-+		*;
-+};
-+
diff --git a/recipes-connectivity/openssl/openssl-qoriq/debian1.0.2/version-script.patch b/recipes-connectivity/openssl/openssl-qoriq/debian1.0.2/version-script.patch
deleted file mode 100644
index 29f11a2..0000000
--- a/recipes-connectivity/openssl/openssl-qoriq/debian1.0.2/version-script.patch
+++ /dev/null
@@ -1,4656 +0,0 @@
-Index: openssl-1.0.2~beta1.obsolete.0.0498436515490575/Configure
-===================================================================
---- openssl-1.0.2~beta1.obsolete.0.0498436515490575.orig/Configure	2014-02-24 21:02:30.000000000 +0100
-+++ openssl-1.0.2~beta1.obsolete.0.0498436515490575/Configure	2014-02-24 21:02:30.000000000 +0100
-@@ -1651,6 +1651,8 @@
- 		}
- 	}
- 
-+$shared_ldflag .= " -Wl,--version-script=openssl.ld";
-+
- open(IN,'<Makefile.org') || die "unable to read Makefile.org:$!\n";
- unlink("$Makefile.new") || die "unable to remove old $Makefile.new:$!\n" if -e "$Makefile.new";
- open(OUT,">$Makefile.new") || die "unable to create $Makefile.new:$!\n";
-Index: openssl-1.0.2~beta1.obsolete.0.0498436515490575/openssl.ld
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ openssl-1.0.2~beta1.obsolete.0.0498436515490575/openssl.ld	2014-02-24 22:19:08.601827266 +0100
-@@ -0,0 +1,4608 @@
-+OPENSSL_1.0.2d {
-+	global:
-+		BIO_f_ssl;
-+		BIO_new_buffer_ssl_connect;
-+		BIO_new_ssl;
-+		BIO_new_ssl_connect;
-+		BIO_proxy_ssl_copy_session_id;
-+		BIO_ssl_copy_session_id;
-+		BIO_ssl_shutdown;
-+		d2i_SSL_SESSION;
-+		DTLSv1_client_method;
-+		DTLSv1_method;
-+		DTLSv1_server_method;
-+		ERR_load_SSL_strings;
-+		i2d_SSL_SESSION;
-+		kssl_build_principal_2;
-+		kssl_cget_tkt;
-+		kssl_check_authent;
-+		kssl_ctx_free;
-+		kssl_ctx_new;
-+		kssl_ctx_setkey;
-+		kssl_ctx_setprinc;
-+		kssl_ctx_setstring;
-+		kssl_ctx_show;
-+		kssl_err_set;
-+		kssl_krb5_free_data_contents;
-+		kssl_sget_tkt;
-+		kssl_skip_confound;
-+		kssl_validate_times;
-+		PEM_read_bio_SSL_SESSION;
-+		PEM_read_SSL_SESSION;
-+		PEM_write_bio_SSL_SESSION;
-+		PEM_write_SSL_SESSION;
-+		SSL_accept;
-+		SSL_add_client_CA;
-+		SSL_add_dir_cert_subjects_to_stack;
-+		SSL_add_dir_cert_subjs_to_stk;
-+		SSL_add_file_cert_subjects_to_stack;
-+		SSL_add_file_cert_subjs_to_stk;
-+		SSL_alert_desc_string;
-+		SSL_alert_desc_string_long;
-+		SSL_alert_type_string;
-+		SSL_alert_type_string_long;
-+		SSL_callback_ctrl;
-+		SSL_check_private_key;
-+		SSL_CIPHER_description;
-+		SSL_CIPHER_get_bits;
-+		SSL_CIPHER_get_name;
-+		SSL_CIPHER_get_version;
-+		SSL_clear;
-+		SSL_COMP_add_compression_method;
-+		SSL_COMP_get_compression_methods;
-+		SSL_COMP_get_compress_methods;
-+		SSL_COMP_get_name;
-+		SSL_connect;
-+		SSL_copy_session_id;
-+		SSL_ctrl;
-+		SSL_CTX_add_client_CA;
-+		SSL_CTX_add_session;
-+		SSL_CTX_callback_ctrl;
-+		SSL_CTX_check_private_key;
-+		SSL_CTX_ctrl;
-+		SSL_CTX_flush_sessions;
-+		SSL_CTX_free;
-+		SSL_CTX_get_cert_store;
-+		SSL_CTX_get_client_CA_list;
-+		SSL_CTX_get_client_cert_cb;
-+		SSL_CTX_get_ex_data;
-+		SSL_CTX_get_ex_new_index;
-+		SSL_CTX_get_info_callback;
-+		SSL_CTX_get_quiet_shutdown;
-+		SSL_CTX_get_timeout;
-+		SSL_CTX_get_verify_callback;
-+		SSL_CTX_get_verify_depth;
-+		SSL_CTX_get_verify_mode;
-+		SSL_CTX_load_verify_locations;
-+		SSL_CTX_new;
-+		SSL_CTX_remove_session;
-+		SSL_CTX_sess_get_get_cb;
-+		SSL_CTX_sess_get_new_cb;
-+		SSL_CTX_sess_get_remove_cb;
-+		SSL_CTX_sessions;
-+		SSL_CTX_sess_set_get_cb;
-+		SSL_CTX_sess_set_new_cb;
-+		SSL_CTX_sess_set_remove_cb;
-+		SSL_CTX_set1_param;
-+		SSL_CTX_set_cert_store;
-+		SSL_CTX_set_cert_verify_callback;
-+		SSL_CTX_set_cert_verify_cb;
-+		SSL_CTX_set_cipher_list;
-+		SSL_CTX_set_client_CA_list;
-+		SSL_CTX_set_client_cert_cb;
-+		SSL_CTX_set_client_cert_engine;
-+		SSL_CTX_set_cookie_generate_cb;
-+		SSL_CTX_set_cookie_verify_cb;
-+		SSL_CTX_set_default_passwd_cb;
-+		SSL_CTX_set_default_passwd_cb_userdata;
-+		SSL_CTX_set_default_verify_paths;
-+		SSL_CTX_set_def_passwd_cb_ud;
-+		SSL_CTX_set_def_verify_paths;
-+		SSL_CTX_set_ex_data;
-+		SSL_CTX_set_generate_session_id;
-+		SSL_CTX_set_info_callback;
-+		SSL_CTX_set_msg_callback;
-+		SSL_CTX_set_psk_client_callback;
-+		SSL_CTX_set_psk_server_callback;
-+		SSL_CTX_set_purpose;
-+		SSL_CTX_set_quiet_shutdown;
-+		SSL_CTX_set_session_id_context;
-+		SSL_CTX_set_ssl_version;
-+		SSL_CTX_set_timeout;
-+		SSL_CTX_set_tmp_dh_callback;
-+		SSL_CTX_set_tmp_ecdh_callback;
-+		SSL_CTX_set_tmp_rsa_callback;
-+		SSL_CTX_set_trust;
-+		SSL_CTX_set_verify;
-+		SSL_CTX_set_verify_depth;
-+		SSL_CTX_use_cert_chain_file;
-+		SSL_CTX_use_certificate;
-+		SSL_CTX_use_certificate_ASN1;
-+		SSL_CTX_use_certificate_chain_file;
-+		SSL_CTX_use_certificate_file;
-+		SSL_CTX_use_PrivateKey;
-+		SSL_CTX_use_PrivateKey_ASN1;
-+		SSL_CTX_use_PrivateKey_file;
-+		SSL_CTX_use_psk_identity_hint;
-+		SSL_CTX_use_RSAPrivateKey;
-+		SSL_CTX_use_RSAPrivateKey_ASN1;
-+		SSL_CTX_use_RSAPrivateKey_file;
-+		SSL_do_handshake;
-+		SSL_dup;
-+		SSL_dup_CA_list;
-+		SSLeay_add_ssl_algorithms;
-+		SSL_free;
-+		SSL_get1_session;
-+		SSL_get_certificate;
-+		SSL_get_cipher_list;
-+		SSL_get_ciphers;
-+		SSL_get_client_CA_list;
-+		SSL_get_current_cipher;
-+		SSL_get_current_compression;
-+		SSL_get_current_expansion;
-+		SSL_get_default_timeout;
-+		SSL_get_error;
-+		SSL_get_ex_data;
-+		SSL_get_ex_data_X509_STORE_CTX_idx;
-+		SSL_get_ex_d_X509_STORE_CTX_idx;
-+		SSL_get_ex_new_index;
-+		SSL_get_fd;
-+		SSL_get_finished;
-+		SSL_get_info_callback;
-+		SSL_get_peer_cert_chain;
-+		SSL_get_peer_certificate;
-+		SSL_get_peer_finished;
-+		SSL_get_privatekey;
-+		SSL_get_psk_identity;
-+		SSL_get_psk_identity_hint;
-+		SSL_get_quiet_shutdown;
-+		SSL_get_rbio;
-+		SSL_get_read_ahead;
-+		SSL_get_rfd;
-+		SSL_get_servername;
-+		SSL_get_servername_type;
-+		SSL_get_session;
-+		SSL_get_shared_ciphers;
-+		SSL_get_shutdown;
-+		SSL_get_SSL_CTX;
-+		SSL_get_ssl_method;
-+		SSL_get_verify_callback;
-+		SSL_get_verify_depth;
-+		SSL_get_verify_mode;
-+		SSL_get_verify_result;
-+		SSL_get_version;
-+		SSL_get_wbio;
-+		SSL_get_wfd;
-+		SSL_has_matching_session_id;
-+		SSL_library_init;
-+		SSL_load_client_CA_file;
-+		SSL_load_error_strings;
-+		SSL_new;
-+		SSL_peek;
-+		SSL_pending;
-+		SSL_read;
-+		SSL_renegotiate;
-+		SSL_renegotiate_pending;
-+		SSL_rstate_string;
-+		SSL_rstate_string_long;
-+		SSL_SESSION_cmp;
-+		SSL_SESSION_free;
-+		SSL_SESSION_get_ex_data;
-+		SSL_SESSION_get_ex_new_index;
-+		SSL_SESSION_get_id;
-+		SSL_SESSION_get_time;
-+		SSL_SESSION_get_timeout;
-+		SSL_SESSION_hash;
-+		SSL_SESSION_new;
-+		SSL_SESSION_print;
-+		SSL_SESSION_print_fp;
-+		SSL_SESSION_set_ex_data;
-+		SSL_SESSION_set_time;
-+		SSL_SESSION_set_timeout;
-+		SSL_set1_param;
-+		SSL_set_accept_state;
-+		SSL_set_bio;
-+		SSL_set_cipher_list;
-+		SSL_set_client_CA_list;
-+		SSL_set_connect_state;
-+		SSL_set_ex_data;
-+		SSL_set_fd;
-+		SSL_set_generate_session_id;
-+		SSL_set_info_callback;
-+		SSL_set_msg_callback;
-+		SSL_set_psk_client_callback;
-+		SSL_set_psk_server_callback;
-+		SSL_set_purpose;
-+		SSL_set_quiet_shutdown;
-+		SSL_set_read_ahead;
-+		SSL_set_rfd;
-+		SSL_set_session;
-+		SSL_set_session_id_context;
-+		SSL_set_session_secret_cb;
-+		SSL_set_session_ticket_ext;
-+		SSL_set_session_ticket_ext_cb;
-+		SSL_set_shutdown;
-+		SSL_set_SSL_CTX;
-+		SSL_set_ssl_method;
-+		SSL_set_tmp_dh_callback;
-+		SSL_set_tmp_ecdh_callback;
-+		SSL_set_tmp_rsa_callback;
-+		SSL_set_trust;
-+		SSL_set_verify;
-+		SSL_set_verify_depth;
-+		SSL_set_verify_result;
-+		SSL_set_wfd;
-+		SSL_shutdown;
-+		SSL_state;
-+		SSL_state_string;
-+		SSL_state_string_long;
-+		SSL_use_certificate;
-+		SSL_use_certificate_ASN1;
-+		SSL_use_certificate_file;
-+		SSL_use_PrivateKey;
-+		SSL_use_PrivateKey_ASN1;
-+		SSL_use_PrivateKey_file;
-+		SSL_use_psk_identity_hint;
-+		SSL_use_RSAPrivateKey;
-+		SSL_use_RSAPrivateKey_ASN1;
-+		SSL_use_RSAPrivateKey_file;
-+		SSLv23_client_method;
-+		SSLv23_method;
-+		SSLv23_server_method;
-+		SSLv2_client_method;
-+		SSLv2_method;
-+		SSLv2_server_method;
-+		SSLv3_client_method;
-+		SSLv3_method;
-+		SSLv3_server_method;
-+		SSL_version;
-+		SSL_want;
-+		SSL_write;
-+		TLSv1_client_method;
-+		TLSv1_method;
-+		TLSv1_server_method;
-+
-+
-+		SSLeay;
-+		SSLeay_version;
-+		ASN1_BIT_STRING_asn1_meth;
-+		ASN1_HEADER_free;
-+		ASN1_HEADER_new;
-+		ASN1_IA5STRING_asn1_meth;
-+		ASN1_INTEGER_get;
-+		ASN1_INTEGER_set;
-+		ASN1_INTEGER_to_BN;
-+		ASN1_OBJECT_create;
-+		ASN1_OBJECT_free;
-+		ASN1_OBJECT_new;
-+		ASN1_PRINTABLE_type;
-+		ASN1_STRING_cmp;
-+		ASN1_STRING_dup;
-+		ASN1_STRING_free;
-+		ASN1_STRING_new;
-+		ASN1_STRING_print;
-+		ASN1_STRING_set;
-+		ASN1_STRING_type_new;
-+		ASN1_TYPE_free;
-+		ASN1_TYPE_new;
-+		ASN1_UNIVERSALSTRING_to_string;
-+		ASN1_UTCTIME_check;
-+		ASN1_UTCTIME_print;
-+		ASN1_UTCTIME_set;
-+		ASN1_check_infinite_end;
-+		ASN1_d2i_bio;
-+		ASN1_d2i_fp;
-+		ASN1_digest;
-+		ASN1_dup;
-+		ASN1_get_object;
-+		ASN1_i2d_bio;
-+		ASN1_i2d_fp;
-+		ASN1_object_size;
-+		ASN1_parse;
-+		ASN1_put_object;
-+		ASN1_sign;
-+		ASN1_verify;
-+		BF_cbc_encrypt;
-+		BF_cfb64_encrypt;
-+		BF_ecb_encrypt;
-+		BF_encrypt;
-+		BF_ofb64_encrypt;
-+		BF_options;
-+		BF_set_key;
-+		BIO_CONNECT_free;
-+		BIO_CONNECT_new;
-+		BIO_accept;
-+		BIO_ctrl;
-+		BIO_int_ctrl;
-+		BIO_debug_callback;
-+		BIO_dump;
-+		BIO_dup_chain;
-+		BIO_f_base64;
-+		BIO_f_buffer;
-+		BIO_f_cipher;
-+		BIO_f_md;
-+		BIO_f_null;
-+		BIO_f_proxy_server;
-+		BIO_fd_non_fatal_error;
-+		BIO_fd_should_retry;
-+		BIO_find_type;
-+		BIO_free;
-+		BIO_free_all;
-+		BIO_get_accept_socket;
-+		BIO_get_filter_bio;
-+		BIO_get_host_ip;
-+		BIO_get_port;
-+		BIO_get_retry_BIO;
-+		BIO_get_retry_reason;
-+		BIO_gethostbyname;
-+		BIO_gets;
-+		BIO_new;
-+		BIO_new_accept;
-+		BIO_new_connect;
-+		BIO_new_fd;
-+		BIO_new_file;
-+		BIO_new_fp;
-+		BIO_new_socket;
-+		BIO_pop;
-+		BIO_printf;
-+		BIO_push;
-+		BIO_puts;
-+		BIO_read;
-+		BIO_s_accept;
-+		BIO_s_connect;
-+		BIO_s_fd;
-+		BIO_s_file;
-+		BIO_s_mem;
-+		BIO_s_null;
-+		BIO_s_proxy_client;
-+		BIO_s_socket;
-+		BIO_set;
-+		BIO_set_cipher;
-+		BIO_set_tcp_ndelay;
-+		BIO_sock_cleanup;
-+		BIO_sock_error;
-+		BIO_sock_init;
-+		BIO_sock_non_fatal_error;
-+		BIO_sock_should_retry;
-+		BIO_socket_ioctl;
-+		BIO_write;
-+		BN_CTX_free;
-+		BN_CTX_new;
-+		BN_MONT_CTX_free;
-+		BN_MONT_CTX_new;
-+		BN_MONT_CTX_set;
-+		BN_add;
-+		BN_add_word;
-+		BN_hex2bn;
-+		BN_bin2bn;
-+		BN_bn2hex;
-+		BN_bn2bin;
-+		BN_clear;
-+		BN_clear_bit;
-+		BN_clear_free;
-+		BN_cmp;
-+		BN_copy;
-+		BN_div;
-+		BN_div_word;
-+		BN_dup;
-+		BN_free;
-+		BN_from_montgomery;
-+		BN_gcd;
-+		BN_generate_prime;
-+		BN_get_word;
-+		BN_is_bit_set;
-+		BN_is_prime;
-+		BN_lshift;
-+		BN_lshift1;
-+		BN_mask_bits;
-+		BN_mod;
-+		BN_mod_exp;
-+		BN_mod_exp_mont;
-+		BN_mod_exp_simple;
-+		BN_mod_inverse;
-+		BN_mod_mul;
-+		BN_mod_mul_montgomery;
-+		BN_mod_word;
-+		BN_mul;
-+		BN_new;
-+		BN_num_bits;
-+		BN_num_bits_word;
-+		BN_options;
-+		BN_print;
-+		BN_print_fp;
-+		BN_rand;
-+		BN_reciprocal;
-+		BN_rshift;
-+		BN_rshift1;
-+		BN_set_bit;
-+		BN_set_word;
-+		BN_sqr;
-+		BN_sub;
-+		BN_to_ASN1_INTEGER;
-+		BN_ucmp;
-+		BN_value_one;
-+		BUF_MEM_free;
-+		BUF_MEM_grow;
-+		BUF_MEM_new;
-+		BUF_strdup;
-+		CONF_free;
-+		CONF_get_number;
-+		CONF_get_section;
-+		CONF_get_string;
-+		CONF_load;
-+		CRYPTO_add_lock;
-+		CRYPTO_dbg_free;
-+		CRYPTO_dbg_malloc;
-+		CRYPTO_dbg_realloc;
-+		CRYPTO_dbg_remalloc;
-+		CRYPTO_free;
-+		CRYPTO_get_add_lock_callback;
-+		CRYPTO_get_id_callback;
-+		CRYPTO_get_lock_name;
-+		CRYPTO_get_locking_callback;
-+		CRYPTO_get_mem_functions;
-+		CRYPTO_lock;
-+		CRYPTO_malloc;
-+		CRYPTO_mem_ctrl;
-+		CRYPTO_mem_leaks;
-+		CRYPTO_mem_leaks_cb;
-+		CRYPTO_mem_leaks_fp;
-+		CRYPTO_realloc;
-+		CRYPTO_remalloc;
-+		CRYPTO_set_add_lock_callback;
-+		CRYPTO_set_id_callback;
-+		CRYPTO_set_locking_callback;
-+		CRYPTO_set_mem_functions;
-+		CRYPTO_thread_id;
-+		DH_check;
-+		DH_compute_key;
-+		DH_free;
-+		DH_generate_key;
-+		DH_generate_parameters;
-+		DH_new;
-+		DH_size;
-+		DHparams_print;
-+		DHparams_print_fp;
-+		DSA_free;
-+		DSA_generate_key;
-+		DSA_generate_parameters;
-+		DSA_is_prime;
-+		DSA_new;
-+		DSA_print;
-+		DSA_print_fp;
-+		DSA_sign;
-+		DSA_sign_setup;
-+		DSA_size;
-+		DSA_verify;
-+		DSAparams_print;
-+		DSAparams_print_fp;
-+		ERR_clear_error;
-+		ERR_error_string;
-+		ERR_free_strings;
-+		ERR_func_error_string;
-+		ERR_get_err_state_table;
-+		ERR_get_error;
-+		ERR_get_error_line;
-+		ERR_get_state;
-+		ERR_get_string_table;
-+		ERR_lib_error_string;
-+		ERR_load_ASN1_strings;
-+		ERR_load_BIO_strings;
-+		ERR_load_BN_strings;
-+		ERR_load_BUF_strings;
-+		ERR_load_CONF_strings;
-+		ERR_load_DH_strings;
-+		ERR_load_DSA_strings;
-+		ERR_load_ERR_strings;
-+		ERR_load_EVP_strings;
-+		ERR_load_OBJ_strings;
-+		ERR_load_PEM_strings;
-+		ERR_load_PROXY_strings;
-+		ERR_load_RSA_strings;
-+		ERR_load_X509_strings;
-+		ERR_load_crypto_strings;
-+		ERR_load_strings;
-+		ERR_peek_error;
-+		ERR_peek_error_line;
-+		ERR_print_errors;
-+		ERR_print_errors_fp;
-+		ERR_put_error;
-+		ERR_reason_error_string;
-+		ERR_remove_state;
-+		EVP_BytesToKey;
-+		EVP_CIPHER_CTX_cleanup;
-+		EVP_CipherFinal;
-+		EVP_CipherInit;
-+		EVP_CipherUpdate;
-+		EVP_DecodeBlock;
-+		EVP_DecodeFinal;
-+		EVP_DecodeInit;
-+		EVP_DecodeUpdate;
-+		EVP_DecryptFinal;
-+		EVP_DecryptInit;
-+		EVP_DecryptUpdate;
-+		EVP_DigestFinal;
-+		EVP_DigestInit;
-+		EVP_DigestUpdate;
-+		EVP_EncodeBlock;
-+		EVP_EncodeFinal;
-+		EVP_EncodeInit;
-+		EVP_EncodeUpdate;
-+		EVP_EncryptFinal;
-+		EVP_EncryptInit;
-+		EVP_EncryptUpdate;
-+		EVP_OpenFinal;
-+		EVP_OpenInit;
-+		EVP_PKEY_assign;
-+		EVP_PKEY_copy_parameters;
-+		EVP_PKEY_free;
-+		EVP_PKEY_missing_parameters;
-+		EVP_PKEY_new;
-+		EVP_PKEY_save_parameters;
-+		EVP_PKEY_size;
-+		EVP_PKEY_type;
-+		EVP_SealFinal;
-+		EVP_SealInit;
-+		EVP_SignFinal;
-+		EVP_VerifyFinal;
-+		EVP_add_alias;
-+		EVP_add_cipher;
-+		EVP_add_digest;
-+		EVP_bf_cbc;
-+		EVP_bf_cfb64;
-+		EVP_bf_ecb;
-+		EVP_bf_ofb;
-+		EVP_cleanup;
-+		EVP_des_cbc;
-+		EVP_des_cfb64;
-+		EVP_des_ecb;
-+		EVP_des_ede;
-+		EVP_des_ede3;
-+		EVP_des_ede3_cbc;
-+		EVP_des_ede3_cfb64;
-+		EVP_des_ede3_ofb;
-+		EVP_des_ede_cbc;
-+		EVP_des_ede_cfb64;
-+		EVP_des_ede_ofb;
-+		EVP_des_ofb;
-+		EVP_desx_cbc;
-+		EVP_dss;
-+		EVP_dss1;
-+		EVP_enc_null;
-+		EVP_get_cipherbyname;
-+		EVP_get_digestbyname;
-+		EVP_get_pw_prompt;
-+		EVP_idea_cbc;
-+		EVP_idea_cfb64;
-+		EVP_idea_ecb;
-+		EVP_idea_ofb;
-+		EVP_md2;
-+		EVP_md5;
-+		EVP_md_null;
-+		EVP_rc2_cbc;
-+		EVP_rc2_cfb64;
-+		EVP_rc2_ecb;
-+		EVP_rc2_ofb;
-+		EVP_rc4;
-+		EVP_read_pw_string;
-+		EVP_set_pw_prompt;
-+		EVP_sha;
-+		EVP_sha1;
-+		MD2;
-+		MD2_Final;
-+		MD2_Init;
-+		MD2_Update;
-+		MD2_options;
-+		MD5;
-+		MD5_Final;
-+		MD5_Init;
-+		MD5_Update;
-+		MDC2;
-+		MDC2_Final;
-+		MDC2_Init;
-+		MDC2_Update;
-+		NETSCAPE_SPKAC_free;
-+		NETSCAPE_SPKAC_new;
-+		NETSCAPE_SPKI_free;
-+		NETSCAPE_SPKI_new;
-+		NETSCAPE_SPKI_sign;
-+		NETSCAPE_SPKI_verify;
-+		OBJ_add_object;
-+		OBJ_bsearch;
-+		OBJ_cleanup;
-+		OBJ_cmp;
-+		OBJ_create;
-+		OBJ_dup;
-+		OBJ_ln2nid;
-+		OBJ_new_nid;
-+		OBJ_nid2ln;
-+		OBJ_nid2obj;
-+		OBJ_nid2sn;
-+		OBJ_obj2nid;
-+		OBJ_sn2nid;
-+		OBJ_txt2nid;
-+		PEM_ASN1_read;
-+		PEM_ASN1_read_bio;
-+		PEM_ASN1_write;
-+		PEM_ASN1_write_bio;
-+		PEM_SealFinal;
-+		PEM_SealInit;
-+		PEM_SealUpdate;
-+		PEM_SignFinal;
-+		PEM_SignInit;
-+		PEM_SignUpdate;
-+		PEM_X509_INFO_read;
-+		PEM_X509_INFO_read_bio;
-+		PEM_X509_INFO_write_bio;
-+		PEM_dek_info;
-+		PEM_do_header;
-+		PEM_get_EVP_CIPHER_INFO;
-+		PEM_proc_type;
-+		PEM_read;
-+		PEM_read_DHparams;
-+		PEM_read_DSAPrivateKey;
-+		PEM_read_DSAparams;
-+		PEM_read_PKCS7;
-+		PEM_read_PrivateKey;
-+		PEM_read_RSAPrivateKey;
-+		PEM_read_X509;
-+		PEM_read_X509_CRL;
-+		PEM_read_X509_REQ;
-+		PEM_read_bio;
-+		PEM_read_bio_DHparams;
-+		PEM_read_bio_DSAPrivateKey;
-+		PEM_read_bio_DSAparams;
-+		PEM_read_bio_PKCS7;
-+		PEM_read_bio_PrivateKey;
-+		PEM_read_bio_RSAPrivateKey;
-+		PEM_read_bio_X509;
-+		PEM_read_bio_X509_CRL;
-+		PEM_read_bio_X509_REQ;
-+		PEM_write;
-+		PEM_write_DHparams;
-+		PEM_write_DSAPrivateKey;
-+		PEM_write_DSAparams;
-+		PEM_write_PKCS7;
-+		PEM_write_PrivateKey;
-+		PEM_write_RSAPrivateKey;
-+		PEM_write_X509;
-+		PEM_write_X509_CRL;
-+		PEM_write_X509_REQ;
-+		PEM_write_bio;
-+		PEM_write_bio_DHparams;
-+		PEM_write_bio_DSAPrivateKey;
-+		PEM_write_bio_DSAparams;
-+		PEM_write_bio_PKCS7;
-+		PEM_write_bio_PrivateKey;
-+		PEM_write_bio_RSAPrivateKey;
-+		PEM_write_bio_X509;
-+		PEM_write_bio_X509_CRL;
-+		PEM_write_bio_X509_REQ;
-+		PKCS7_DIGEST_free;
-+		PKCS7_DIGEST_new;
-+		PKCS7_ENCRYPT_free;
-+		PKCS7_ENCRYPT_new;
-+		PKCS7_ENC_CONTENT_free;
-+		PKCS7_ENC_CONTENT_new;
-+		PKCS7_ENVELOPE_free;
-+		PKCS7_ENVELOPE_new;
-+		PKCS7_ISSUER_AND_SERIAL_digest;
-+		PKCS7_ISSUER_AND_SERIAL_free;
-+		PKCS7_ISSUER_AND_SERIAL_new;
-+		PKCS7_RECIP_INFO_free;
-+		PKCS7_RECIP_INFO_new;
-+		PKCS7_SIGNED_free;
-+		PKCS7_SIGNED_new;
-+		PKCS7_SIGNER_INFO_free;
-+		PKCS7_SIGNER_INFO_new;
-+		PKCS7_SIGN_ENVELOPE_free;
-+		PKCS7_SIGN_ENVELOPE_new;
-+		PKCS7_dup;
-+		PKCS7_free;
-+		PKCS7_new;
-+		PROXY_ENTRY_add_noproxy;
-+		PROXY_ENTRY_clear_noproxy;
-+		PROXY_ENTRY_free;
-+		PROXY_ENTRY_get_noproxy;
-+		PROXY_ENTRY_new;
-+		PROXY_ENTRY_set_server;
-+		PROXY_add_noproxy;
-+		PROXY_add_server;
-+		PROXY_check_by_host;
-+		PROXY_check_url;
-+		PROXY_clear_noproxy;
-+		PROXY_free;
-+		PROXY_get_noproxy;
-+		PROXY_get_proxies;
-+		PROXY_get_proxy_entry;
-+		PROXY_load_conf;
-+		PROXY_new;
-+		PROXY_print;
-+		RAND_bytes;
-+		RAND_cleanup;
-+		RAND_file_name;
-+		RAND_load_file;
-+		RAND_screen;
-+		RAND_seed;
-+		RAND_write_file;
-+		RC2_cbc_encrypt;
-+		RC2_cfb64_encrypt;
-+		RC2_ecb_encrypt;
-+		RC2_encrypt;
-+		RC2_ofb64_encrypt;
-+		RC2_set_key;
-+		RC4;
-+		RC4_options;
-+		RC4_set_key;
-+		RSAPrivateKey_asn1_meth;
-+		RSAPrivateKey_dup;
-+		RSAPublicKey_dup;
-+		RSA_PKCS1_SSLeay;
-+		RSA_free;
-+		RSA_generate_key;
-+		RSA_new;
-+		RSA_new_method;
-+		RSA_print;
-+		RSA_print_fp;
-+		RSA_private_decrypt;
-+		RSA_private_encrypt;
-+		RSA_public_decrypt;
-+		RSA_public_encrypt;
-+		RSA_set_default_method;
-+		RSA_sign;
-+		RSA_sign_ASN1_OCTET_STRING;
-+		RSA_size;
-+		RSA_verify;
-+		RSA_verify_ASN1_OCTET_STRING;
-+		SHA;
-+		SHA1;
-+		SHA1_Final;
-+		SHA1_Init;
-+		SHA1_Update;
-+		SHA_Final;
-+		SHA_Init;
-+		SHA_Update;
-+		OpenSSL_add_all_algorithms;
-+		OpenSSL_add_all_ciphers;
-+		OpenSSL_add_all_digests;
-+		TXT_DB_create_index;
-+		TXT_DB_free;
-+		TXT_DB_get_by_index;
-+		TXT_DB_insert;
-+		TXT_DB_read;
-+		TXT_DB_write;
-+		X509_ALGOR_free;
-+		X509_ALGOR_new;
-+		X509_ATTRIBUTE_free;
-+		X509_ATTRIBUTE_new;
-+		X509_CINF_free;
-+		X509_CINF_new;
-+		X509_CRL_INFO_free;
-+		X509_CRL_INFO_new;
-+		X509_CRL_add_ext;
-+		X509_CRL_cmp;
-+		X509_CRL_delete_ext;
-+		X509_CRL_dup;
-+		X509_CRL_free;
-+		X509_CRL_get_ext;
-+		X509_CRL_get_ext_by_NID;
-+		X509_CRL_get_ext_by_OBJ;
-+		X509_CRL_get_ext_by_critical;
-+		X509_CRL_get_ext_count;
-+		X509_CRL_new;
-+		X509_CRL_sign;
-+		X509_CRL_verify;
-+		X509_EXTENSION_create_by_NID;
-+		X509_EXTENSION_create_by_OBJ;
-+		X509_EXTENSION_dup;
-+		X509_EXTENSION_free;
-+		X509_EXTENSION_get_critical;
-+		X509_EXTENSION_get_data;
-+		X509_EXTENSION_get_object;
-+		X509_EXTENSION_new;
-+		X509_EXTENSION_set_critical;
-+		X509_EXTENSION_set_data;
-+		X509_EXTENSION_set_object;
-+		X509_INFO_free;
-+		X509_INFO_new;
-+		X509_LOOKUP_by_alias;
-+		X509_LOOKUP_by_fingerprint;
-+		X509_LOOKUP_by_issuer_serial;
-+		X509_LOOKUP_by_subject;
-+		X509_LOOKUP_ctrl;
-+		X509_LOOKUP_file;
-+		X509_LOOKUP_free;
-+		X509_LOOKUP_hash_dir;
-+		X509_LOOKUP_init;
-+		X509_LOOKUP_new;
-+		X509_LOOKUP_shutdown;
-+		X509_NAME_ENTRY_create_by_NID;
-+		X509_NAME_ENTRY_create_by_OBJ;
-+		X509_NAME_ENTRY_dup;
-+		X509_NAME_ENTRY_free;
-+		X509_NAME_ENTRY_get_data;
-+		X509_NAME_ENTRY_get_object;
-+		X509_NAME_ENTRY_new;
-+		X509_NAME_ENTRY_set_data;
-+		X509_NAME_ENTRY_set_object;
-+		X509_NAME_add_entry;
-+		X509_NAME_cmp;
-+		X509_NAME_delete_entry;
-+		X509_NAME_digest;
-+		X509_NAME_dup;
-+		X509_NAME_entry_count;
-+		X509_NAME_free;
-+		X509_NAME_get_entry;
-+		X509_NAME_get_index_by_NID;
-+		X509_NAME_get_index_by_OBJ;
-+		X509_NAME_get_text_by_NID;
-+		X509_NAME_get_text_by_OBJ;
-+		X509_NAME_hash;
-+		X509_NAME_new;
-+		X509_NAME_oneline;
-+		X509_NAME_print;
-+		X509_NAME_set;
-+		X509_OBJECT_free_contents;
-+		X509_OBJECT_retrieve_by_subject;
-+		X509_OBJECT_up_ref_count;
-+		X509_PKEY_free;
-+		X509_PKEY_new;
-+		X509_PUBKEY_free;
-+		X509_PUBKEY_get;
-+		X509_PUBKEY_new;
-+		X509_PUBKEY_set;
-+		X509_REQ_INFO_free;
-+		X509_REQ_INFO_new;
-+		X509_REQ_dup;
-+		X509_REQ_free;
-+		X509_REQ_get_pubkey;
-+		X509_REQ_new;
-+		X509_REQ_print;
-+		X509_REQ_print_fp;
-+		X509_REQ_set_pubkey;
-+		X509_REQ_set_subject_name;
-+		X509_REQ_set_version;
-+		X509_REQ_sign;
-+		X509_REQ_to_X509;
-+		X509_REQ_verify;
-+		X509_REVOKED_add_ext;
-+		X509_REVOKED_delete_ext;
-+		X509_REVOKED_free;
-+		X509_REVOKED_get_ext;
-+		X509_REVOKED_get_ext_by_NID;
-+		X509_REVOKED_get_ext_by_OBJ;
-+		X509_REVOKED_get_ext_by_critical;
-+		X509_REVOKED_get_ext_by_critic;
-+		X509_REVOKED_get_ext_count;
-+		X509_REVOKED_new;
-+		X509_SIG_free;
-+		X509_SIG_new;
-+		X509_STORE_CTX_cleanup;
-+		X509_STORE_CTX_init;
-+		X509_STORE_add_cert;
-+		X509_STORE_add_lookup;
-+		X509_STORE_free;
-+		X509_STORE_get_by_subject;
-+		X509_STORE_load_locations;
-+		X509_STORE_new;
-+		X509_STORE_set_default_paths;
-+		X509_VAL_free;
-+		X509_VAL_new;
-+		X509_add_ext;
-+		X509_asn1_meth;
-+		X509_certificate_type;
-+		X509_check_private_key;
-+		X509_cmp_current_time;
-+		X509_delete_ext;
-+		X509_digest;
-+		X509_dup;
-+		X509_free;
-+		X509_get_default_cert_area;
-+		X509_get_default_cert_dir;
-+		X509_get_default_cert_dir_env;
-+		X509_get_default_cert_file;
-+		X509_get_default_cert_file_env;
-+		X509_get_default_private_dir;
-+		X509_get_ext;
-+		X509_get_ext_by_NID;
-+		X509_get_ext_by_OBJ;
-+		X509_get_ext_by_critical;
-+		X509_get_ext_count;
-+		X509_get_issuer_name;
-+		X509_get_pubkey;
-+		X509_get_pubkey_parameters;
-+		X509_get_serialNumber;
-+		X509_get_subject_name;
-+		X509_gmtime_adj;
-+		X509_issuer_and_serial_cmp;
-+		X509_issuer_and_serial_hash;
-+		X509_issuer_name_cmp;
-+		X509_issuer_name_hash;
-+		X509_load_cert_file;
-+		X509_new;
-+		X509_print;
-+		X509_print_fp;
-+		X509_set_issuer_name;
-+		X509_set_notAfter;
-+		X509_set_notBefore;
-+		X509_set_pubkey;
-+		X509_set_serialNumber;
-+		X509_set_subject_name;
-+		X509_set_version;
-+		X509_sign;
-+		X509_subject_name_cmp;
-+		X509_subject_name_hash;
-+		X509_to_X509_REQ;
-+		X509_verify;
-+		X509_verify_cert;
-+		X509_verify_cert_error_string;
-+		X509v3_add_ext;
-+		X509v3_add_extension;
-+		X509v3_add_netscape_extensions;
-+		X509v3_add_standard_extensions;
-+		X509v3_cleanup_extensions;
-+		X509v3_data_type_by_NID;
-+		X509v3_data_type_by_OBJ;
-+		X509v3_delete_ext;
-+		X509v3_get_ext;
-+		X509v3_get_ext_by_NID;
-+		X509v3_get_ext_by_OBJ;
-+		X509v3_get_ext_by_critical;
-+		X509v3_get_ext_count;
-+		X509v3_pack_string;
-+		X509v3_pack_type_by_NID;
-+		X509v3_pack_type_by_OBJ;
-+		X509v3_unpack_string;
-+		_des_crypt;
-+		a2d_ASN1_OBJECT;
-+		a2i_ASN1_INTEGER;
-+		a2i_ASN1_STRING;
-+		asn1_Finish;
-+		asn1_GetSequence;
-+		bn_div_words;
-+		bn_expand2;
-+		bn_mul_add_words;
-+		bn_mul_words;
-+		BN_uadd;
-+		BN_usub;
-+		bn_sqr_words;
-+		_ossl_old_crypt;
-+		d2i_ASN1_BIT_STRING;
-+		d2i_ASN1_BOOLEAN;
-+		d2i_ASN1_HEADER;
-+		d2i_ASN1_IA5STRING;
-+		d2i_ASN1_INTEGER;
-+		d2i_ASN1_OBJECT;
-+		d2i_ASN1_OCTET_STRING;
-+		d2i_ASN1_PRINTABLE;
-+		d2i_ASN1_PRINTABLESTRING;
-+		d2i_ASN1_SET;
-+		d2i_ASN1_T61STRING;
-+		d2i_ASN1_TYPE;
-+		d2i_ASN1_UTCTIME;
-+		d2i_ASN1_bytes;
-+		d2i_ASN1_type_bytes;
-+		d2i_DHparams;
-+		d2i_DSAPrivateKey;
-+		d2i_DSAPrivateKey_bio;
-+		d2i_DSAPrivateKey_fp;
-+		d2i_DSAPublicKey;
-+		d2i_DSAparams;
-+		d2i_NETSCAPE_SPKAC;
-+		d2i_NETSCAPE_SPKI;
-+		d2i_Netscape_RSA;
-+		d2i_PKCS7;
-+		d2i_PKCS7_DIGEST;
-+		d2i_PKCS7_ENCRYPT;
-+		d2i_PKCS7_ENC_CONTENT;
-+		d2i_PKCS7_ENVELOPE;
-+		d2i_PKCS7_ISSUER_AND_SERIAL;
-+		d2i_PKCS7_RECIP_INFO;
-+		d2i_PKCS7_SIGNED;
-+		d2i_PKCS7_SIGNER_INFO;
-+		d2i_PKCS7_SIGN_ENVELOPE;
-+		d2i_PKCS7_bio;
-+		d2i_PKCS7_fp;
-+		d2i_PrivateKey;
-+		d2i_PublicKey;
-+		d2i_RSAPrivateKey;
-+		d2i_RSAPrivateKey_bio;
-+		d2i_RSAPrivateKey_fp;
-+		d2i_RSAPublicKey;
-+		d2i_X509;
-+		d2i_X509_ALGOR;
-+		d2i_X509_ATTRIBUTE;
-+		d2i_X509_CINF;
-+		d2i_X509_CRL;
-+		d2i_X509_CRL_INFO;
-+		d2i_X509_CRL_bio;
-+		d2i_X509_CRL_fp;
-+		d2i_X509_EXTENSION;
-+		d2i_X509_NAME;
-+		d2i_X509_NAME_ENTRY;
-+		d2i_X509_PKEY;
-+		d2i_X509_PUBKEY;
-+		d2i_X509_REQ;
-+		d2i_X509_REQ_INFO;
-+		d2i_X509_REQ_bio;
-+		d2i_X509_REQ_fp;
-+		d2i_X509_REVOKED;
-+		d2i_X509_SIG;
-+		d2i_X509_VAL;
-+		d2i_X509_bio;
-+		d2i_X509_fp;
-+		DES_cbc_cksum;
-+		DES_cbc_encrypt;
-+		DES_cblock_print_file;
-+		DES_cfb64_encrypt;
-+		DES_cfb_encrypt;
-+		DES_decrypt3;
-+		DES_ecb3_encrypt;
-+		DES_ecb_encrypt;
-+		DES_ede3_cbc_encrypt;
-+		DES_ede3_cfb64_encrypt;
-+		DES_ede3_ofb64_encrypt;
-+		DES_enc_read;
-+		DES_enc_write;
-+		DES_encrypt1;
-+		DES_encrypt2;
-+		DES_encrypt3;
-+		DES_fcrypt;
-+		DES_is_weak_key;
-+		DES_key_sched;
-+		DES_ncbc_encrypt;
-+		DES_ofb64_encrypt;
-+		DES_ofb_encrypt;
-+		DES_options;
-+		DES_pcbc_encrypt;
-+		DES_quad_cksum;
-+		DES_random_key;
-+		_ossl_old_des_random_seed;
-+		_ossl_old_des_read_2passwords;
-+		_ossl_old_des_read_password;
-+		_ossl_old_des_read_pw;
-+		_ossl_old_des_read_pw_string;
-+		DES_set_key;
-+		DES_set_odd_parity;
-+		DES_string_to_2keys;
-+		DES_string_to_key;
-+		DES_xcbc_encrypt;
-+		DES_xwhite_in2out;
-+		fcrypt_body;
-+		i2a_ASN1_INTEGER;
-+		i2a_ASN1_OBJECT;
-+		i2a_ASN1_STRING;
-+		i2d_ASN1_BIT_STRING;
-+		i2d_ASN1_BOOLEAN;
-+		i2d_ASN1_HEADER;
-+		i2d_ASN1_IA5STRING;
-+		i2d_ASN1_INTEGER;
-+		i2d_ASN1_OBJECT;
-+		i2d_ASN1_OCTET_STRING;
-+		i2d_ASN1_PRINTABLE;
-+		i2d_ASN1_SET;
-+		i2d_ASN1_TYPE;
-+		i2d_ASN1_UTCTIME;
-+		i2d_ASN1_bytes;
-+		i2d_DHparams;
-+		i2d_DSAPrivateKey;
-+		i2d_DSAPrivateKey_bio;
-+		i2d_DSAPrivateKey_fp;
-+		i2d_DSAPublicKey;
-+		i2d_DSAparams;
-+		i2d_NETSCAPE_SPKAC;
-+		i2d_NETSCAPE_SPKI;
-+		i2d_Netscape_RSA;
-+		i2d_PKCS7;
-+		i2d_PKCS7_DIGEST;
-+		i2d_PKCS7_ENCRYPT;
-+		i2d_PKCS7_ENC_CONTENT;
-+		i2d_PKCS7_ENVELOPE;
-+		i2d_PKCS7_ISSUER_AND_SERIAL;
-+		i2d_PKCS7_RECIP_INFO;
-+		i2d_PKCS7_SIGNED;
-+		i2d_PKCS7_SIGNER_INFO;
-+		i2d_PKCS7_SIGN_ENVELOPE;
-+		i2d_PKCS7_bio;
-+		i2d_PKCS7_fp;
-+		i2d_PrivateKey;
-+		i2d_PublicKey;
-+		i2d_RSAPrivateKey;
-+		i2d_RSAPrivateKey_bio;
-+		i2d_RSAPrivateKey_fp;
-+		i2d_RSAPublicKey;
-+		i2d_X509;
-+		i2d_X509_ALGOR;
-+		i2d_X509_ATTRIBUTE;
-+		i2d_X509_CINF;
-+		i2d_X509_CRL;
-+		i2d_X509_CRL_INFO;
-+		i2d_X509_CRL_bio;
-+		i2d_X509_CRL_fp;
-+		i2d_X509_EXTENSION;
-+		i2d_X509_NAME;
-+		i2d_X509_NAME_ENTRY;
-+		i2d_X509_PKEY;
-+		i2d_X509_PUBKEY;
-+		i2d_X509_REQ;
-+		i2d_X509_REQ_INFO;
-+		i2d_X509_REQ_bio;
-+		i2d_X509_REQ_fp;
-+		i2d_X509_REVOKED;
-+		i2d_X509_SIG;
-+		i2d_X509_VAL;
-+		i2d_X509_bio;
-+		i2d_X509_fp;
-+		idea_cbc_encrypt;
-+		idea_cfb64_encrypt;
-+		idea_ecb_encrypt;
-+		idea_encrypt;
-+		idea_ofb64_encrypt;
-+		idea_options;
-+		idea_set_decrypt_key;
-+		idea_set_encrypt_key;
-+		lh_delete;
-+		lh_doall;
-+		lh_doall_arg;
-+		lh_free;
-+		lh_insert;
-+		lh_new;
-+		lh_node_stats;
-+		lh_node_stats_bio;
-+		lh_node_usage_stats;
-+		lh_node_usage_stats_bio;
-+		lh_retrieve;
-+		lh_stats;
-+		lh_stats_bio;
-+		lh_strhash;
-+		sk_delete;
-+		sk_delete_ptr;
-+		sk_dup;
-+		sk_find;
-+		sk_free;
-+		sk_insert;
-+		sk_new;
-+		sk_pop;
-+		sk_pop_free;
-+		sk_push;
-+		sk_set_cmp_func;
-+		sk_shift;
-+		sk_unshift;
-+		sk_zero;
-+		BIO_f_nbio_test;
-+		ASN1_TYPE_get;
-+		ASN1_TYPE_set;
-+		PKCS7_content_free;
-+		ERR_load_PKCS7_strings;
-+		X509_find_by_issuer_and_serial;
-+		X509_find_by_subject;
-+		PKCS7_ctrl;
-+		PKCS7_set_type;
-+		PKCS7_set_content;
-+		PKCS7_SIGNER_INFO_set;
-+		PKCS7_add_signer;
-+		PKCS7_add_certificate;
-+		PKCS7_add_crl;
-+		PKCS7_content_new;
-+		PKCS7_dataSign;
-+		PKCS7_dataVerify;
-+		PKCS7_dataInit;
-+		PKCS7_add_signature;
-+		PKCS7_cert_from_signer_info;
-+		PKCS7_get_signer_info;
-+		EVP_delete_alias;
-+		EVP_mdc2;
-+		PEM_read_bio_RSAPublicKey;
-+		PEM_write_bio_RSAPublicKey;
-+		d2i_RSAPublicKey_bio;
-+		i2d_RSAPublicKey_bio;
-+		PEM_read_RSAPublicKey;
-+		PEM_write_RSAPublicKey;
-+		d2i_RSAPublicKey_fp;
-+		i2d_RSAPublicKey_fp;
-+		BIO_copy_next_retry;
-+		RSA_flags;
-+		X509_STORE_add_crl;
-+		X509_load_crl_file;
-+		EVP_rc2_40_cbc;
-+		EVP_rc4_40;
-+		EVP_CIPHER_CTX_init;
-+		HMAC;
-+		HMAC_Init;
-+		HMAC_Update;
-+		HMAC_Final;
-+		ERR_get_next_error_library;
-+		EVP_PKEY_cmp_parameters;
-+		HMAC_cleanup;
-+		BIO_ptr_ctrl;
-+		BIO_new_file_internal;
-+		BIO_new_fp_internal;
-+		BIO_s_file_internal;
-+		BN_BLINDING_convert;
-+		BN_BLINDING_invert;
-+		BN_BLINDING_update;
-+		RSA_blinding_on;
-+		RSA_blinding_off;
-+		i2t_ASN1_OBJECT;
-+		BN_BLINDING_new;
-+		BN_BLINDING_free;
-+		EVP_cast5_cbc;
-+		EVP_cast5_cfb64;
-+		EVP_cast5_ecb;
-+		EVP_cast5_ofb;
-+		BF_decrypt;
-+		CAST_set_key;
-+		CAST_encrypt;
-+		CAST_decrypt;
-+		CAST_ecb_encrypt;
-+		CAST_cbc_encrypt;
-+		CAST_cfb64_encrypt;
-+		CAST_ofb64_encrypt;
-+		RC2_decrypt;
-+		OBJ_create_objects;
-+		BN_exp;
-+		BN_mul_word;
-+		BN_sub_word;
-+		BN_dec2bn;
-+		BN_bn2dec;
-+		BIO_ghbn_ctrl;
-+		CRYPTO_free_ex_data;
-+		CRYPTO_get_ex_data;
-+		CRYPTO_set_ex_data;
-+		ERR_load_CRYPTO_strings;
-+		ERR_load_CRYPTOlib_strings;
-+		EVP_PKEY_bits;
-+		MD5_Transform;
-+		SHA1_Transform;
-+		SHA_Transform;
-+		X509_STORE_CTX_get_chain;
-+		X509_STORE_CTX_get_current_cert;
-+		X509_STORE_CTX_get_error;
-+		X509_STORE_CTX_get_error_depth;
-+		X509_STORE_CTX_get_ex_data;
-+		X509_STORE_CTX_set_cert;
-+		X509_STORE_CTX_set_chain;
-+		X509_STORE_CTX_set_error;
-+		X509_STORE_CTX_set_ex_data;
-+		CRYPTO_dup_ex_data;
-+		CRYPTO_get_new_lockid;
-+		CRYPTO_new_ex_data;
-+		RSA_set_ex_data;
-+		RSA_get_ex_data;
-+		RSA_get_ex_new_index;
-+		RSA_padding_add_PKCS1_type_1;
-+		RSA_padding_add_PKCS1_type_2;
-+		RSA_padding_add_SSLv23;
-+		RSA_padding_add_none;
-+		RSA_padding_check_PKCS1_type_1;
-+		RSA_padding_check_PKCS1_type_2;
-+		RSA_padding_check_SSLv23;
-+		RSA_padding_check_none;
-+		bn_add_words;
-+		d2i_Netscape_RSA_2;
-+		CRYPTO_get_ex_new_index;
-+		RIPEMD160_Init;
-+		RIPEMD160_Update;
-+		RIPEMD160_Final;
-+		RIPEMD160;
-+		RIPEMD160_Transform;
-+		RC5_32_set_key;
-+		RC5_32_ecb_encrypt;
-+		RC5_32_encrypt;
-+		RC5_32_decrypt;
-+		RC5_32_cbc_encrypt;
-+		RC5_32_cfb64_encrypt;
-+		RC5_32_ofb64_encrypt;
-+		BN_bn2mpi;
-+		BN_mpi2bn;
-+		ASN1_BIT_STRING_get_bit;
-+		ASN1_BIT_STRING_set_bit;
-+		BIO_get_ex_data;
-+		BIO_get_ex_new_index;
-+		BIO_set_ex_data;
-+		X509v3_get_key_usage;
-+		X509v3_set_key_usage;
-+		a2i_X509v3_key_usage;
-+		i2a_X509v3_key_usage;
-+		EVP_PKEY_decrypt;
-+		EVP_PKEY_encrypt;
-+		PKCS7_RECIP_INFO_set;
-+		PKCS7_add_recipient;
-+		PKCS7_add_recipient_info;
-+		PKCS7_set_cipher;
-+		ASN1_TYPE_get_int_octetstring;
-+		ASN1_TYPE_get_octetstring;
-+		ASN1_TYPE_set_int_octetstring;
-+		ASN1_TYPE_set_octetstring;
-+		ASN1_UTCTIME_set_string;
-+		ERR_add_error_data;
-+		ERR_set_error_data;
-+		EVP_CIPHER_asn1_to_param;
-+		EVP_CIPHER_param_to_asn1;
-+		EVP_CIPHER_get_asn1_iv;
-+		EVP_CIPHER_set_asn1_iv;
-+		EVP_rc5_32_12_16_cbc;
-+		EVP_rc5_32_12_16_cfb64;
-+		EVP_rc5_32_12_16_ecb;
-+		EVP_rc5_32_12_16_ofb;
-+		asn1_add_error;
-+		d2i_ASN1_BMPSTRING;
-+		i2d_ASN1_BMPSTRING;
-+		BIO_f_ber;
-+		BN_init;
-+		COMP_CTX_new;
-+		COMP_CTX_free;
-+		COMP_CTX_compress_block;
-+		COMP_CTX_expand_block;
-+		X509_STORE_CTX_get_ex_new_index;
-+		OBJ_NAME_add;
-+		BIO_socket_nbio;
-+		EVP_rc2_64_cbc;
-+		OBJ_NAME_cleanup;
-+		OBJ_NAME_get;
-+		OBJ_NAME_init;
-+		OBJ_NAME_new_index;
-+		OBJ_NAME_remove;
-+		BN_MONT_CTX_copy;
-+		BIO_new_socks4a_connect;
-+		BIO_s_socks4a_connect;
-+		PROXY_set_connect_mode;
-+		RAND_SSLeay;
-+		RAND_set_rand_method;
-+		RSA_memory_lock;
-+		bn_sub_words;
-+		bn_mul_normal;
-+		bn_mul_comba8;
-+		bn_mul_comba4;
-+		bn_sqr_normal;
-+		bn_sqr_comba8;
-+		bn_sqr_comba4;
-+		bn_cmp_words;
-+		bn_mul_recursive;
-+		bn_mul_part_recursive;
-+		bn_sqr_recursive;
-+		bn_mul_low_normal;
-+		BN_RECP_CTX_init;
-+		BN_RECP_CTX_new;
-+		BN_RECP_CTX_free;
-+		BN_RECP_CTX_set;
-+		BN_mod_mul_reciprocal;
-+		BN_mod_exp_recp;
-+		BN_div_recp;
-+		BN_CTX_init;
-+		BN_MONT_CTX_init;
-+		RAND_get_rand_method;
-+		PKCS7_add_attribute;
-+		PKCS7_add_signed_attribute;
-+		PKCS7_digest_from_attributes;
-+		PKCS7_get_attribute;
-+		PKCS7_get_issuer_and_serial;
-+		PKCS7_get_signed_attribute;
-+		COMP_compress_block;
-+		COMP_expand_block;
-+		COMP_rle;
-+		COMP_zlib;
-+		ms_time_diff;
-+		ms_time_new;
-+		ms_time_free;
-+		ms_time_cmp;
-+		ms_time_get;
-+		PKCS7_set_attributes;
-+		PKCS7_set_signed_attributes;
-+		X509_ATTRIBUTE_create;
-+		X509_ATTRIBUTE_dup;
-+		ASN1_GENERALIZEDTIME_check;
-+		ASN1_GENERALIZEDTIME_print;
-+		ASN1_GENERALIZEDTIME_set;
-+		ASN1_GENERALIZEDTIME_set_string;
-+		ASN1_TIME_print;
-+		BASIC_CONSTRAINTS_free;
-+		BASIC_CONSTRAINTS_new;
-+		ERR_load_X509V3_strings;
-+		NETSCAPE_CERT_SEQUENCE_free;
-+		NETSCAPE_CERT_SEQUENCE_new;
-+		OBJ_txt2obj;
-+		PEM_read_NETSCAPE_CERT_SEQUENCE;
-+		PEM_read_NS_CERT_SEQ;
-+		PEM_read_bio_NETSCAPE_CERT_SEQUENCE;
-+		PEM_read_bio_NS_CERT_SEQ;
-+		PEM_write_NETSCAPE_CERT_SEQUENCE;
-+		PEM_write_NS_CERT_SEQ;
-+		PEM_write_bio_NETSCAPE_CERT_SEQUENCE;
-+		PEM_write_bio_NS_CERT_SEQ;
-+		X509V3_EXT_add;
-+		X509V3_EXT_add_alias;
-+		X509V3_EXT_add_conf;
-+		X509V3_EXT_cleanup;
-+		X509V3_EXT_conf;
-+		X509V3_EXT_conf_nid;
-+		X509V3_EXT_get;
-+		X509V3_EXT_get_nid;
-+		X509V3_EXT_print;
-+		X509V3_EXT_print_fp;
-+		X509V3_add_standard_extensions;
-+		X509V3_add_value;
-+		X509V3_add_value_bool;
-+		X509V3_add_value_int;
-+		X509V3_conf_free;
-+		X509V3_get_value_bool;
-+		X509V3_get_value_int;
-+		X509V3_parse_list;
-+		d2i_ASN1_GENERALIZEDTIME;
-+		d2i_ASN1_TIME;
-+		d2i_BASIC_CONSTRAINTS;
-+		d2i_NETSCAPE_CERT_SEQUENCE;
-+		d2i_ext_ku;
-+		ext_ku_free;
-+		ext_ku_new;
-+		i2d_ASN1_GENERALIZEDTIME;
-+		i2d_ASN1_TIME;
-+		i2d_BASIC_CONSTRAINTS;
-+		i2d_NETSCAPE_CERT_SEQUENCE;
-+		i2d_ext_ku;
-+		EVP_MD_CTX_copy;
-+		i2d_ASN1_ENUMERATED;
-+		d2i_ASN1_ENUMERATED;
-+		ASN1_ENUMERATED_set;
-+		ASN1_ENUMERATED_get;
-+		BN_to_ASN1_ENUMERATED;
-+		ASN1_ENUMERATED_to_BN;
-+		i2a_ASN1_ENUMERATED;
-+		a2i_ASN1_ENUMERATED;
-+		i2d_GENERAL_NAME;
-+		d2i_GENERAL_NAME;
-+		GENERAL_NAME_new;
-+		GENERAL_NAME_free;
-+		GENERAL_NAMES_new;
-+		GENERAL_NAMES_free;
-+		d2i_GENERAL_NAMES;
-+		i2d_GENERAL_NAMES;
-+		i2v_GENERAL_NAMES;
-+		i2s_ASN1_OCTET_STRING;
-+		s2i_ASN1_OCTET_STRING;
-+		X509V3_EXT_check_conf;
-+		hex_to_string;
-+		string_to_hex;
-+		DES_ede3_cbcm_encrypt;
-+		RSA_padding_add_PKCS1_OAEP;
-+		RSA_padding_check_PKCS1_OAEP;
-+		X509_CRL_print_fp;
-+		X509_CRL_print;
-+		i2v_GENERAL_NAME;
-+		v2i_GENERAL_NAME;
-+		i2d_PKEY_USAGE_PERIOD;
-+		d2i_PKEY_USAGE_PERIOD;
-+		PKEY_USAGE_PERIOD_new;
-+		PKEY_USAGE_PERIOD_free;
-+		v2i_GENERAL_NAMES;
-+		i2s_ASN1_INTEGER;
-+		X509V3_EXT_d2i;
-+		name_cmp;
-+		str_dup;
-+		i2s_ASN1_ENUMERATED;
-+		i2s_ASN1_ENUMERATED_TABLE;
-+		BIO_s_log;
-+		BIO_f_reliable;
-+		PKCS7_dataFinal;
-+		PKCS7_dataDecode;
-+		X509V3_EXT_CRL_add_conf;
-+		BN_set_params;
-+		BN_get_params;
-+		BIO_get_ex_num;
-+		BIO_set_ex_free_func;
-+		EVP_ripemd160;
-+		ASN1_TIME_set;
-+		i2d_AUTHORITY_KEYID;
-+		d2i_AUTHORITY_KEYID;
-+		AUTHORITY_KEYID_new;
-+		AUTHORITY_KEYID_free;
-+		ASN1_seq_unpack;
-+		ASN1_seq_pack;
-+		ASN1_unpack_string;
-+		ASN1_pack_string;
-+		PKCS12_pack_safebag;
-+		PKCS12_MAKE_KEYBAG;
-+		PKCS8_encrypt;
-+		PKCS12_MAKE_SHKEYBAG;
-+		PKCS12_pack_p7data;
-+		PKCS12_pack_p7encdata;
-+		PKCS12_add_localkeyid;
-+		PKCS12_add_friendlyname_asc;
-+		PKCS12_add_friendlyname_uni;
-+		PKCS12_get_friendlyname;
-+		PKCS12_pbe_crypt;
-+		PKCS12_decrypt_d2i;
-+		PKCS12_i2d_encrypt;
-+		PKCS12_init;
-+		PKCS12_key_gen_asc;
-+		PKCS12_key_gen_uni;
-+		PKCS12_gen_mac;
-+		PKCS12_verify_mac;
-+		PKCS12_set_mac;
-+		PKCS12_setup_mac;
-+		OPENSSL_asc2uni;
-+		OPENSSL_uni2asc;
-+		i2d_PKCS12_BAGS;
-+		PKCS12_BAGS_new;
-+		d2i_PKCS12_BAGS;
-+		PKCS12_BAGS_free;
-+		i2d_PKCS12;
-+		d2i_PKCS12;
-+		PKCS12_new;
-+		PKCS12_free;
-+		i2d_PKCS12_MAC_DATA;
-+		PKCS12_MAC_DATA_new;
-+		d2i_PKCS12_MAC_DATA;
-+		PKCS12_MAC_DATA_free;
-+		i2d_PKCS12_SAFEBAG;
-+		PKCS12_SAFEBAG_new;
-+		d2i_PKCS12_SAFEBAG;
-+		PKCS12_SAFEBAG_free;
-+		ERR_load_PKCS12_strings;
-+		PKCS12_PBE_add;
-+		PKCS8_add_keyusage;
-+		PKCS12_get_attr_gen;
-+		PKCS12_parse;
-+		PKCS12_create;
-+		i2d_PKCS12_bio;
-+		i2d_PKCS12_fp;
-+		d2i_PKCS12_bio;
-+		d2i_PKCS12_fp;
-+		i2d_PBEPARAM;
-+		PBEPARAM_new;
-+		d2i_PBEPARAM;
-+		PBEPARAM_free;
-+		i2d_PKCS8_PRIV_KEY_INFO;
-+		PKCS8_PRIV_KEY_INFO_new;
-+		d2i_PKCS8_PRIV_KEY_INFO;
-+		PKCS8_PRIV_KEY_INFO_free;
-+		EVP_PKCS82PKEY;
-+		EVP_PKEY2PKCS8;
-+		PKCS8_set_broken;
-+		EVP_PBE_ALGOR_CipherInit;
-+		EVP_PBE_alg_add;
-+		PKCS5_pbe_set;
-+		EVP_PBE_cleanup;
-+		i2d_SXNET;
-+		d2i_SXNET;
-+		SXNET_new;
-+		SXNET_free;
-+		i2d_SXNETID;
-+		d2i_SXNETID;
-+		SXNETID_new;
-+		SXNETID_free;
-+		DSA_SIG_new;
-+		DSA_SIG_free;
-+		DSA_do_sign;
-+		DSA_do_verify;
-+		d2i_DSA_SIG;
-+		i2d_DSA_SIG;
-+		i2d_ASN1_VISIBLESTRING;
-+		d2i_ASN1_VISIBLESTRING;
-+		i2d_ASN1_UTF8STRING;
-+		d2i_ASN1_UTF8STRING;
-+		i2d_DIRECTORYSTRING;
-+		d2i_DIRECTORYSTRING;
-+		i2d_DISPLAYTEXT;
-+		d2i_DISPLAYTEXT;
-+		d2i_ASN1_SET_OF_X509;
-+		i2d_ASN1_SET_OF_X509;
-+		i2d_PBKDF2PARAM;
-+		PBKDF2PARAM_new;
-+		d2i_PBKDF2PARAM;
-+		PBKDF2PARAM_free;
-+		i2d_PBE2PARAM;
-+		PBE2PARAM_new;
-+		d2i_PBE2PARAM;
-+		PBE2PARAM_free;
-+		d2i_ASN1_SET_OF_GENERAL_NAME;
-+		i2d_ASN1_SET_OF_GENERAL_NAME;
-+		d2i_ASN1_SET_OF_SXNETID;
-+		i2d_ASN1_SET_OF_SXNETID;
-+		d2i_ASN1_SET_OF_POLICYQUALINFO;
-+		i2d_ASN1_SET_OF_POLICYQUALINFO;
-+		d2i_ASN1_SET_OF_POLICYINFO;
-+		i2d_ASN1_SET_OF_POLICYINFO;
-+		SXNET_add_id_asc;
-+		SXNET_add_id_ulong;
-+		SXNET_add_id_INTEGER;
-+		SXNET_get_id_asc;
-+		SXNET_get_id_ulong;
-+		SXNET_get_id_INTEGER;
-+		X509V3_set_conf_lhash;
-+		i2d_CERTIFICATEPOLICIES;
-+		CERTIFICATEPOLICIES_new;
-+		CERTIFICATEPOLICIES_free;
-+		d2i_CERTIFICATEPOLICIES;
-+		i2d_POLICYINFO;
-+		POLICYINFO_new;
-+		d2i_POLICYINFO;
-+		POLICYINFO_free;
-+		i2d_POLICYQUALINFO;
-+		POLICYQUALINFO_new;
-+		d2i_POLICYQUALINFO;
-+		POLICYQUALINFO_free;
-+		i2d_USERNOTICE;
-+		USERNOTICE_new;
-+		d2i_USERNOTICE;
-+		USERNOTICE_free;
-+		i2d_NOTICEREF;
-+		NOTICEREF_new;
-+		d2i_NOTICEREF;
-+		NOTICEREF_free;
-+		X509V3_get_string;
-+		X509V3_get_section;
-+		X509V3_string_free;
-+		X509V3_section_free;
-+		X509V3_set_ctx;
-+		s2i_ASN1_INTEGER;
-+		CRYPTO_set_locked_mem_functions;
-+		CRYPTO_get_locked_mem_functions;
-+		CRYPTO_malloc_locked;
-+		CRYPTO_free_locked;
-+		BN_mod_exp2_mont;
-+		ERR_get_error_line_data;
-+		ERR_peek_error_line_data;
-+		PKCS12_PBE_keyivgen;
-+		X509_ALGOR_dup;
-+		d2i_ASN1_SET_OF_DIST_POINT;
-+		i2d_ASN1_SET_OF_DIST_POINT;
-+		i2d_CRL_DIST_POINTS;
-+		CRL_DIST_POINTS_new;
-+		CRL_DIST_POINTS_free;
-+		d2i_CRL_DIST_POINTS;
-+		i2d_DIST_POINT;
-+		DIST_POINT_new;
-+		d2i_DIST_POINT;
-+		DIST_POINT_free;
-+		i2d_DIST_POINT_NAME;
-+		DIST_POINT_NAME_new;
-+		DIST_POINT_NAME_free;
-+		d2i_DIST_POINT_NAME;
-+		X509V3_add_value_uchar;
-+		d2i_ASN1_SET_OF_X509_ATTRIBUTE;
-+		i2d_ASN1_SET_OF_ASN1_TYPE;
-+		d2i_ASN1_SET_OF_X509_EXTENSION;
-+		d2i_ASN1_SET_OF_X509_NAME_ENTRY;
-+		d2i_ASN1_SET_OF_ASN1_TYPE;
-+		i2d_ASN1_SET_OF_X509_ATTRIBUTE;
-+		i2d_ASN1_SET_OF_X509_EXTENSION;
-+		i2d_ASN1_SET_OF_X509_NAME_ENTRY;
-+		X509V3_EXT_i2d;
-+		X509V3_EXT_val_prn;
-+		X509V3_EXT_add_list;
-+		EVP_CIPHER_type;
-+		EVP_PBE_CipherInit;
-+		X509V3_add_value_bool_nf;
-+		d2i_ASN1_UINTEGER;
-+		sk_value;
-+		sk_num;
-+		sk_set;
-+		i2d_ASN1_SET_OF_X509_REVOKED;
-+		sk_sort;
-+		d2i_ASN1_SET_OF_X509_REVOKED;
-+		i2d_ASN1_SET_OF_X509_ALGOR;
-+		i2d_ASN1_SET_OF_X509_CRL;
-+		d2i_ASN1_SET_OF_X509_ALGOR;
-+		d2i_ASN1_SET_OF_X509_CRL;
-+		i2d_ASN1_SET_OF_PKCS7_SIGNER_INFO;
-+		i2d_ASN1_SET_OF_PKCS7_RECIP_INFO;
-+		d2i_ASN1_SET_OF_PKCS7_SIGNER_INFO;
-+		d2i_ASN1_SET_OF_PKCS7_RECIP_INFO;
-+		PKCS5_PBE_add;
-+		PEM_write_bio_PKCS8;
-+		i2d_PKCS8_fp;
-+		PEM_read_bio_PKCS8_PRIV_KEY_INFO;
-+		PEM_read_bio_P8_PRIV_KEY_INFO;
-+		d2i_PKCS8_bio;
-+		d2i_PKCS8_PRIV_KEY_INFO_fp;
-+		PEM_write_bio_PKCS8_PRIV_KEY_INFO;
-+		PEM_write_bio_P8_PRIV_KEY_INFO;
-+		PEM_read_PKCS8;
-+		d2i_PKCS8_PRIV_KEY_INFO_bio;
-+		d2i_PKCS8_fp;
-+		PEM_write_PKCS8;
-+		PEM_read_PKCS8_PRIV_KEY_INFO;
-+		PEM_read_P8_PRIV_KEY_INFO;
-+		PEM_read_bio_PKCS8;
-+		PEM_write_PKCS8_PRIV_KEY_INFO;
-+		PEM_write_P8_PRIV_KEY_INFO;
-+		PKCS5_PBE_keyivgen;
-+		i2d_PKCS8_bio;
-+		i2d_PKCS8_PRIV_KEY_INFO_fp;
-+		i2d_PKCS8_PRIV_KEY_INFO_bio;
-+		BIO_s_bio;
-+		PKCS5_pbe2_set;
-+		PKCS5_PBKDF2_HMAC_SHA1;
-+		PKCS5_v2_PBE_keyivgen;
-+		PEM_write_bio_PKCS8PrivateKey;
-+		PEM_write_PKCS8PrivateKey;
-+		BIO_ctrl_get_read_request;
-+		BIO_ctrl_pending;
-+		BIO_ctrl_wpending;
-+		BIO_new_bio_pair;
-+		BIO_ctrl_get_write_guarantee;
-+		CRYPTO_num_locks;
-+		CONF_load_bio;
-+		CONF_load_fp;
-+		i2d_ASN1_SET_OF_ASN1_OBJECT;
-+		d2i_ASN1_SET_OF_ASN1_OBJECT;
-+		PKCS7_signatureVerify;
-+		RSA_set_method;
-+		RSA_get_method;
-+		RSA_get_default_method;
-+		RSA_check_key;
-+		OBJ_obj2txt;
-+		DSA_dup_DH;
-+		X509_REQ_get_extensions;
-+		X509_REQ_set_extension_nids;
-+		BIO_nwrite;
-+		X509_REQ_extension_nid;
-+		BIO_nread;
-+		X509_REQ_get_extension_nids;
-+		BIO_nwrite0;
-+		X509_REQ_add_extensions_nid;
-+		BIO_nread0;
-+		X509_REQ_add_extensions;
-+		BIO_new_mem_buf;
-+		DH_set_ex_data;
-+		DH_set_method;
-+		DSA_OpenSSL;
-+		DH_get_ex_data;
-+		DH_get_ex_new_index;
-+		DSA_new_method;
-+		DH_new_method;
-+		DH_OpenSSL;
-+		DSA_get_ex_new_index;
-+		DH_get_default_method;
-+		DSA_set_ex_data;
-+		DH_set_default_method;
-+		DSA_get_ex_data;
-+		X509V3_EXT_REQ_add_conf;
-+		NETSCAPE_SPKI_print;
-+		NETSCAPE_SPKI_set_pubkey;
-+		NETSCAPE_SPKI_b64_encode;
-+		NETSCAPE_SPKI_get_pubkey;
-+		NETSCAPE_SPKI_b64_decode;
-+		UTF8_putc;
-+		UTF8_getc;
-+		RSA_null_method;
-+		ASN1_tag2str;
-+		BIO_ctrl_reset_read_request;
-+		DISPLAYTEXT_new;
-+		ASN1_GENERALIZEDTIME_free;
-+		X509_REVOKED_get_ext_d2i;
-+		X509_set_ex_data;
-+		X509_reject_set_bit_asc;
-+		X509_NAME_add_entry_by_txt;
-+		X509_NAME_add_entry_by_NID;
-+		X509_PURPOSE_get0;
-+		PEM_read_X509_AUX;
-+		d2i_AUTHORITY_INFO_ACCESS;
-+		PEM_write_PUBKEY;
-+		ACCESS_DESCRIPTION_new;
-+		X509_CERT_AUX_free;
-+		d2i_ACCESS_DESCRIPTION;
-+		X509_trust_clear;
-+		X509_TRUST_add;
-+		ASN1_VISIBLESTRING_new;
-+		X509_alias_set1;
-+		ASN1_PRINTABLESTRING_free;
-+		EVP_PKEY_get1_DSA;
-+		ASN1_BMPSTRING_new;
-+		ASN1_mbstring_copy;
-+		ASN1_UTF8STRING_new;
-+		DSA_get_default_method;
-+		i2d_ASN1_SET_OF_ACCESS_DESCRIPTION;
-+		ASN1_T61STRING_free;
-+		DSA_set_method;
-+		X509_get_ex_data;
-+		ASN1_STRING_type;
-+		X509_PURPOSE_get_by_sname;
-+		ASN1_TIME_free;
-+		ASN1_OCTET_STRING_cmp;
-+		ASN1_BIT_STRING_new;
-+		X509_get_ext_d2i;
-+		PEM_read_bio_X509_AUX;
-+		ASN1_STRING_set_default_mask_asc;
-+		ASN1_STRING_set_def_mask_asc;
-+		PEM_write_bio_RSA_PUBKEY;
-+		ASN1_INTEGER_cmp;
-+		d2i_RSA_PUBKEY_fp;
-+		X509_trust_set_bit_asc;
-+		PEM_write_bio_DSA_PUBKEY;
-+		X509_STORE_CTX_free;
-+		EVP_PKEY_set1_DSA;
-+		i2d_DSA_PUBKEY_fp;
-+		X509_load_cert_crl_file;
-+		ASN1_TIME_new;
-+		i2d_RSA_PUBKEY;
-+		X509_STORE_CTX_purpose_inherit;
-+		PEM_read_RSA_PUBKEY;
-+		d2i_X509_AUX;
-+		i2d_DSA_PUBKEY;
-+		X509_CERT_AUX_print;
-+		PEM_read_DSA_PUBKEY;
-+		i2d_RSA_PUBKEY_bio;
-+		ASN1_BIT_STRING_num_asc;
-+		i2d_PUBKEY;
-+		ASN1_UTCTIME_free;
-+		DSA_set_default_method;
-+		X509_PURPOSE_get_by_id;
-+		ACCESS_DESCRIPTION_free;
-+		PEM_read_bio_PUBKEY;
-+		ASN1_STRING_set_by_NID;
-+		X509_PURPOSE_get_id;
-+		DISPLAYTEXT_free;
-+		OTHERNAME_new;
-+		X509_CERT_AUX_new;
-+		X509_TRUST_cleanup;
-+		X509_NAME_add_entry_by_OBJ;
-+		X509_CRL_get_ext_d2i;
-+		X509_PURPOSE_get0_name;
-+		PEM_read_PUBKEY;
-+		i2d_DSA_PUBKEY_bio;
-+		i2d_OTHERNAME;
-+		ASN1_OCTET_STRING_free;
-+		ASN1_BIT_STRING_set_asc;
-+		X509_get_ex_new_index;
-+		ASN1_STRING_TABLE_cleanup;
-+		X509_TRUST_get_by_id;
-+		X509_PURPOSE_get_trust;
-+		ASN1_STRING_length;
-+		d2i_ASN1_SET_OF_ACCESS_DESCRIPTION;
-+		ASN1_PRINTABLESTRING_new;
-+		X509V3_get_d2i;
-+		ASN1_ENUMERATED_free;
-+		i2d_X509_CERT_AUX;
-+		X509_STORE_CTX_set_trust;
-+		ASN1_STRING_set_default_mask;
-+		X509_STORE_CTX_new;
-+		EVP_PKEY_get1_RSA;
-+		DIRECTORYSTRING_free;
-+		PEM_write_X509_AUX;
-+		ASN1_OCTET_STRING_set;
-+		d2i_DSA_PUBKEY_fp;
-+		d2i_RSA_PUBKEY;
-+		X509_TRUST_get0_name;
-+		X509_TRUST_get0;
-+		AUTHORITY_INFO_ACCESS_free;
-+		ASN1_IA5STRING_new;
-+		d2i_DSA_PUBKEY;
-+		X509_check_purpose;
-+		ASN1_ENUMERATED_new;
-+		d2i_RSA_PUBKEY_bio;
-+		d2i_PUBKEY;
-+		X509_TRUST_get_trust;
-+		X509_TRUST_get_flags;
-+		ASN1_BMPSTRING_free;
-+		ASN1_T61STRING_new;
-+		ASN1_UTCTIME_new;
-+		i2d_AUTHORITY_INFO_ACCESS;
-+		EVP_PKEY_set1_RSA;
-+		X509_STORE_CTX_set_purpose;
-+		ASN1_IA5STRING_free;
-+		PEM_write_bio_X509_AUX;
-+		X509_PURPOSE_get_count;
-+		CRYPTO_add_info;
-+		X509_NAME_ENTRY_create_by_txt;
-+		ASN1_STRING_get_default_mask;
-+		X509_alias_get0;
-+		ASN1_STRING_data;
-+		i2d_ACCESS_DESCRIPTION;
-+		X509_trust_set_bit;
-+		ASN1_BIT_STRING_free;
-+		PEM_read_bio_RSA_PUBKEY;
-+		X509_add1_reject_object;
-+		X509_check_trust;
-+		PEM_read_bio_DSA_PUBKEY;
-+		X509_PURPOSE_add;
-+		ASN1_STRING_TABLE_get;
-+		ASN1_UTF8STRING_free;
-+		d2i_DSA_PUBKEY_bio;
-+		PEM_write_RSA_PUBKEY;
-+		d2i_OTHERNAME;
-+		X509_reject_set_bit;
-+		PEM_write_DSA_PUBKEY;
-+		X509_PURPOSE_get0_sname;
-+		EVP_PKEY_set1_DH;
-+		ASN1_OCTET_STRING_dup;
-+		ASN1_BIT_STRING_set;
-+		X509_TRUST_get_count;
-+		ASN1_INTEGER_free;
-+		OTHERNAME_free;
-+		i2d_RSA_PUBKEY_fp;
-+		ASN1_INTEGER_dup;
-+		d2i_X509_CERT_AUX;
-+		PEM_write_bio_PUBKEY;
-+		ASN1_VISIBLESTRING_free;
-+		X509_PURPOSE_cleanup;
-+		ASN1_mbstring_ncopy;
-+		ASN1_GENERALIZEDTIME_new;
-+		EVP_PKEY_get1_DH;
-+		ASN1_OCTET_STRING_new;
-+		ASN1_INTEGER_new;
-+		i2d_X509_AUX;
-+		ASN1_BIT_STRING_name_print;
-+		X509_cmp;
-+		ASN1_STRING_length_set;
-+		DIRECTORYSTRING_new;
-+		X509_add1_trust_object;
-+		PKCS12_newpass;
-+		SMIME_write_PKCS7;
-+		SMIME_read_PKCS7;
-+		DES_set_key_checked;
-+		PKCS7_verify;
-+		PKCS7_encrypt;
-+		DES_set_key_unchecked;
-+		SMIME_crlf_copy;
-+		i2d_ASN1_PRINTABLESTRING;
-+		PKCS7_get0_signers;
-+		PKCS7_decrypt;
-+		SMIME_text;
-+		PKCS7_simple_smimecap;
-+		PKCS7_get_smimecap;
-+		PKCS7_sign;
-+		PKCS7_add_attrib_smimecap;
-+		CRYPTO_dbg_set_options;
-+		CRYPTO_remove_all_info;
-+		CRYPTO_get_mem_debug_functions;
-+		CRYPTO_is_mem_check_on;
-+		CRYPTO_set_mem_debug_functions;
-+		CRYPTO_pop_info;
-+		CRYPTO_push_info_;
-+		CRYPTO_set_mem_debug_options;
-+		PEM_write_PKCS8PrivateKey_nid;
-+		PEM_write_bio_PKCS8PrivateKey_nid;
-+		PEM_write_bio_PKCS8PrivKey_nid;
-+		d2i_PKCS8PrivateKey_bio;
-+		ASN1_NULL_free;
-+		d2i_ASN1_NULL;
-+		ASN1_NULL_new;
-+		i2d_PKCS8PrivateKey_bio;
-+		i2d_PKCS8PrivateKey_fp;
-+		i2d_ASN1_NULL;
-+		i2d_PKCS8PrivateKey_nid_fp;
-+		d2i_PKCS8PrivateKey_fp;
-+		i2d_PKCS8PrivateKey_nid_bio;
-+		i2d_PKCS8PrivateKeyInfo_fp;
-+		i2d_PKCS8PrivateKeyInfo_bio;
-+		PEM_cb;
-+		i2d_PrivateKey_fp;
-+		d2i_PrivateKey_bio;
-+		d2i_PrivateKey_fp;
-+		i2d_PrivateKey_bio;
-+		X509_reject_clear;
-+		X509_TRUST_set_default;
-+		d2i_AutoPrivateKey;
-+		X509_ATTRIBUTE_get0_type;
-+		X509_ATTRIBUTE_set1_data;
-+		X509at_get_attr;
-+		X509at_get_attr_count;
-+		X509_ATTRIBUTE_create_by_NID;
-+		X509_ATTRIBUTE_set1_object;
-+		X509_ATTRIBUTE_count;
-+		X509_ATTRIBUTE_create_by_OBJ;
-+		X509_ATTRIBUTE_get0_object;
-+		X509at_get_attr_by_NID;
-+		X509at_add1_attr;
-+		X509_ATTRIBUTE_get0_data;
-+		X509at_delete_attr;
-+		X509at_get_attr_by_OBJ;
-+		RAND_add;
-+		BIO_number_written;
-+		BIO_number_read;
-+		X509_STORE_CTX_get1_chain;
-+		ERR_load_RAND_strings;
-+		RAND_pseudo_bytes;
-+		X509_REQ_get_attr_by_NID;
-+		X509_REQ_get_attr;
-+		X509_REQ_add1_attr_by_NID;
-+		X509_REQ_get_attr_by_OBJ;
-+		X509at_add1_attr_by_NID;
-+		X509_REQ_add1_attr_by_OBJ;
-+		X509_REQ_get_attr_count;
-+		X509_REQ_add1_attr;
-+		X509_REQ_delete_attr;
-+		X509at_add1_attr_by_OBJ;
-+		X509_REQ_add1_attr_by_txt;
-+		X509_ATTRIBUTE_create_by_txt;
-+		X509at_add1_attr_by_txt;
-+		BN_pseudo_rand;
-+		BN_is_prime_fasttest;
-+		BN_CTX_end;
-+		BN_CTX_start;
-+		BN_CTX_get;
-+		EVP_PKEY2PKCS8_broken;
-+		ASN1_STRING_TABLE_add;
-+		CRYPTO_dbg_get_options;
-+		AUTHORITY_INFO_ACCESS_new;
-+		CRYPTO_get_mem_debug_options;
-+		DES_crypt;
-+		PEM_write_bio_X509_REQ_NEW;
-+		PEM_write_X509_REQ_NEW;
-+		BIO_callback_ctrl;
-+		RAND_egd;
-+		RAND_status;
-+		bn_dump1;
-+		DES_check_key_parity;
-+		lh_num_items;
-+		RAND_event;
-+		DSO_new;
-+		DSO_new_method;
-+		DSO_free;
-+		DSO_flags;
-+		DSO_up;
-+		DSO_set_default_method;
-+		DSO_get_default_method;
-+		DSO_get_method;
-+		DSO_set_method;
-+		DSO_load;
-+		DSO_bind_var;
-+		DSO_METHOD_null;
-+		DSO_METHOD_openssl;
-+		DSO_METHOD_dlfcn;
-+		DSO_METHOD_win32;
-+		ERR_load_DSO_strings;
-+		DSO_METHOD_dl;
-+		NCONF_load;
-+		NCONF_load_fp;
-+		NCONF_new;
-+		NCONF_get_string;
-+		NCONF_free;
-+		NCONF_get_number;
-+		CONF_dump_fp;
-+		NCONF_load_bio;
-+		NCONF_dump_fp;
-+		NCONF_get_section;
-+		NCONF_dump_bio;
-+		CONF_dump_bio;
-+		NCONF_free_data;
-+		CONF_set_default_method;
-+		ERR_error_string_n;
-+		BIO_snprintf;
-+		DSO_ctrl;
-+		i2d_ASN1_SET_OF_ASN1_INTEGER;
-+		i2d_ASN1_SET_OF_PKCS12_SAFEBAG;
-+		i2d_ASN1_SET_OF_PKCS7;
-+		BIO_vfree;
-+		d2i_ASN1_SET_OF_ASN1_INTEGER;
-+		d2i_ASN1_SET_OF_PKCS12_SAFEBAG;
-+		ASN1_UTCTIME_get;
-+		X509_REQ_digest;
-+		X509_CRL_digest;
-+		d2i_ASN1_SET_OF_PKCS7;
-+		EVP_CIPHER_CTX_set_key_length;
-+		EVP_CIPHER_CTX_ctrl;
-+		BN_mod_exp_mont_word;
-+		RAND_egd_bytes;
-+		X509_REQ_get1_email;
-+		X509_get1_email;
-+		X509_email_free;
-+		i2d_RSA_NET;
-+		d2i_RSA_NET_2;
-+		d2i_RSA_NET;
-+		DSO_bind_func;
-+		CRYPTO_get_new_dynlockid;
-+		sk_new_null;
-+		CRYPTO_set_dynlock_destroy_callback;
-+		CRYPTO_set_dynlock_destroy_cb;
-+		CRYPTO_destroy_dynlockid;
-+		CRYPTO_set_dynlock_size;
-+		CRYPTO_set_dynlock_create_callback;
-+		CRYPTO_set_dynlock_create_cb;
-+		CRYPTO_set_dynlock_lock_callback;
-+		CRYPTO_set_dynlock_lock_cb;
-+		CRYPTO_get_dynlock_lock_callback;
-+		CRYPTO_get_dynlock_lock_cb;
-+		CRYPTO_get_dynlock_destroy_callback;
-+		CRYPTO_get_dynlock_destroy_cb;
-+		CRYPTO_get_dynlock_value;
-+		CRYPTO_get_dynlock_create_callback;
-+		CRYPTO_get_dynlock_create_cb;
-+		c2i_ASN1_BIT_STRING;
-+		i2c_ASN1_BIT_STRING;
-+		RAND_poll;
-+		c2i_ASN1_INTEGER;
-+		i2c_ASN1_INTEGER;
-+		BIO_dump_indent;
-+		ASN1_parse_dump;
-+		c2i_ASN1_OBJECT;
-+		X509_NAME_print_ex_fp;
-+		ASN1_STRING_print_ex_fp;
-+		X509_NAME_print_ex;
-+		ASN1_STRING_print_ex;
-+		MD4;
-+		MD4_Transform;
-+		MD4_Final;
-+		MD4_Update;
-+		MD4_Init;
-+		EVP_md4;
-+		i2d_PUBKEY_bio;
-+		i2d_PUBKEY_fp;
-+		d2i_PUBKEY_bio;
-+		ASN1_STRING_to_UTF8;
-+		BIO_vprintf;
-+		BIO_vsnprintf;
-+		d2i_PUBKEY_fp;
-+		X509_cmp_time;
-+		X509_STORE_CTX_set_time;
-+		X509_STORE_CTX_get1_issuer;
-+		X509_OBJECT_retrieve_match;
-+		X509_OBJECT_idx_by_subject;
-+		X509_STORE_CTX_set_flags;
-+		X509_STORE_CTX_trusted_stack;
-+		X509_time_adj;
-+		X509_check_issued;
-+		ASN1_UTCTIME_cmp_time_t;
-+		DES_set_weak_key_flag;
-+		DES_check_key;
-+		DES_rw_mode;
-+		RSA_PKCS1_RSAref;
-+		X509_keyid_set1;
-+		BIO_next;
-+		DSO_METHOD_vms;
-+		BIO_f_linebuffer;
-+		BN_bntest_rand;
-+		OPENSSL_issetugid;
-+		BN_rand_range;
-+		ERR_load_ENGINE_strings;
-+		ENGINE_set_DSA;
-+		ENGINE_get_finish_function;
-+		ENGINE_get_default_RSA;
-+		ENGINE_get_BN_mod_exp;
-+		DSA_get_default_openssl_method;
-+		ENGINE_set_DH;
-+		ENGINE_set_def_BN_mod_exp_crt;
-+		ENGINE_set_default_BN_mod_exp_crt;
-+		ENGINE_init;
-+		DH_get_default_openssl_method;
-+		RSA_set_default_openssl_method;
-+		ENGINE_finish;
-+		ENGINE_load_public_key;
-+		ENGINE_get_DH;
-+		ENGINE_ctrl;
-+		ENGINE_get_init_function;
-+		ENGINE_set_init_function;
-+		ENGINE_set_default_DSA;
-+		ENGINE_get_name;
-+		ENGINE_get_last;
-+		ENGINE_get_prev;
-+		ENGINE_get_default_DH;
-+		ENGINE_get_RSA;
-+		ENGINE_set_default;
-+		ENGINE_get_RAND;
-+		ENGINE_get_first;
-+		ENGINE_by_id;
-+		ENGINE_set_finish_function;
-+		ENGINE_get_def_BN_mod_exp_crt;
-+		ENGINE_get_default_BN_mod_exp_crt;
-+		RSA_get_default_openssl_method;
-+		ENGINE_set_RSA;
-+		ENGINE_load_private_key;
-+		ENGINE_set_default_RAND;
-+		ENGINE_set_BN_mod_exp;
-+		ENGINE_remove;
-+		ENGINE_free;
-+		ENGINE_get_BN_mod_exp_crt;
-+		ENGINE_get_next;
-+		ENGINE_set_name;
-+		ENGINE_get_default_DSA;
-+		ENGINE_set_default_BN_mod_exp;
-+		ENGINE_set_default_RSA;
-+		ENGINE_get_default_RAND;
-+		ENGINE_get_default_BN_mod_exp;
-+		ENGINE_set_RAND;
-+		ENGINE_set_id;
-+		ENGINE_set_BN_mod_exp_crt;
-+		ENGINE_set_default_DH;
-+		ENGINE_new;
-+		ENGINE_get_id;
-+		DSA_set_default_openssl_method;
-+		ENGINE_add;
-+		DH_set_default_openssl_method;
-+		ENGINE_get_DSA;
-+		ENGINE_get_ctrl_function;
-+		ENGINE_set_ctrl_function;
-+		BN_pseudo_rand_range;
-+		X509_STORE_CTX_set_verify_cb;
-+		ERR_load_COMP_strings;
-+		PKCS12_item_decrypt_d2i;
-+		ASN1_UTF8STRING_it;
-+		ENGINE_unregister_ciphers;
-+		ENGINE_get_ciphers;
-+		d2i_OCSP_BASICRESP;
-+		KRB5_CHECKSUM_it;
-+		EC_POINT_add;
-+		ASN1_item_ex_i2d;
-+		OCSP_CERTID_it;
-+		d2i_OCSP_RESPBYTES;
-+		X509V3_add1_i2d;
-+		PKCS7_ENVELOPE_it;
-+		UI_add_input_boolean;
-+		ENGINE_unregister_RSA;
-+		X509V3_EXT_nconf;
-+		ASN1_GENERALSTRING_free;
-+		d2i_OCSP_CERTSTATUS;
-+		X509_REVOKED_set_serialNumber;
-+		X509_print_ex;
-+		OCSP_ONEREQ_get1_ext_d2i;
-+		ENGINE_register_all_RAND;
-+		ENGINE_load_dynamic;
-+		PBKDF2PARAM_it;
-+		EXTENDED_KEY_USAGE_new;
-+		EC_GROUP_clear_free;
-+		OCSP_sendreq_bio;
-+		ASN1_item_digest;
-+		OCSP_BASICRESP_delete_ext;
-+		OCSP_SIGNATURE_it;
-+		X509_CRL_it;
-+		OCSP_BASICRESP_add_ext;
-+		KRB5_ENCKEY_it;
-+		UI_method_set_closer;
-+		X509_STORE_set_purpose;
-+		i2d_ASN1_GENERALSTRING;
-+		OCSP_response_status;
-+		i2d_OCSP_SERVICELOC;
-+		ENGINE_get_digest_engine;
-+		EC_GROUP_set_curve_GFp;
-+		OCSP_REQUEST_get_ext_by_OBJ;
-+		_ossl_old_des_random_key;
-+		ASN1_T61STRING_it;
-+		EC_GROUP_method_of;
-+		i2d_KRB5_APREQ;
-+		_ossl_old_des_encrypt;
-+		ASN1_PRINTABLE_new;
-+		HMAC_Init_ex;
-+		d2i_KRB5_AUTHENT;
-+		OCSP_archive_cutoff_new;
-+		EC_POINT_set_Jprojective_coordinates_GFp;
-+		EC_POINT_set_Jproj_coords_GFp;
-+		_ossl_old_des_is_weak_key;
-+		OCSP_BASICRESP_get_ext_by_OBJ;
-+		EC_POINT_oct2point;
-+		OCSP_SINGLERESP_get_ext_count;
-+		UI_ctrl;
-+		_shadow_DES_rw_mode;
-+		asn1_do_adb;
-+		ASN1_template_i2d;
-+		ENGINE_register_DH;
-+		UI_construct_prompt;
-+		X509_STORE_set_trust;
-+		UI_dup_input_string;
-+		d2i_KRB5_APREQ;
-+		EVP_MD_CTX_copy_ex;
-+		OCSP_request_is_signed;
-+		i2d_OCSP_REQINFO;
-+		KRB5_ENCKEY_free;
-+		OCSP_resp_get0;
-+		GENERAL_NAME_it;
-+		ASN1_GENERALIZEDTIME_it;
-+		X509_STORE_set_flags;
-+		EC_POINT_set_compressed_coordinates_GFp;
-+		EC_POINT_set_compr_coords_GFp;
-+		OCSP_response_status_str;
-+		d2i_OCSP_REVOKEDINFO;
-+		OCSP_basic_add1_cert;
-+		ERR_get_implementation;
-+		EVP_CipherFinal_ex;
-+		OCSP_CERTSTATUS_new;
-+		CRYPTO_cleanup_all_ex_data;
-+		OCSP_resp_find;
-+		BN_nnmod;
-+		X509_CRL_sort;
-+		X509_REVOKED_set_revocationDate;
-+		ENGINE_register_RAND;
-+		OCSP_SERVICELOC_new;
-+		EC_POINT_set_affine_coordinates_GFp;
-+		EC_POINT_set_affine_coords_GFp;
-+		_ossl_old_des_options;
-+		SXNET_it;
-+		UI_dup_input_boolean;
-+		PKCS12_add_CSPName_asc;
-+		EC_POINT_is_at_infinity;
-+		ENGINE_load_cryptodev;
-+		DSO_convert_filename;
-+		POLICYQUALINFO_it;
-+		ENGINE_register_ciphers;
-+		BN_mod_lshift_quick;
-+		DSO_set_filename;
-+		ASN1_item_free;
-+		KRB5_TKTBODY_free;
-+		AUTHORITY_KEYID_it;
-+		KRB5_APREQBODY_new;
-+		X509V3_EXT_REQ_add_nconf;
-+		ENGINE_ctrl_cmd_string;
-+		i2d_OCSP_RESPDATA;
-+		EVP_MD_CTX_init;
-+		EXTENDED_KEY_USAGE_free;
-+		PKCS7_ATTR_SIGN_it;
-+		UI_add_error_string;
-+		KRB5_CHECKSUM_free;
-+		OCSP_REQUEST_get_ext;
-+		ENGINE_load_ubsec;
-+		ENGINE_register_all_digests;
-+		PKEY_USAGE_PERIOD_it;
-+		PKCS12_unpack_authsafes;
-+		ASN1_item_unpack;
-+		NETSCAPE_SPKAC_it;
-+		X509_REVOKED_it;
-+		ASN1_STRING_encode;
-+		EVP_aes_128_ecb;
-+		KRB5_AUTHENT_free;
-+		OCSP_BASICRESP_get_ext_by_critical;
-+		OCSP_BASICRESP_get_ext_by_crit;
-+		OCSP_cert_status_str;
-+		d2i_OCSP_REQUEST;
-+		UI_dup_info_string;
-+		_ossl_old_des_xwhite_in2out;
-+		PKCS12_it;
-+		OCSP_SINGLERESP_get_ext_by_critical;
-+		OCSP_SINGLERESP_get_ext_by_crit;
-+		OCSP_CERTSTATUS_free;
-+		_ossl_old_des_crypt;
-+		ASN1_item_i2d;
-+		EVP_DecryptFinal_ex;
-+		ENGINE_load_openssl;
-+		ENGINE_get_cmd_defns;
-+		ENGINE_set_load_privkey_function;
-+		ENGINE_set_load_privkey_fn;
-+		EVP_EncryptFinal_ex;
-+		ENGINE_set_default_digests;
-+		X509_get0_pubkey_bitstr;
-+		asn1_ex_i2c;
-+		ENGINE_register_RSA;
-+		ENGINE_unregister_DSA;
-+		_ossl_old_des_key_sched;
-+		X509_EXTENSION_it;
-+		i2d_KRB5_AUTHENT;
-+		SXNETID_it;
-+		d2i_OCSP_SINGLERESP;
-+		EDIPARTYNAME_new;
-+		PKCS12_certbag2x509;
-+		_ossl_old_des_ofb64_encrypt;
-+		d2i_EXTENDED_KEY_USAGE;
-+		ERR_print_errors_cb;
-+		ENGINE_set_ciphers;
-+		d2i_KRB5_APREQBODY;
-+		UI_method_get_flusher;
-+		X509_PUBKEY_it;
-+		_ossl_old_des_enc_read;
-+		PKCS7_ENCRYPT_it;
-+		i2d_OCSP_RESPONSE;
-+		EC_GROUP_get_cofactor;
-+		PKCS12_unpack_p7data;
-+		d2i_KRB5_AUTHDATA;
-+		OCSP_copy_nonce;
-+		KRB5_AUTHDATA_new;
-+		OCSP_RESPDATA_new;
-+		EC_GFp_mont_method;
-+		OCSP_REVOKEDINFO_free;
-+		UI_get_ex_data;
-+		KRB5_APREQBODY_free;
-+		EC_GROUP_get0_generator;
-+		UI_get_default_method;
-+		X509V3_set_nconf;
-+		PKCS12_item_i2d_encrypt;
-+		X509_add1_ext_i2d;
-+		PKCS7_SIGNER_INFO_it;
-+		KRB5_PRINCNAME_new;
-+		PKCS12_SAFEBAG_it;
-+		EC_GROUP_get_order;
-+		d2i_OCSP_RESPID;
-+		OCSP_request_verify;
-+		NCONF_get_number_e;
-+		_ossl_old_des_decrypt3;
-+		X509_signature_print;
-+		OCSP_SINGLERESP_free;
-+		ENGINE_load_builtin_engines;
-+		i2d_OCSP_ONEREQ;
-+		OCSP_REQUEST_add_ext;
-+		OCSP_RESPBYTES_new;
-+		EVP_MD_CTX_create;
-+		OCSP_resp_find_status;
-+		X509_ALGOR_it;
-+		ASN1_TIME_it;
-+		OCSP_request_set1_name;
-+		OCSP_ONEREQ_get_ext_count;
-+		UI_get0_result;
-+		PKCS12_AUTHSAFES_it;
-+		EVP_aes_256_ecb;
-+		PKCS12_pack_authsafes;
-+		ASN1_IA5STRING_it;
-+		UI_get_input_flags;
-+		EC_GROUP_set_generator;
-+		_ossl_old_des_string_to_2keys;
-+		OCSP_CERTID_free;
-+		X509_CERT_AUX_it;
-+		CERTIFICATEPOLICIES_it;
-+		_ossl_old_des_ede3_cbc_encrypt;
-+		RAND_set_rand_engine;
-+		DSO_get_loaded_filename;
-+		X509_ATTRIBUTE_it;
-+		OCSP_ONEREQ_get_ext_by_NID;
-+		PKCS12_decrypt_skey;
-+		KRB5_AUTHENT_it;
-+		UI_dup_error_string;
-+		RSAPublicKey_it;
-+		i2d_OCSP_REQUEST;
-+		PKCS12_x509crl2certbag;
-+		OCSP_SERVICELOC_it;
-+		ASN1_item_sign;
-+		X509_CRL_set_issuer_name;
-+		OBJ_NAME_do_all_sorted;
-+		i2d_OCSP_BASICRESP;
-+		i2d_OCSP_RESPBYTES;
-+		PKCS12_unpack_p7encdata;
-+		HMAC_CTX_init;
-+		ENGINE_get_digest;
-+		OCSP_RESPONSE_print;
-+		KRB5_TKTBODY_it;
-+		ACCESS_DESCRIPTION_it;
-+		PKCS7_ISSUER_AND_SERIAL_it;
-+		PBE2PARAM_it;
-+		PKCS12_certbag2x509crl;
-+		PKCS7_SIGNED_it;
-+		ENGINE_get_cipher;
-+		i2d_OCSP_CRLID;
-+		OCSP_SINGLERESP_new;
-+		ENGINE_cmd_is_executable;
-+		RSA_up_ref;
-+		ASN1_GENERALSTRING_it;
-+		ENGINE_register_DSA;
-+		X509V3_EXT_add_nconf_sk;
-+		ENGINE_set_load_pubkey_function;
-+		PKCS8_decrypt;
-+		PEM_bytes_read_bio;
-+		DIRECTORYSTRING_it;
-+		d2i_OCSP_CRLID;
-+		EC_POINT_is_on_curve;
-+		CRYPTO_set_locked_mem_ex_functions;
-+		CRYPTO_set_locked_mem_ex_funcs;
-+		d2i_KRB5_CHECKSUM;
-+		ASN1_item_dup;
-+		X509_it;
-+		BN_mod_add;
-+		KRB5_AUTHDATA_free;
-+		_ossl_old_des_cbc_cksum;
-+		ASN1_item_verify;
-+		CRYPTO_set_mem_ex_functions;
-+		EC_POINT_get_Jprojective_coordinates_GFp;
-+		EC_POINT_get_Jproj_coords_GFp;
-+		ZLONG_it;
-+		CRYPTO_get_locked_mem_ex_functions;
-+		CRYPTO_get_locked_mem_ex_funcs;
-+		ASN1_TIME_check;
-+		UI_get0_user_data;
-+		HMAC_CTX_cleanup;
-+		DSA_up_ref;
-+		_ossl_old_des_ede3_cfb64_encrypt;
-+		_ossl_odes_ede3_cfb64_encrypt;
-+		ASN1_BMPSTRING_it;
-+		ASN1_tag2bit;
-+		UI_method_set_flusher;
-+		X509_ocspid_print;
-+		KRB5_ENCDATA_it;
-+		ENGINE_get_load_pubkey_function;
-+		UI_add_user_data;
-+		OCSP_REQUEST_delete_ext;
-+		UI_get_method;
-+		OCSP_ONEREQ_free;
-+		ASN1_PRINTABLESTRING_it;
-+		X509_CRL_set_nextUpdate;
-+		OCSP_REQUEST_it;
-+		OCSP_BASICRESP_it;
-+		AES_ecb_encrypt;
-+		BN_mod_sqr;
-+		NETSCAPE_CERT_SEQUENCE_it;
-+		GENERAL_NAMES_it;
-+		AUTHORITY_INFO_ACCESS_it;
-+		ASN1_FBOOLEAN_it;
-+		UI_set_ex_data;
-+		_ossl_old_des_string_to_key;
-+		ENGINE_register_all_RSA;
-+		d2i_KRB5_PRINCNAME;
-+		OCSP_RESPBYTES_it;
-+		X509_CINF_it;
-+		ENGINE_unregister_digests;
-+		d2i_EDIPARTYNAME;
-+		d2i_OCSP_SERVICELOC;
-+		ENGINE_get_digests;
-+		_ossl_old_des_set_odd_parity;
-+		OCSP_RESPDATA_free;
-+		d2i_KRB5_TICKET;
-+		OTHERNAME_it;
-+		EVP_MD_CTX_cleanup;
-+		d2i_ASN1_GENERALSTRING;
-+		X509_CRL_set_version;
-+		BN_mod_sub;
-+		OCSP_SINGLERESP_get_ext_by_NID;
-+		ENGINE_get_ex_new_index;
-+		OCSP_REQUEST_free;
-+		OCSP_REQUEST_add1_ext_i2d;
-+		X509_VAL_it;
-+		EC_POINTs_make_affine;
-+		EC_POINT_mul;
-+		X509V3_EXT_add_nconf;
-+		X509_TRUST_set;
-+		X509_CRL_add1_ext_i2d;
-+		_ossl_old_des_fcrypt;
-+		DISPLAYTEXT_it;
-+		X509_CRL_set_lastUpdate;
-+		OCSP_BASICRESP_free;
-+		OCSP_BASICRESP_add1_ext_i2d;
-+		d2i_KRB5_AUTHENTBODY;
-+		CRYPTO_set_ex_data_implementation;
-+		CRYPTO_set_ex_data_impl;
-+		KRB5_ENCDATA_new;
-+		DSO_up_ref;
-+		OCSP_crl_reason_str;
-+		UI_get0_result_string;
-+		ASN1_GENERALSTRING_new;
-+		X509_SIG_it;
-+		ERR_set_implementation;
-+		ERR_load_EC_strings;
-+		UI_get0_action_string;
-+		OCSP_ONEREQ_get_ext;
-+		EC_POINT_method_of;
-+		i2d_KRB5_APREQBODY;
-+		_ossl_old_des_ecb3_encrypt;
-+		CRYPTO_get_mem_ex_functions;
-+		ENGINE_get_ex_data;
-+		UI_destroy_method;
-+		ASN1_item_i2d_bio;
-+		OCSP_ONEREQ_get_ext_by_OBJ;
-+		ASN1_primitive_new;
-+		ASN1_PRINTABLE_it;
-+		EVP_aes_192_ecb;
-+		OCSP_SIGNATURE_new;
-+		LONG_it;
-+		ASN1_VISIBLESTRING_it;
-+		OCSP_SINGLERESP_add1_ext_i2d;
-+		d2i_OCSP_CERTID;
-+		ASN1_item_d2i_fp;
-+		CRL_DIST_POINTS_it;
-+		GENERAL_NAME_print;
-+		OCSP_SINGLERESP_delete_ext;
-+		PKCS12_SAFEBAGS_it;
-+		d2i_OCSP_SIGNATURE;
-+		OCSP_request_add1_nonce;
-+		ENGINE_set_cmd_defns;
-+		OCSP_SERVICELOC_free;
-+		EC_GROUP_free;
-+		ASN1_BIT_STRING_it;
-+		X509_REQ_it;
-+		_ossl_old_des_cbc_encrypt;
-+		ERR_unload_strings;
-+		PKCS7_SIGN_ENVELOPE_it;
-+		EDIPARTYNAME_free;
-+		OCSP_REQINFO_free;
-+		EC_GROUP_new_curve_GFp;
-+		OCSP_REQUEST_get1_ext_d2i;
-+		PKCS12_item_pack_safebag;
-+		asn1_ex_c2i;
-+		ENGINE_register_digests;
-+		i2d_OCSP_REVOKEDINFO;
-+		asn1_enc_restore;
-+		UI_free;
-+		UI_new_method;
-+		EVP_EncryptInit_ex;
-+		X509_pubkey_digest;
-+		EC_POINT_invert;
-+		OCSP_basic_sign;
-+		i2d_OCSP_RESPID;
-+		OCSP_check_nonce;
-+		ENGINE_ctrl_cmd;
-+		d2i_KRB5_ENCKEY;
-+		OCSP_parse_url;
-+		OCSP_SINGLERESP_get_ext;
-+		OCSP_CRLID_free;
-+		OCSP_BASICRESP_get1_ext_d2i;
-+		RSAPrivateKey_it;
-+		ENGINE_register_all_DH;
-+		i2d_EDIPARTYNAME;
-+		EC_POINT_get_affine_coordinates_GFp;
-+		EC_POINT_get_affine_coords_GFp;
-+		OCSP_CRLID_new;
-+		ENGINE_get_flags;
-+		OCSP_ONEREQ_it;
-+		UI_process;
-+		ASN1_INTEGER_it;
-+		EVP_CipherInit_ex;
-+		UI_get_string_type;
-+		ENGINE_unregister_DH;
-+		ENGINE_register_all_DSA;
-+		OCSP_ONEREQ_get_ext_by_critical;
-+		bn_dup_expand;
-+		OCSP_cert_id_new;
-+		BASIC_CONSTRAINTS_it;
-+		BN_mod_add_quick;
-+		EC_POINT_new;
-+		EVP_MD_CTX_destroy;
-+		OCSP_RESPBYTES_free;
-+		EVP_aes_128_cbc;
-+		OCSP_SINGLERESP_get1_ext_d2i;
-+		EC_POINT_free;
-+		DH_up_ref;
-+		X509_NAME_ENTRY_it;
-+		UI_get_ex_new_index;
-+		BN_mod_sub_quick;
-+		OCSP_ONEREQ_add_ext;
-+		OCSP_request_sign;
-+		EVP_DigestFinal_ex;
-+		ENGINE_set_digests;
-+		OCSP_id_issuer_cmp;
-+		OBJ_NAME_do_all;
-+		EC_POINTs_mul;
-+		ENGINE_register_complete;
-+		X509V3_EXT_nconf_nid;
-+		ASN1_SEQUENCE_it;
-+		UI_set_default_method;
-+		RAND_query_egd_bytes;
-+		UI_method_get_writer;
-+		UI_OpenSSL;
-+		PEM_def_callback;
-+		ENGINE_cleanup;
-+		DIST_POINT_it;
-+		OCSP_SINGLERESP_it;
-+		d2i_KRB5_TKTBODY;
-+		EC_POINT_cmp;
-+		OCSP_REVOKEDINFO_new;
-+		i2d_OCSP_CERTSTATUS;
-+		OCSP_basic_add1_nonce;
-+		ASN1_item_ex_d2i;
-+		BN_mod_lshift1_quick;
-+		UI_set_method;
-+		OCSP_id_get0_info;
-+		BN_mod_sqrt;
-+		EC_GROUP_copy;
-+		KRB5_ENCDATA_free;
-+		_ossl_old_des_cfb_encrypt;
-+		OCSP_SINGLERESP_get_ext_by_OBJ;
-+		OCSP_cert_to_id;
-+		OCSP_RESPID_new;
-+		OCSP_RESPDATA_it;
-+		d2i_OCSP_RESPDATA;
-+		ENGINE_register_all_complete;
-+		OCSP_check_validity;
-+		PKCS12_BAGS_it;
-+		OCSP_url_svcloc_new;
-+		ASN1_template_free;
-+		OCSP_SINGLERESP_add_ext;
-+		KRB5_AUTHENTBODY_it;
-+		X509_supported_extension;
-+		i2d_KRB5_AUTHDATA;
-+		UI_method_get_opener;
-+		ENGINE_set_ex_data;
-+		OCSP_REQUEST_print;
-+		CBIGNUM_it;
-+		KRB5_TICKET_new;
-+		KRB5_APREQ_new;
-+		EC_GROUP_get_curve_GFp;
-+		KRB5_ENCKEY_new;
-+		ASN1_template_d2i;
-+		_ossl_old_des_quad_cksum;
-+		OCSP_single_get0_status;
-+		BN_swap;
-+		POLICYINFO_it;
-+		ENGINE_set_destroy_function;
-+		asn1_enc_free;
-+		OCSP_RESPID_it;
-+		EC_GROUP_new;
-+		EVP_aes_256_cbc;
-+		i2d_KRB5_PRINCNAME;
-+		_ossl_old_des_encrypt2;
-+		_ossl_old_des_encrypt3;
-+		PKCS8_PRIV_KEY_INFO_it;
-+		OCSP_REQINFO_it;
-+		PBEPARAM_it;
-+		KRB5_AUTHENTBODY_new;
-+		X509_CRL_add0_revoked;
-+		EDIPARTYNAME_it;
-+		NETSCAPE_SPKI_it;
-+		UI_get0_test_string;
-+		ENGINE_get_cipher_engine;
-+		ENGINE_register_all_ciphers;
-+		EC_POINT_copy;
-+		BN_kronecker;
-+		_ossl_old_des_ede3_ofb64_encrypt;
-+		_ossl_odes_ede3_ofb64_encrypt;
-+		UI_method_get_reader;
-+		OCSP_BASICRESP_get_ext_count;
-+		ASN1_ENUMERATED_it;
-+		UI_set_result;
-+		i2d_KRB5_TICKET;
-+		X509_print_ex_fp;
-+		EVP_CIPHER_CTX_set_padding;
-+		d2i_OCSP_RESPONSE;
-+		ASN1_UTCTIME_it;
-+		_ossl_old_des_enc_write;
-+		OCSP_RESPONSE_new;
-+		AES_set_encrypt_key;
-+		OCSP_resp_count;
-+		KRB5_CHECKSUM_new;
-+		ENGINE_load_cswift;
-+		OCSP_onereq_get0_id;
-+		ENGINE_set_default_ciphers;
-+		NOTICEREF_it;
-+		X509V3_EXT_CRL_add_nconf;
-+		OCSP_REVOKEDINFO_it;
-+		AES_encrypt;
-+		OCSP_REQUEST_new;
-+		ASN1_ANY_it;
-+		CRYPTO_ex_data_new_class;
-+		_ossl_old_des_ncbc_encrypt;
-+		i2d_KRB5_TKTBODY;
-+		EC_POINT_clear_free;
-+		AES_decrypt;
-+		asn1_enc_init;
-+		UI_get_result_maxsize;
-+		OCSP_CERTID_new;
-+		ENGINE_unregister_RAND;
-+		UI_method_get_closer;
-+		d2i_KRB5_ENCDATA;
-+		OCSP_request_onereq_count;
-+		OCSP_basic_verify;
-+		KRB5_AUTHENTBODY_free;
-+		ASN1_item_d2i;
-+		ASN1_primitive_free;
-+		i2d_EXTENDED_KEY_USAGE;
-+		i2d_OCSP_SIGNATURE;
-+		asn1_enc_save;
-+		ENGINE_load_nuron;
-+		_ossl_old_des_pcbc_encrypt;
-+		PKCS12_MAC_DATA_it;
-+		OCSP_accept_responses_new;
-+		asn1_do_lock;
-+		PKCS7_ATTR_VERIFY_it;
-+		KRB5_APREQBODY_it;
-+		i2d_OCSP_SINGLERESP;
-+		ASN1_item_ex_new;
-+		UI_add_verify_string;
-+		_ossl_old_des_set_key;
-+		KRB5_PRINCNAME_it;
-+		EVP_DecryptInit_ex;
-+		i2d_OCSP_CERTID;
-+		ASN1_item_d2i_bio;
-+		EC_POINT_dbl;
-+		asn1_get_choice_selector;
-+		i2d_KRB5_CHECKSUM;
-+		ENGINE_set_table_flags;
-+		AES_options;
-+		ENGINE_load_chil;
-+		OCSP_id_cmp;
-+		OCSP_BASICRESP_new;
-+		OCSP_REQUEST_get_ext_by_NID;
-+		KRB5_APREQ_it;
-+		ENGINE_get_destroy_function;
-+		CONF_set_nconf;
-+		ASN1_PRINTABLE_free;
-+		OCSP_BASICRESP_get_ext_by_NID;
-+		DIST_POINT_NAME_it;
-+		X509V3_extensions_print;
-+		_ossl_old_des_cfb64_encrypt;
-+		X509_REVOKED_add1_ext_i2d;
-+		_ossl_old_des_ofb_encrypt;
-+		KRB5_TKTBODY_new;
-+		ASN1_OCTET_STRING_it;
-+		ERR_load_UI_strings;
-+		i2d_KRB5_ENCKEY;
-+		ASN1_template_new;
-+		OCSP_SIGNATURE_free;
-+		ASN1_item_i2d_fp;
-+		KRB5_PRINCNAME_free;
-+		PKCS7_RECIP_INFO_it;
-+		EXTENDED_KEY_USAGE_it;
-+		EC_GFp_simple_method;
-+		EC_GROUP_precompute_mult;
-+		OCSP_request_onereq_get0;
-+		UI_method_set_writer;
-+		KRB5_AUTHENT_new;
-+		X509_CRL_INFO_it;
-+		DSO_set_name_converter;
-+		AES_set_decrypt_key;
-+		PKCS7_DIGEST_it;
-+		PKCS12_x5092certbag;
-+		EVP_DigestInit_ex;
-+		i2a_ACCESS_DESCRIPTION;
-+		OCSP_RESPONSE_it;
-+		PKCS7_ENC_CONTENT_it;
-+		OCSP_request_add0_id;
-+		EC_POINT_make_affine;
-+		DSO_get_filename;
-+		OCSP_CERTSTATUS_it;
-+		OCSP_request_add1_cert;
-+		UI_get0_output_string;
-+		UI_dup_verify_string;
-+		BN_mod_lshift;
-+		KRB5_AUTHDATA_it;
-+		asn1_set_choice_selector;
-+		OCSP_basic_add1_status;
-+		OCSP_RESPID_free;
-+		asn1_get_field_ptr;
-+		UI_add_input_string;
-+		OCSP_CRLID_it;
-+		i2d_KRB5_AUTHENTBODY;
-+		OCSP_REQUEST_get_ext_count;
-+		ENGINE_load_atalla;
-+		X509_NAME_it;
-+		USERNOTICE_it;
-+		OCSP_REQINFO_new;
-+		OCSP_BASICRESP_get_ext;
-+		CRYPTO_get_ex_data_implementation;
-+		CRYPTO_get_ex_data_impl;
-+		ASN1_item_pack;
-+		i2d_KRB5_ENCDATA;
-+		X509_PURPOSE_set;
-+		X509_REQ_INFO_it;
-+		UI_method_set_opener;
-+		ASN1_item_ex_free;
-+		ASN1_BOOLEAN_it;
-+		ENGINE_get_table_flags;
-+		UI_create_method;
-+		OCSP_ONEREQ_add1_ext_i2d;
-+		_shadow_DES_check_key;
-+		d2i_OCSP_REQINFO;
-+		UI_add_info_string;
-+		UI_get_result_minsize;
-+		ASN1_NULL_it;
-+		BN_mod_lshift1;
-+		d2i_OCSP_ONEREQ;
-+		OCSP_ONEREQ_new;
-+		KRB5_TICKET_it;
-+		EVP_aes_192_cbc;
-+		KRB5_TICKET_free;
-+		UI_new;
-+		OCSP_response_create;
-+		_ossl_old_des_xcbc_encrypt;
-+		PKCS7_it;
-+		OCSP_REQUEST_get_ext_by_critical;
-+		OCSP_REQUEST_get_ext_by_crit;
-+		ENGINE_set_flags;
-+		_ossl_old_des_ecb_encrypt;
-+		OCSP_response_get1_basic;
-+		EVP_Digest;
-+		OCSP_ONEREQ_delete_ext;
-+		ASN1_TBOOLEAN_it;
-+		ASN1_item_new;
-+		ASN1_TIME_to_generalizedtime;
-+		BIGNUM_it;
-+		AES_cbc_encrypt;
-+		ENGINE_get_load_privkey_function;
-+		ENGINE_get_load_privkey_fn;
-+		OCSP_RESPONSE_free;
-+		UI_method_set_reader;
-+		i2d_ASN1_T61STRING;
-+		EC_POINT_set_to_infinity;
-+		ERR_load_OCSP_strings;
-+		EC_POINT_point2oct;
-+		KRB5_APREQ_free;
-+		ASN1_OBJECT_it;
-+		OCSP_crlID_new;
-+		OCSP_crlID2_new;
-+		CONF_modules_load_file;
-+		CONF_imodule_set_usr_data;
-+		ENGINE_set_default_string;
-+		CONF_module_get_usr_data;
-+		ASN1_add_oid_module;
-+		CONF_modules_finish;
-+		OPENSSL_config;
-+		CONF_modules_unload;
-+		CONF_imodule_get_value;
-+		CONF_module_set_usr_data;
-+		CONF_parse_list;
-+		CONF_module_add;
-+		CONF_get1_default_config_file;
-+		CONF_imodule_get_flags;
-+		CONF_imodule_get_module;
-+		CONF_modules_load;
-+		CONF_imodule_get_name;
-+		ERR_peek_top_error;
-+		CONF_imodule_get_usr_data;
-+		CONF_imodule_set_flags;
-+		ENGINE_add_conf_module;
-+		ERR_peek_last_error_line;
-+		ERR_peek_last_error_line_data;
-+		ERR_peek_last_error;
-+		DES_read_2passwords;
-+		DES_read_password;
-+		UI_UTIL_read_pw;
-+		UI_UTIL_read_pw_string;
-+		ENGINE_load_aep;
-+		ENGINE_load_sureware;
-+		OPENSSL_add_all_algorithms_noconf;
-+		OPENSSL_add_all_algo_noconf;
-+		OPENSSL_add_all_algorithms_conf;
-+		OPENSSL_add_all_algo_conf;
-+		OPENSSL_load_builtin_modules;
-+		AES_ofb128_encrypt;
-+		AES_ctr128_encrypt;
-+		AES_cfb128_encrypt;
-+		ENGINE_load_4758cca;
-+		_ossl_096_des_random_seed;
-+		EVP_aes_256_ofb;
-+		EVP_aes_192_ofb;
-+		EVP_aes_128_cfb128;
-+		EVP_aes_256_cfb128;
-+		EVP_aes_128_ofb;
-+		EVP_aes_192_cfb128;
-+		CONF_modules_free;
-+		NCONF_default;
-+		OPENSSL_no_config;
-+		NCONF_WIN32;
-+		ASN1_UNIVERSALSTRING_new;
-+		EVP_des_ede_ecb;
-+		i2d_ASN1_UNIVERSALSTRING;
-+		ASN1_UNIVERSALSTRING_free;
-+		ASN1_UNIVERSALSTRING_it;
-+		d2i_ASN1_UNIVERSALSTRING;
-+		EVP_des_ede3_ecb;
-+		X509_REQ_print_ex;
-+		ENGINE_up_ref;
-+		BUF_MEM_grow_clean;
-+		CRYPTO_realloc_clean;
-+		BUF_strlcat;
-+		BIO_indent;
-+		BUF_strlcpy;
-+		OpenSSLDie;
-+		OPENSSL_cleanse;
-+		ENGINE_setup_bsd_cryptodev;
-+		ERR_release_err_state_table;
-+		EVP_aes_128_cfb8;
-+		FIPS_corrupt_rsa;
-+		FIPS_selftest_des;
-+		EVP_aes_128_cfb1;
-+		EVP_aes_192_cfb8;
-+		FIPS_mode_set;
-+		FIPS_selftest_dsa;
-+		EVP_aes_256_cfb8;
-+		FIPS_allow_md5;
-+		DES_ede3_cfb_encrypt;
-+		EVP_des_ede3_cfb8;
-+		FIPS_rand_seeded;
-+		AES_cfbr_encrypt_block;
-+		AES_cfb8_encrypt;
-+		FIPS_rand_seed;
-+		FIPS_corrupt_des;
-+		EVP_aes_192_cfb1;
-+		FIPS_selftest_aes;
-+		FIPS_set_prng_key;
-+		EVP_des_cfb8;
-+		FIPS_corrupt_dsa;
-+		FIPS_test_mode;
-+		FIPS_rand_method;
-+		EVP_aes_256_cfb1;
-+		ERR_load_FIPS_strings;
-+		FIPS_corrupt_aes;
-+		FIPS_selftest_sha1;
-+		FIPS_selftest_rsa;
-+		FIPS_corrupt_sha1;
-+		EVP_des_cfb1;
-+		FIPS_dsa_check;
-+		AES_cfb1_encrypt;
-+		EVP_des_ede3_cfb1;
-+		FIPS_rand_check;
-+		FIPS_md5_allowed;
-+		FIPS_mode;
-+		FIPS_selftest_failed;
-+		sk_is_sorted;
-+		X509_check_ca;
-+		HMAC_CTX_set_flags;
-+		d2i_PROXY_CERT_INFO_EXTENSION;
-+		PROXY_POLICY_it;
-+		i2d_PROXY_POLICY;
-+		i2d_PROXY_CERT_INFO_EXTENSION;
-+		d2i_PROXY_POLICY;
-+		PROXY_CERT_INFO_EXTENSION_new;
-+		PROXY_CERT_INFO_EXTENSION_free;
-+		PROXY_CERT_INFO_EXTENSION_it;
-+		PROXY_POLICY_free;
-+		PROXY_POLICY_new;
-+		BN_MONT_CTX_set_locked;
-+		FIPS_selftest_rng;
-+		EVP_sha384;
-+		EVP_sha512;
-+		EVP_sha224;
-+		EVP_sha256;
-+		FIPS_selftest_hmac;
-+		FIPS_corrupt_rng;
-+		BN_mod_exp_mont_consttime;
-+		RSA_X931_hash_id;
-+		RSA_padding_check_X931;
-+		RSA_verify_PKCS1_PSS;
-+		RSA_padding_add_X931;
-+		RSA_padding_add_PKCS1_PSS;
-+		PKCS1_MGF1;
-+		BN_X931_generate_Xpq;
-+		RSA_X931_generate_key;
-+		BN_X931_derive_prime;
-+		BN_X931_generate_prime;
-+		RSA_X931_derive;
-+		BIO_new_dgram;
-+		BN_get0_nist_prime_384;
-+		ERR_set_mark;
-+		X509_STORE_CTX_set0_crls;
-+		ENGINE_set_STORE;
-+		ENGINE_register_ECDSA;
-+		STORE_meth_set_list_start_fn;
-+		STORE_method_set_list_start_function;
-+		BN_BLINDING_invert_ex;
-+		NAME_CONSTRAINTS_free;
-+		STORE_ATTR_INFO_set_number;
-+		BN_BLINDING_get_thread_id;
-+		X509_STORE_CTX_set0_param;
-+		POLICY_MAPPING_it;
-+		STORE_parse_attrs_start;
-+		POLICY_CONSTRAINTS_free;
-+		EVP_PKEY_add1_attr_by_NID;
-+		BN_nist_mod_192;
-+		EC_GROUP_get_trinomial_basis;
-+		STORE_set_method;
-+		GENERAL_SUBTREE_free;
-+		NAME_CONSTRAINTS_it;
-+		ECDH_get_default_method;
-+		PKCS12_add_safe;
-+		EC_KEY_new_by_curve_name;
-+		STORE_meth_get_update_store_fn;
-+		STORE_method_get_update_store_function;
-+		ENGINE_register_ECDH;
-+		SHA512_Update;
-+		i2d_ECPrivateKey;
-+		BN_get0_nist_prime_192;
-+		STORE_modify_certificate;
-+		EC_POINT_set_affine_coordinates_GF2m;
-+		EC_POINT_set_affine_coords_GF2m;
-+		BN_GF2m_mod_exp_arr;
-+		STORE_ATTR_INFO_modify_number;
-+		X509_keyid_get0;
-+		ENGINE_load_gmp;
-+		pitem_new;
-+		BN_GF2m_mod_mul_arr;
-+		STORE_list_public_key_endp;
-+		o2i_ECPublicKey;
-+		EC_KEY_copy;
-+		BIO_dump_fp;
-+		X509_policy_node_get0_parent;
-+		EC_GROUP_check_discriminant;
-+		i2o_ECPublicKey;
-+		EC_KEY_precompute_mult;
-+		a2i_IPADDRESS;
-+		STORE_meth_set_initialise_fn;
-+		STORE_method_set_initialise_function;
-+		X509_STORE_CTX_set_depth;
-+		X509_VERIFY_PARAM_inherit;
-+		EC_POINT_point2bn;
-+		STORE_ATTR_INFO_set_dn;
-+		X509_policy_tree_get0_policies;
-+		EC_GROUP_new_curve_GF2m;
-+		STORE_destroy_method;
-+		ENGINE_unregister_STORE;
-+		EVP_PKEY_get1_EC_KEY;
-+		STORE_ATTR_INFO_get0_number;
-+		ENGINE_get_default_ECDH;
-+		EC_KEY_get_conv_form;
-+		ASN1_OCTET_STRING_NDEF_it;
-+		STORE_delete_public_key;
-+		STORE_get_public_key;
-+		STORE_modify_arbitrary;
-+		ENGINE_get_static_state;
-+		pqueue_iterator;
-+		ECDSA_SIG_new;
-+		OPENSSL_DIR_end;
-+		BN_GF2m_mod_sqr;
-+		EC_POINT_bn2point;
-+		X509_VERIFY_PARAM_set_depth;
-+		EC_KEY_set_asn1_flag;
-+		STORE_get_method;
-+		EC_KEY_get_key_method_data;
-+		ECDSA_sign_ex;
-+		STORE_parse_attrs_end;
-+		EC_GROUP_get_point_conversion_form;
-+		EC_GROUP_get_point_conv_form;
-+		STORE_method_set_store_function;
-+		STORE_ATTR_INFO_in;
-+		PEM_read_bio_ECPKParameters;
-+		EC_GROUP_get_pentanomial_basis;
-+		EVP_PKEY_add1_attr_by_txt;
-+		BN_BLINDING_set_flags;
-+		X509_VERIFY_PARAM_set1_policies;
-+		X509_VERIFY_PARAM_set1_name;
-+		X509_VERIFY_PARAM_set_purpose;
-+		STORE_get_number;
-+		ECDSA_sign_setup;
-+		BN_GF2m_mod_solve_quad_arr;
-+		EC_KEY_up_ref;
-+		POLICY_MAPPING_free;
-+		BN_GF2m_mod_div;
-+		X509_VERIFY_PARAM_set_flags;
-+		EC_KEY_free;
-+		STORE_meth_set_list_next_fn;
-+		STORE_method_set_list_next_function;
-+		PEM_write_bio_ECPrivateKey;
-+		d2i_EC_PUBKEY;
-+		STORE_meth_get_generate_fn;
-+		STORE_method_get_generate_function;
-+		STORE_meth_set_list_end_fn;
-+		STORE_method_set_list_end_function;
-+		pqueue_print;
-+		EC_GROUP_have_precompute_mult;
-+		EC_KEY_print_fp;
-+		BN_GF2m_mod_arr;
-+		PEM_write_bio_X509_CERT_PAIR;
-+		EVP_PKEY_cmp;
-+		X509_policy_level_node_count;
-+		STORE_new_engine;
-+		STORE_list_public_key_start;
-+		X509_VERIFY_PARAM_new;
-+		ECDH_get_ex_data;
-+		EVP_PKEY_get_attr;
-+		ECDSA_do_sign;
-+		ENGINE_unregister_ECDH;
-+		ECDH_OpenSSL;
-+		EC_KEY_set_conv_form;
-+		EC_POINT_dup;
-+		GENERAL_SUBTREE_new;
-+		STORE_list_crl_endp;
-+		EC_get_builtin_curves;
-+		X509_policy_node_get0_qualifiers;
-+		X509_pcy_node_get0_qualifiers;
-+		STORE_list_crl_end;
-+		EVP_PKEY_set1_EC_KEY;
-+		BN_GF2m_mod_sqrt_arr;
-+		i2d_ECPrivateKey_bio;
-+		ECPKParameters_print_fp;
-+		pqueue_find;
-+		ECDSA_SIG_free;
-+		PEM_write_bio_ECPKParameters;
-+		STORE_method_set_ctrl_function;
-+		STORE_list_public_key_end;
-+		EC_KEY_set_private_key;
-+		pqueue_peek;
-+		STORE_get_arbitrary;
-+		STORE_store_crl;
-+		X509_policy_node_get0_policy;
-+		PKCS12_add_safes;
-+		BN_BLINDING_convert_ex;
-+		X509_policy_tree_free;
-+		OPENSSL_ia32cap_loc;
-+		BN_GF2m_poly2arr;
-+		STORE_ctrl;
-+		STORE_ATTR_INFO_compare;
-+		BN_get0_nist_prime_224;
-+		i2d_ECParameters;
-+		i2d_ECPKParameters;
-+		BN_GENCB_call;
-+		d2i_ECPKParameters;
-+		STORE_meth_set_generate_fn;
-+		STORE_method_set_generate_function;
-+		ENGINE_set_ECDH;
-+		NAME_CONSTRAINTS_new;
-+		SHA256_Init;
-+		EC_KEY_get0_public_key;
-+		PEM_write_bio_EC_PUBKEY;
-+		STORE_ATTR_INFO_set_cstr;
-+		STORE_list_crl_next;
-+		STORE_ATTR_INFO_in_range;
-+		ECParameters_print;
-+		STORE_meth_set_delete_fn;
-+		STORE_method_set_delete_function;
-+		STORE_list_certificate_next;
-+		ASN1_generate_nconf;
-+		BUF_memdup;
-+		BN_GF2m_mod_mul;
-+		STORE_meth_get_list_next_fn;
-+		STORE_method_get_list_next_function;
-+		STORE_ATTR_INFO_get0_dn;
-+		STORE_list_private_key_next;
-+		EC_GROUP_set_seed;
-+		X509_VERIFY_PARAM_set_trust;
-+		STORE_ATTR_INFO_free;
-+		STORE_get_private_key;
-+		EVP_PKEY_get_attr_count;
-+		STORE_ATTR_INFO_new;
-+		EC_GROUP_get_curve_GF2m;
-+		STORE_meth_set_revoke_fn;
-+		STORE_method_set_revoke_function;
-+		STORE_store_number;
-+		BN_is_prime_ex;
-+		STORE_revoke_public_key;
-+		X509_STORE_CTX_get0_param;
-+		STORE_delete_arbitrary;
-+		PEM_read_X509_CERT_PAIR;
-+		X509_STORE_set_depth;
-+		ECDSA_get_ex_data;
-+		SHA224;
-+		BIO_dump_indent_fp;
-+		EC_KEY_set_group;
-+		BUF_strndup;
-+		STORE_list_certificate_start;
-+		BN_GF2m_mod;
-+		X509_REQ_check_private_key;
-+		EC_GROUP_get_seed_len;
-+		ERR_load_STORE_strings;
-+		PEM_read_bio_EC_PUBKEY;
-+		STORE_list_private_key_end;
-+		i2d_EC_PUBKEY;
-+		ECDSA_get_default_method;
-+		ASN1_put_eoc;
-+		X509_STORE_CTX_get_explicit_policy;
-+		X509_STORE_CTX_get_expl_policy;
-+		X509_VERIFY_PARAM_table_cleanup;
-+		STORE_modify_private_key;
-+		X509_VERIFY_PARAM_free;
-+		EC_METHOD_get_field_type;
-+		EC_GFp_nist_method;
-+		STORE_meth_set_modify_fn;
-+		STORE_method_set_modify_function;
-+		STORE_parse_attrs_next;
-+		ENGINE_load_padlock;
-+		EC_GROUP_set_curve_name;
-+		X509_CERT_PAIR_it;
-+		STORE_meth_get_revoke_fn;
-+		STORE_method_get_revoke_function;
-+		STORE_method_set_get_function;
-+		STORE_modify_number;
-+		STORE_method_get_store_function;
-+		STORE_store_private_key;
-+		BN_GF2m_mod_sqr_arr;
-+		RSA_setup_blinding;
-+		BIO_s_datagram;
-+		STORE_Memory;
-+		sk_find_ex;
-+		EC_GROUP_set_curve_GF2m;
-+		ENGINE_set_default_ECDSA;
-+		POLICY_CONSTRAINTS_new;
-+		BN_GF2m_mod_sqrt;
-+		ECDH_set_default_method;
-+		EC_KEY_generate_key;
-+		SHA384_Update;
-+		BN_GF2m_arr2poly;
-+		STORE_method_get_get_function;
-+		STORE_meth_set_cleanup_fn;
-+		STORE_method_set_cleanup_function;
-+		EC_GROUP_check;
-+		d2i_ECPrivateKey_bio;
-+		EC_KEY_insert_key_method_data;
-+		STORE_meth_get_lock_store_fn;
-+		STORE_method_get_lock_store_function;
-+		X509_VERIFY_PARAM_get_depth;
-+		SHA224_Final;
-+		STORE_meth_set_update_store_fn;
-+		STORE_method_set_update_store_function;
-+		SHA224_Update;
-+		d2i_ECPrivateKey;
-+		ASN1_item_ndef_i2d;
-+		STORE_delete_private_key;
-+		ERR_pop_to_mark;
-+		ENGINE_register_all_STORE;
-+		X509_policy_level_get0_node;
-+		i2d_PKCS7_NDEF;
-+		EC_GROUP_get_degree;
-+		ASN1_generate_v3;
-+		STORE_ATTR_INFO_modify_cstr;
-+		X509_policy_tree_level_count;
-+		BN_GF2m_add;
-+		EC_KEY_get0_group;
-+		STORE_generate_crl;
-+		STORE_store_public_key;
-+		X509_CERT_PAIR_free;
-+		STORE_revoke_private_key;
-+		BN_nist_mod_224;
-+		SHA512_Final;
-+		STORE_ATTR_INFO_modify_dn;
-+		STORE_meth_get_initialise_fn;
-+		STORE_method_get_initialise_function;
-+		STORE_delete_number;
-+		i2d_EC_PUBKEY_bio;
-+		BIO_dgram_non_fatal_error;
-+		EC_GROUP_get_asn1_flag;
-+		STORE_ATTR_INFO_in_ex;
-+		STORE_list_crl_start;
-+		ECDH_get_ex_new_index;
-+		STORE_meth_get_modify_fn;
-+		STORE_method_get_modify_function;
-+		v2i_ASN1_BIT_STRING;
-+		STORE_store_certificate;
-+		OBJ_bsearch_ex;
-+		X509_STORE_CTX_set_default;
-+		STORE_ATTR_INFO_set_sha1str;
-+		BN_GF2m_mod_inv;
-+		BN_GF2m_mod_exp;
-+		STORE_modify_public_key;
-+		STORE_meth_get_list_start_fn;
-+		STORE_method_get_list_start_function;
-+		EC_GROUP_get0_seed;
-+		STORE_store_arbitrary;
-+		STORE_meth_set_unlock_store_fn;
-+		STORE_method_set_unlock_store_function;
-+		BN_GF2m_mod_div_arr;
-+		ENGINE_set_ECDSA;
-+		STORE_create_method;
-+		ECPKParameters_print;
-+		EC_KEY_get0_private_key;
-+		PEM_write_EC_PUBKEY;
-+		X509_VERIFY_PARAM_set1;
-+		ECDH_set_method;
-+		v2i_GENERAL_NAME_ex;
-+		ECDH_set_ex_data;
-+		STORE_generate_key;
-+		BN_nist_mod_521;
-+		X509_policy_tree_get0_level;
-+		EC_GROUP_set_point_conversion_form;
-+		EC_GROUP_set_point_conv_form;
-+		PEM_read_EC_PUBKEY;
-+		i2d_ECDSA_SIG;
-+		ECDSA_OpenSSL;
-+		STORE_delete_crl;
-+		EC_KEY_get_enc_flags;
-+		ASN1_const_check_infinite_end;
-+		EVP_PKEY_delete_attr;
-+		ECDSA_set_default_method;
-+		EC_POINT_set_compressed_coordinates_GF2m;
-+		EC_POINT_set_compr_coords_GF2m;
-+		EC_GROUP_cmp;
-+		STORE_revoke_certificate;
-+		BN_get0_nist_prime_256;
-+		STORE_meth_get_delete_fn;
-+		STORE_method_get_delete_function;
-+		SHA224_Init;
-+		PEM_read_ECPrivateKey;
-+		SHA512_Init;
-+		STORE_parse_attrs_endp;
-+		BN_set_negative;
-+		ERR_load_ECDSA_strings;
-+		EC_GROUP_get_basis_type;
-+		STORE_list_public_key_next;
-+		i2v_ASN1_BIT_STRING;
-+		STORE_OBJECT_free;
-+		BN_nist_mod_384;
-+		i2d_X509_CERT_PAIR;
-+		PEM_write_ECPKParameters;
-+		ECDH_compute_key;
-+		STORE_ATTR_INFO_get0_sha1str;
-+		ENGINE_register_all_ECDH;
-+		pqueue_pop;
-+		STORE_ATTR_INFO_get0_cstr;
-+		POLICY_CONSTRAINTS_it;
-+		STORE_get_ex_new_index;
-+		EVP_PKEY_get_attr_by_OBJ;
-+		X509_VERIFY_PARAM_add0_policy;
-+		BN_GF2m_mod_solve_quad;
-+		SHA256;
-+		i2d_ECPrivateKey_fp;
-+		X509_policy_tree_get0_user_policies;
-+		X509_pcy_tree_get0_usr_policies;
-+		OPENSSL_DIR_read;
-+		ENGINE_register_all_ECDSA;
-+		X509_VERIFY_PARAM_lookup;
-+		EC_POINT_get_affine_coordinates_GF2m;
-+		EC_POINT_get_affine_coords_GF2m;
-+		EC_GROUP_dup;
-+		ENGINE_get_default_ECDSA;
-+		EC_KEY_new;
-+		SHA256_Transform;
-+		EC_KEY_set_enc_flags;
-+		ECDSA_verify;
-+		EC_POINT_point2hex;
-+		ENGINE_get_STORE;
-+		SHA512;
-+		STORE_get_certificate;
-+		ECDSA_do_sign_ex;
-+		ECDSA_do_verify;
-+		d2i_ECPrivateKey_fp;
-+		STORE_delete_certificate;
-+		SHA512_Transform;
-+		X509_STORE_set1_param;
-+		STORE_method_get_ctrl_function;
-+		STORE_free;
-+		PEM_write_ECPrivateKey;
-+		STORE_meth_get_unlock_store_fn;
-+		STORE_method_get_unlock_store_function;
-+		STORE_get_ex_data;
-+		EC_KEY_set_public_key;
-+		PEM_read_ECPKParameters;
-+		X509_CERT_PAIR_new;
-+		ENGINE_register_STORE;
-+		RSA_generate_key_ex;
-+		DSA_generate_parameters_ex;
-+		ECParameters_print_fp;
-+		X509V3_NAME_from_section;
-+		EVP_PKEY_add1_attr;
-+		STORE_modify_crl;
-+		STORE_list_private_key_start;
-+		POLICY_MAPPINGS_it;
-+		GENERAL_SUBTREE_it;
-+		EC_GROUP_get_curve_name;
-+		PEM_write_X509_CERT_PAIR;
-+		BIO_dump_indent_cb;
-+		d2i_X509_CERT_PAIR;
-+		STORE_list_private_key_endp;
-+		asn1_const_Finish;
-+		i2d_EC_PUBKEY_fp;
-+		BN_nist_mod_256;
-+		X509_VERIFY_PARAM_add0_table;
-+		pqueue_free;
-+		BN_BLINDING_create_param;
-+		ECDSA_size;
-+		d2i_EC_PUBKEY_bio;
-+		BN_get0_nist_prime_521;
-+		STORE_ATTR_INFO_modify_sha1str;
-+		BN_generate_prime_ex;
-+		EC_GROUP_new_by_curve_name;
-+		SHA256_Final;
-+		DH_generate_parameters_ex;
-+		PEM_read_bio_ECPrivateKey;
-+		STORE_meth_get_cleanup_fn;
-+		STORE_method_get_cleanup_function;
-+		ENGINE_get_ECDH;
-+		d2i_ECDSA_SIG;
-+		BN_is_prime_fasttest_ex;
-+		ECDSA_sign;
-+		X509_policy_check;
-+		EVP_PKEY_get_attr_by_NID;
-+		STORE_set_ex_data;
-+		ENGINE_get_ECDSA;
-+		EVP_ecdsa;
-+		BN_BLINDING_get_flags;
-+		PKCS12_add_cert;
-+		STORE_OBJECT_new;
-+		ERR_load_ECDH_strings;
-+		EC_KEY_dup;
-+		EVP_CIPHER_CTX_rand_key;
-+		ECDSA_set_method;
-+		a2i_IPADDRESS_NC;
-+		d2i_ECParameters;
-+		STORE_list_certificate_end;
-+		STORE_get_crl;
-+		X509_POLICY_NODE_print;
-+		SHA384_Init;
-+		EC_GF2m_simple_method;
-+		ECDSA_set_ex_data;
-+		SHA384_Final;
-+		PKCS7_set_digest;
-+		EC_KEY_print;
-+		STORE_meth_set_lock_store_fn;
-+		STORE_method_set_lock_store_function;
-+		ECDSA_get_ex_new_index;
-+		SHA384;
-+		POLICY_MAPPING_new;
-+		STORE_list_certificate_endp;
-+		X509_STORE_CTX_get0_policy_tree;
-+		EC_GROUP_set_asn1_flag;
-+		EC_KEY_check_key;
-+		d2i_EC_PUBKEY_fp;
-+		PKCS7_set0_type_other;
-+		PEM_read_bio_X509_CERT_PAIR;
-+		pqueue_next;
-+		STORE_meth_get_list_end_fn;
-+		STORE_method_get_list_end_function;
-+		EVP_PKEY_add1_attr_by_OBJ;
-+		X509_VERIFY_PARAM_set_time;
-+		pqueue_new;
-+		ENGINE_set_default_ECDH;
-+		STORE_new_method;
-+		PKCS12_add_key;
-+		DSO_merge;
-+		EC_POINT_hex2point;
-+		BIO_dump_cb;
-+		SHA256_Update;
-+		pqueue_insert;
-+		pitem_free;
-+		BN_GF2m_mod_inv_arr;
-+		ENGINE_unregister_ECDSA;
-+		BN_BLINDING_set_thread_id;
-+		get_rfc3526_prime_8192;
-+		X509_VERIFY_PARAM_clear_flags;
-+		get_rfc2409_prime_1024;
-+		DH_check_pub_key;
-+		get_rfc3526_prime_2048;
-+		get_rfc3526_prime_6144;
-+		get_rfc3526_prime_1536;
-+		get_rfc3526_prime_3072;
-+		get_rfc3526_prime_4096;
-+		get_rfc2409_prime_768;
-+		X509_VERIFY_PARAM_get_flags;
-+		EVP_CIPHER_CTX_new;
-+		EVP_CIPHER_CTX_free;
-+		Camellia_cbc_encrypt;
-+		Camellia_cfb128_encrypt;
-+		Camellia_cfb1_encrypt;
-+		Camellia_cfb8_encrypt;
-+		Camellia_ctr128_encrypt;
-+		Camellia_cfbr_encrypt_block;
-+		Camellia_decrypt;
-+		Camellia_ecb_encrypt;
-+		Camellia_encrypt;
-+		Camellia_ofb128_encrypt;
-+		Camellia_set_key;
-+		EVP_camellia_128_cbc;
-+		EVP_camellia_128_cfb128;
-+		EVP_camellia_128_cfb1;
-+		EVP_camellia_128_cfb8;
-+		EVP_camellia_128_ecb;
-+		EVP_camellia_128_ofb;
-+		EVP_camellia_192_cbc;
-+		EVP_camellia_192_cfb128;
-+		EVP_camellia_192_cfb1;
-+		EVP_camellia_192_cfb8;
-+		EVP_camellia_192_ecb;
-+		EVP_camellia_192_ofb;
-+		EVP_camellia_256_cbc;
-+		EVP_camellia_256_cfb128;
-+		EVP_camellia_256_cfb1;
-+		EVP_camellia_256_cfb8;
-+		EVP_camellia_256_ecb;
-+		EVP_camellia_256_ofb;
-+		a2i_ipadd;
-+		ASIdentifiers_free;
-+		i2d_ASIdOrRange;
-+		EVP_CIPHER_block_size;
-+		v3_asid_is_canonical;
-+		IPAddressChoice_free;
-+		EVP_CIPHER_CTX_set_app_data;
-+		BIO_set_callback_arg;
-+		v3_addr_add_prefix;
-+		IPAddressOrRange_it;
-+		BIO_set_flags;
-+		ASIdentifiers_it;
-+		v3_addr_get_range;
-+		BIO_method_type;
-+		v3_addr_inherits;
-+		IPAddressChoice_it;
-+		AES_ige_encrypt;
-+		v3_addr_add_range;
-+		EVP_CIPHER_CTX_nid;
-+		d2i_ASRange;
-+		v3_addr_add_inherit;
-+		v3_asid_add_id_or_range;
-+		v3_addr_validate_resource_set;
-+		EVP_CIPHER_iv_length;
-+		EVP_MD_type;
-+		v3_asid_canonize;
-+		IPAddressRange_free;
-+		v3_asid_add_inherit;
-+		EVP_CIPHER_CTX_key_length;
-+		IPAddressRange_new;
-+		ASIdOrRange_new;
-+		EVP_MD_size;
-+		EVP_MD_CTX_test_flags;
-+		BIO_clear_flags;
-+		i2d_ASRange;
-+		IPAddressRange_it;
-+		IPAddressChoice_new;
-+		ASIdentifierChoice_new;
-+		ASRange_free;
-+		EVP_MD_pkey_type;
-+		EVP_MD_CTX_clear_flags;
-+		IPAddressFamily_free;
-+		i2d_IPAddressFamily;
-+		IPAddressOrRange_new;
-+		EVP_CIPHER_flags;
-+		v3_asid_validate_resource_set;
-+		d2i_IPAddressRange;
-+		AES_bi_ige_encrypt;
-+		BIO_get_callback;
-+		IPAddressOrRange_free;
-+		v3_addr_subset;
-+		d2i_IPAddressFamily;
-+		v3_asid_subset;
-+		BIO_test_flags;
-+		i2d_ASIdentifierChoice;
-+		ASRange_it;
-+		d2i_ASIdentifiers;
-+		ASRange_new;
-+		d2i_IPAddressChoice;
-+		v3_addr_get_afi;
-+		EVP_CIPHER_key_length;
-+		EVP_Cipher;
-+		i2d_IPAddressOrRange;
-+		ASIdOrRange_it;
-+		EVP_CIPHER_nid;
-+		i2d_IPAddressChoice;
-+		EVP_CIPHER_CTX_block_size;
-+		ASIdentifiers_new;
-+		v3_addr_validate_path;
-+		IPAddressFamily_new;
-+		EVP_MD_CTX_set_flags;
-+		v3_addr_is_canonical;
-+		i2d_IPAddressRange;
-+		IPAddressFamily_it;
-+		v3_asid_inherits;
-+		EVP_CIPHER_CTX_cipher;
-+		EVP_CIPHER_CTX_get_app_data;
-+		EVP_MD_block_size;
-+		EVP_CIPHER_CTX_flags;
-+		v3_asid_validate_path;
-+		d2i_IPAddressOrRange;
-+		v3_addr_canonize;
-+		ASIdentifierChoice_it;
-+		EVP_MD_CTX_md;
-+		d2i_ASIdentifierChoice;
-+		BIO_method_name;
-+		EVP_CIPHER_CTX_iv_length;
-+		ASIdOrRange_free;
-+		ASIdentifierChoice_free;
-+		BIO_get_callback_arg;
-+		BIO_set_callback;
-+		d2i_ASIdOrRange;
-+		i2d_ASIdentifiers;
-+		SEED_decrypt;
-+		SEED_encrypt;
-+		SEED_cbc_encrypt;
-+		EVP_seed_ofb;
-+		SEED_cfb128_encrypt;
-+		SEED_ofb128_encrypt;
-+		EVP_seed_cbc;
-+		SEED_ecb_encrypt;
-+		EVP_seed_ecb;
-+		SEED_set_key;
-+		EVP_seed_cfb128;
-+		X509_EXTENSIONS_it;
-+		X509_get1_ocsp;
-+		OCSP_REQ_CTX_free;
-+		i2d_X509_EXTENSIONS;
-+		OCSP_sendreq_nbio;
-+		OCSP_sendreq_new;
-+		d2i_X509_EXTENSIONS;
-+		X509_ALGORS_it;
-+		X509_ALGOR_get0;
-+		X509_ALGOR_set0;
-+		AES_unwrap_key;
-+		AES_wrap_key;
-+		X509at_get0_data_by_OBJ;
-+		ASN1_TYPE_set1;
-+		ASN1_STRING_set0;
-+		i2d_X509_ALGORS;
-+		BIO_f_zlib;
-+		COMP_zlib_cleanup;
-+		d2i_X509_ALGORS;
-+		CMS_ReceiptRequest_free;
-+		PEM_write_CMS;
-+		CMS_add0_CertificateChoices;
-+		CMS_unsigned_add1_attr_by_OBJ;
-+		ERR_load_CMS_strings;
-+		CMS_sign_receipt;
-+		i2d_CMS_ContentInfo;
-+		CMS_signed_delete_attr;
-+		d2i_CMS_bio;
-+		CMS_unsigned_get_attr_by_NID;
-+		CMS_verify;
-+		SMIME_read_CMS;
-+		CMS_decrypt_set1_key;
-+		CMS_SignerInfo_get0_algs;
-+		CMS_add1_cert;
-+		CMS_set_detached;
-+		CMS_encrypt;
-+		CMS_EnvelopedData_create;
-+		CMS_uncompress;
-+		CMS_add0_crl;
-+		CMS_SignerInfo_verify_content;
-+		CMS_unsigned_get0_data_by_OBJ;
-+		PEM_write_bio_CMS;
-+		CMS_unsigned_get_attr;
-+		CMS_RecipientInfo_ktri_cert_cmp;
-+		CMS_RecipientInfo_ktri_get0_algs;
-+		CMS_RecipInfo_ktri_get0_algs;
-+		CMS_ContentInfo_free;
-+		CMS_final;
-+		CMS_add_simple_smimecap;
-+		CMS_SignerInfo_verify;
-+		CMS_data;
-+		CMS_ContentInfo_it;
-+		d2i_CMS_ReceiptRequest;
-+		CMS_compress;
-+		CMS_digest_create;
-+		CMS_SignerInfo_cert_cmp;
-+		CMS_SignerInfo_sign;
-+		CMS_data_create;
-+		i2d_CMS_bio;
-+		CMS_EncryptedData_set1_key;
-+		CMS_decrypt;
-+		int_smime_write_ASN1;
-+		CMS_unsigned_delete_attr;
-+		CMS_unsigned_get_attr_count;
-+		CMS_add_smimecap;
-+		PEM_read_CMS;
-+		CMS_signed_get_attr_by_OBJ;
-+		d2i_CMS_ContentInfo;
-+		CMS_add_standard_smimecap;
-+		CMS_ContentInfo_new;
-+		CMS_RecipientInfo_type;
-+		CMS_get0_type;
-+		CMS_is_detached;
-+		CMS_sign;
-+		CMS_signed_add1_attr;
-+		CMS_unsigned_get_attr_by_OBJ;
-+		SMIME_write_CMS;
-+		CMS_EncryptedData_decrypt;
-+		CMS_get0_RecipientInfos;
-+		CMS_add0_RevocationInfoChoice;
-+		CMS_decrypt_set1_pkey;
-+		CMS_SignerInfo_set1_signer_cert;
-+		CMS_get0_signers;
-+		CMS_ReceiptRequest_get0_values;
-+		CMS_signed_get0_data_by_OBJ;
-+		CMS_get0_SignerInfos;
-+		CMS_add0_cert;
-+		CMS_EncryptedData_encrypt;
-+		CMS_digest_verify;
-+		CMS_set1_signers_certs;
-+		CMS_signed_get_attr;
-+		CMS_RecipientInfo_set0_key;
-+		CMS_SignedData_init;
-+		CMS_RecipientInfo_kekri_get0_id;
-+		CMS_verify_receipt;
-+		CMS_ReceiptRequest_it;
-+		PEM_read_bio_CMS;
-+		CMS_get1_crls;
-+		CMS_add0_recipient_key;
-+		SMIME_read_ASN1;
-+		CMS_ReceiptRequest_new;
-+		CMS_get0_content;
-+		CMS_get1_ReceiptRequest;
-+		CMS_signed_add1_attr_by_OBJ;
-+		CMS_RecipientInfo_kekri_id_cmp;
-+		CMS_add1_ReceiptRequest;
-+		CMS_SignerInfo_get0_signer_id;
-+		CMS_unsigned_add1_attr_by_NID;
-+		CMS_unsigned_add1_attr;
-+		CMS_signed_get_attr_by_NID;
-+		CMS_get1_certs;
-+		CMS_signed_add1_attr_by_NID;
-+		CMS_unsigned_add1_attr_by_txt;
-+		CMS_dataFinal;
-+		CMS_RecipientInfo_ktri_get0_signer_id;
-+		CMS_RecipInfo_ktri_get0_sigr_id;
-+		i2d_CMS_ReceiptRequest;
-+		CMS_add1_recipient_cert;
-+		CMS_dataInit;
-+		CMS_signed_add1_attr_by_txt;
-+		CMS_RecipientInfo_decrypt;
-+		CMS_signed_get_attr_count;
-+		CMS_get0_eContentType;
-+		CMS_set1_eContentType;
-+		CMS_ReceiptRequest_create0;
-+		CMS_add1_signer;
-+		CMS_RecipientInfo_set0_pkey;
-+		ENGINE_set_load_ssl_client_cert_function;
-+		ENGINE_set_ld_ssl_clnt_cert_fn;
-+		ENGINE_get_ssl_client_cert_function;
-+		ENGINE_get_ssl_client_cert_fn;
-+		ENGINE_load_ssl_client_cert;
-+		ENGINE_load_capi;
-+		OPENSSL_isservice;
-+		FIPS_dsa_sig_decode;
-+		EVP_CIPHER_CTX_clear_flags;
-+		FIPS_rand_status;
-+		FIPS_rand_set_key;
-+		CRYPTO_set_mem_info_functions;
-+		RSA_X931_generate_key_ex;
-+		int_ERR_set_state_func;
-+		int_EVP_MD_set_engine_callbacks;
-+		int_CRYPTO_set_do_dynlock_callback;
-+		FIPS_rng_stick;
-+		EVP_CIPHER_CTX_set_flags;
-+		BN_X931_generate_prime_ex;
-+		FIPS_selftest_check;
-+		FIPS_rand_set_dt;
-+		CRYPTO_dbg_pop_info;
-+		FIPS_dsa_free;
-+		RSA_X931_derive_ex;
-+		FIPS_rsa_new;
-+		FIPS_rand_bytes;
-+		fips_cipher_test;
-+		EVP_CIPHER_CTX_test_flags;
-+		CRYPTO_malloc_debug_init;
-+		CRYPTO_dbg_push_info;
-+		FIPS_corrupt_rsa_keygen;
-+		FIPS_dh_new;
-+		FIPS_corrupt_dsa_keygen;
-+		FIPS_dh_free;
-+		fips_pkey_signature_test;
-+		EVP_add_alg_module;
-+		int_RAND_init_engine_callbacks;
-+		int_EVP_CIPHER_set_engine_callbacks;
-+		int_EVP_MD_init_engine_callbacks;
-+		FIPS_rand_test_mode;
-+		FIPS_rand_reset;
-+		FIPS_dsa_new;
-+		int_RAND_set_callbacks;
-+		BN_X931_derive_prime_ex;
-+		int_ERR_lib_init;
-+		int_EVP_CIPHER_init_engine_callbacks;
-+		FIPS_rsa_free;
-+		FIPS_dsa_sig_encode;
-+		CRYPTO_dbg_remove_all_info;
-+		OPENSSL_init;
-+		CRYPTO_strdup;
-+		JPAKE_STEP3A_process;
-+		JPAKE_STEP1_release;
-+		JPAKE_get_shared_key;
-+		JPAKE_STEP3B_init;
-+		JPAKE_STEP1_generate;
-+		JPAKE_STEP1_init;
-+		JPAKE_STEP3B_process;
-+		JPAKE_STEP2_generate;
-+		JPAKE_CTX_new;
-+		JPAKE_CTX_free;
-+		JPAKE_STEP3B_release;
-+		JPAKE_STEP3A_release;
-+		JPAKE_STEP2_process;
-+		JPAKE_STEP3B_generate;
-+		JPAKE_STEP1_process;
-+		JPAKE_STEP3A_generate;
-+		JPAKE_STEP2_release;
-+		JPAKE_STEP3A_init;
-+		ERR_load_JPAKE_strings;
-+		JPAKE_STEP2_init;
-+		pqueue_size;
-+		i2d_TS_ACCURACY;
-+		i2d_TS_MSG_IMPRINT_fp;
-+		i2d_TS_MSG_IMPRINT;
-+		EVP_PKEY_print_public;
-+		EVP_PKEY_CTX_new;
-+		i2d_TS_TST_INFO;
-+		EVP_PKEY_asn1_find;
-+		DSO_METHOD_beos;
-+		TS_CONF_load_cert;
-+		TS_REQ_get_ext;
-+		EVP_PKEY_sign_init;
-+		ASN1_item_print;
-+		TS_TST_INFO_set_nonce;
-+		TS_RESP_dup;
-+		ENGINE_register_pkey_meths;
-+		EVP_PKEY_asn1_add0;
-+		PKCS7_add0_attrib_signing_time;
-+		i2d_TS_TST_INFO_fp;
-+		BIO_asn1_get_prefix;
-+		TS_TST_INFO_set_time;
-+		EVP_PKEY_meth_set_decrypt;
-+		EVP_PKEY_set_type_str;
-+		EVP_PKEY_CTX_get_keygen_info;
-+		TS_REQ_set_policy_id;
-+		d2i_TS_RESP_fp;
-+		ENGINE_get_pkey_asn1_meth_engine;
-+		ENGINE_get_pkey_asn1_meth_eng;
-+		WHIRLPOOL_Init;
-+		TS_RESP_set_status_info;
-+		EVP_PKEY_keygen;
-+		EVP_DigestSignInit;
-+		TS_ACCURACY_set_millis;
-+		TS_REQ_dup;
-+		GENERAL_NAME_dup;
-+		ASN1_SEQUENCE_ANY_it;
-+		WHIRLPOOL;
-+		X509_STORE_get1_crls;
-+		ENGINE_get_pkey_asn1_meth;
-+		EVP_PKEY_asn1_new;
-+		BIO_new_NDEF;
-+		ENGINE_get_pkey_meth;
-+		TS_MSG_IMPRINT_set_algo;
-+		i2d_TS_TST_INFO_bio;
-+		TS_TST_INFO_set_ordering;
-+		TS_TST_INFO_get_ext_by_OBJ;
-+		CRYPTO_THREADID_set_pointer;
-+		TS_CONF_get_tsa_section;
-+		SMIME_write_ASN1;
-+		TS_RESP_CTX_set_signer_key;
-+		EVP_PKEY_encrypt_old;
-+		EVP_PKEY_encrypt_init;
-+		CRYPTO_THREADID_cpy;
-+		ASN1_PCTX_get_cert_flags;
-+		i2d_ESS_SIGNING_CERT;
-+		TS_CONF_load_key;
-+		i2d_ASN1_SEQUENCE_ANY;
-+		d2i_TS_MSG_IMPRINT_bio;
-+		EVP_PKEY_asn1_set_public;
-+		b2i_PublicKey_bio;
-+		BIO_asn1_set_prefix;
-+		EVP_PKEY_new_mac_key;
-+		BIO_new_CMS;
-+		CRYPTO_THREADID_cmp;
-+		TS_REQ_ext_free;
-+		EVP_PKEY_asn1_set_free;
-+		EVP_PKEY_get0_asn1;
-+		d2i_NETSCAPE_X509;
-+		EVP_PKEY_verify_recover_init;
-+		EVP_PKEY_CTX_set_data;
-+		EVP_PKEY_keygen_init;
-+		TS_RESP_CTX_set_status_info;
-+		TS_MSG_IMPRINT_get_algo;
-+		TS_REQ_print_bio;
-+		EVP_PKEY_CTX_ctrl_str;
-+		EVP_PKEY_get_default_digest_nid;
-+		PEM_write_bio_PKCS7_stream;
-+		TS_MSG_IMPRINT_print_bio;
-+		BN_asc2bn;
-+		TS_REQ_get_policy_id;
-+		ENGINE_set_default_pkey_asn1_meths;
-+		ENGINE_set_def_pkey_asn1_meths;
-+		d2i_TS_ACCURACY;
-+		DSO_global_lookup;
-+		TS_CONF_set_tsa_name;
-+		i2d_ASN1_SET_ANY;
-+		ENGINE_load_gost;
-+		WHIRLPOOL_BitUpdate;
-+		ASN1_PCTX_get_flags;
-+		TS_TST_INFO_get_ext_by_NID;
-+		TS_RESP_new;
-+		ESS_CERT_ID_dup;
-+		TS_STATUS_INFO_dup;
-+		TS_REQ_delete_ext;
-+		EVP_DigestVerifyFinal;
-+		EVP_PKEY_print_params;
-+		i2d_CMS_bio_stream;
-+		TS_REQ_get_msg_imprint;
-+		OBJ_find_sigid_by_algs;
-+		TS_TST_INFO_get_serial;
-+		TS_REQ_get_nonce;
-+		X509_PUBKEY_set0_param;
-+		EVP_PKEY_CTX_set0_keygen_info;
-+		DIST_POINT_set_dpname;
-+		i2d_ISSUING_DIST_POINT;
-+		ASN1_SET_ANY_it;
-+		EVP_PKEY_CTX_get_data;
-+		TS_STATUS_INFO_print_bio;
-+		EVP_PKEY_derive_init;
-+		d2i_TS_TST_INFO;
-+		EVP_PKEY_asn1_add_alias;
-+		d2i_TS_RESP_bio;
-+		OTHERNAME_cmp;
-+		GENERAL_NAME_set0_value;
-+		PKCS7_RECIP_INFO_get0_alg;
-+		TS_RESP_CTX_new;
-+		TS_RESP_set_tst_info;
-+		PKCS7_final;
-+		EVP_PKEY_base_id;
-+		TS_RESP_CTX_set_signer_cert;
-+		TS_REQ_set_msg_imprint;
-+		EVP_PKEY_CTX_ctrl;
-+		TS_CONF_set_digests;
-+		d2i_TS_MSG_IMPRINT;
-+		EVP_PKEY_meth_set_ctrl;
-+		TS_REQ_get_ext_by_NID;
-+		PKCS5_pbe_set0_algor;
-+		BN_BLINDING_thread_id;
-+		TS_ACCURACY_new;
-+		X509_CRL_METHOD_free;
-+		ASN1_PCTX_get_nm_flags;
-+		EVP_PKEY_meth_set_sign;
-+		CRYPTO_THREADID_current;
-+		EVP_PKEY_decrypt_init;
-+		NETSCAPE_X509_free;
-+		i2b_PVK_bio;
-+		EVP_PKEY_print_private;
-+		GENERAL_NAME_get0_value;
-+		b2i_PVK_bio;
-+		ASN1_UTCTIME_adj;
-+		TS_TST_INFO_new;
-+		EVP_MD_do_all_sorted;
-+		TS_CONF_set_default_engine;
-+		TS_ACCURACY_set_seconds;
-+		TS_TST_INFO_get_time;
-+		PKCS8_pkey_get0;
-+		EVP_PKEY_asn1_get0;
-+		OBJ_add_sigid;
-+		PKCS7_SIGNER_INFO_sign;
-+		EVP_PKEY_paramgen_init;
-+		EVP_PKEY_sign;
-+		OBJ_sigid_free;
-+		EVP_PKEY_meth_set_init;
-+		d2i_ESS_ISSUER_SERIAL;
-+		ISSUING_DIST_POINT_new;
-+		ASN1_TIME_adj;
-+		TS_OBJ_print_bio;
-+		EVP_PKEY_meth_set_verify_recover;
-+		EVP_PKEY_meth_set_vrfy_recover;
-+		TS_RESP_get_status_info;
-+		CMS_stream;
-+		EVP_PKEY_CTX_set_cb;
-+		PKCS7_to_TS_TST_INFO;
-+		ASN1_PCTX_get_oid_flags;
-+		TS_TST_INFO_add_ext;
-+		EVP_PKEY_meth_set_derive;
-+		i2d_TS_RESP_fp;
-+		i2d_TS_MSG_IMPRINT_bio;
-+		TS_RESP_CTX_set_accuracy;
-+		TS_REQ_set_nonce;
-+		ESS_CERT_ID_new;
-+		ENGINE_pkey_asn1_find_str;
-+		TS_REQ_get_ext_count;
-+		BUF_reverse;
-+		TS_TST_INFO_print_bio;
-+		d2i_ISSUING_DIST_POINT;
-+		ENGINE_get_pkey_meths;
-+		i2b_PrivateKey_bio;
-+		i2d_TS_RESP;
-+		b2i_PublicKey;
-+		TS_VERIFY_CTX_cleanup;
-+		TS_STATUS_INFO_free;
-+		TS_RESP_verify_token;
-+		OBJ_bsearch_ex_;
-+		ASN1_bn_print;
-+		EVP_PKEY_asn1_get_count;
-+		ENGINE_register_pkey_asn1_meths;
-+		ASN1_PCTX_set_nm_flags;
-+		EVP_DigestVerifyInit;
-+		ENGINE_set_default_pkey_meths;
-+		TS_TST_INFO_get_policy_id;
-+		TS_REQ_get_cert_req;
-+		X509_CRL_set_meth_data;
-+		PKCS8_pkey_set0;
-+		ASN1_STRING_copy;
-+		d2i_TS_TST_INFO_fp;
-+		X509_CRL_match;
-+		EVP_PKEY_asn1_set_private;
-+		TS_TST_INFO_get_ext_d2i;
-+		TS_RESP_CTX_add_policy;
-+		d2i_TS_RESP;
-+		TS_CONF_load_certs;
-+		TS_TST_INFO_get_msg_imprint;
-+		ERR_load_TS_strings;
-+		TS_TST_INFO_get_version;
-+		EVP_PKEY_CTX_dup;
-+		EVP_PKEY_meth_set_verify;
-+		i2b_PublicKey_bio;
-+		TS_CONF_set_certs;
-+		EVP_PKEY_asn1_get0_info;
-+		TS_VERIFY_CTX_free;
-+		TS_REQ_get_ext_by_critical;
-+		TS_RESP_CTX_set_serial_cb;
-+		X509_CRL_get_meth_data;
-+		TS_RESP_CTX_set_time_cb;
-+		TS_MSG_IMPRINT_get_msg;
-+		TS_TST_INFO_ext_free;
-+		TS_REQ_get_version;
-+		TS_REQ_add_ext;
-+		EVP_PKEY_CTX_set_app_data;
-+		OBJ_bsearch_;
-+		EVP_PKEY_meth_set_verifyctx;
-+		i2d_PKCS7_bio_stream;
-+		CRYPTO_THREADID_set_numeric;
-+		PKCS7_sign_add_signer;
-+		d2i_TS_TST_INFO_bio;
-+		TS_TST_INFO_get_ordering;
-+		TS_RESP_print_bio;
-+		TS_TST_INFO_get_exts;
-+		HMAC_CTX_copy;
-+		PKCS5_pbe2_set_iv;
-+		ENGINE_get_pkey_asn1_meths;
-+		b2i_PrivateKey;
-+		EVP_PKEY_CTX_get_app_data;
-+		TS_REQ_set_cert_req;
-+		CRYPTO_THREADID_set_callback;
-+		TS_CONF_set_serial;
-+		TS_TST_INFO_free;
-+		d2i_TS_REQ_fp;
-+		TS_RESP_verify_response;
-+		i2d_ESS_ISSUER_SERIAL;
-+		TS_ACCURACY_get_seconds;
-+		EVP_CIPHER_do_all;
-+		b2i_PrivateKey_bio;
-+		OCSP_CERTID_dup;
-+		X509_PUBKEY_get0_param;
-+		TS_MSG_IMPRINT_dup;
-+		PKCS7_print_ctx;
-+		i2d_TS_REQ_bio;
-+		EVP_whirlpool;
-+		EVP_PKEY_asn1_set_param;
-+		EVP_PKEY_meth_set_encrypt;
-+		ASN1_PCTX_set_flags;
-+		i2d_ESS_CERT_ID;
-+		TS_VERIFY_CTX_new;
-+		TS_RESP_CTX_set_extension_cb;
-+		ENGINE_register_all_pkey_meths;
-+		TS_RESP_CTX_set_status_info_cond;
-+		TS_RESP_CTX_set_stat_info_cond;
-+		EVP_PKEY_verify;
-+		WHIRLPOOL_Final;
-+		X509_CRL_METHOD_new;
-+		EVP_DigestSignFinal;
-+		TS_RESP_CTX_set_def_policy;
-+		NETSCAPE_X509_it;
-+		TS_RESP_create_response;
-+		PKCS7_SIGNER_INFO_get0_algs;
-+		TS_TST_INFO_get_nonce;
-+		EVP_PKEY_decrypt_old;
-+		TS_TST_INFO_set_policy_id;
-+		TS_CONF_set_ess_cert_id_chain;
-+		EVP_PKEY_CTX_get0_pkey;
-+		d2i_TS_REQ;
-+		EVP_PKEY_asn1_find_str;
-+		BIO_f_asn1;
-+		ESS_SIGNING_CERT_new;
-+		EVP_PBE_find;
-+		X509_CRL_get0_by_cert;
-+		EVP_PKEY_derive;
-+		i2d_TS_REQ;
-+		TS_TST_INFO_delete_ext;
-+		ESS_ISSUER_SERIAL_free;
-+		ASN1_PCTX_set_str_flags;
-+		ENGINE_get_pkey_asn1_meth_str;
-+		TS_CONF_set_signer_key;
-+		TS_ACCURACY_get_millis;
-+		TS_RESP_get_token;
-+		TS_ACCURACY_dup;
-+		ENGINE_register_all_pkey_asn1_meths;
-+		ENGINE_reg_all_pkey_asn1_meths;
-+		X509_CRL_set_default_method;
-+		CRYPTO_THREADID_hash;
-+		CMS_ContentInfo_print_ctx;
-+		TS_RESP_free;
-+		ISSUING_DIST_POINT_free;
-+		ESS_ISSUER_SERIAL_new;
-+		CMS_add1_crl;
-+		PKCS7_add1_attrib_digest;
-+		TS_RESP_CTX_add_md;
-+		TS_TST_INFO_dup;
-+		ENGINE_set_pkey_asn1_meths;
-+		PEM_write_bio_Parameters;
-+		TS_TST_INFO_get_accuracy;
-+		X509_CRL_get0_by_serial;
-+		TS_TST_INFO_set_version;
-+		TS_RESP_CTX_get_tst_info;
-+		TS_RESP_verify_signature;
-+		CRYPTO_THREADID_get_callback;
-+		TS_TST_INFO_get_tsa;
-+		TS_STATUS_INFO_new;
-+		EVP_PKEY_CTX_get_cb;
-+		TS_REQ_get_ext_d2i;
-+		GENERAL_NAME_set0_othername;
-+		TS_TST_INFO_get_ext_count;
-+		TS_RESP_CTX_get_request;
-+		i2d_NETSCAPE_X509;
-+		ENGINE_get_pkey_meth_engine;
-+		EVP_PKEY_meth_set_signctx;
-+		EVP_PKEY_asn1_copy;
-+		ASN1_TYPE_cmp;
-+		EVP_CIPHER_do_all_sorted;
-+		EVP_PKEY_CTX_free;
-+		ISSUING_DIST_POINT_it;
-+		d2i_TS_MSG_IMPRINT_fp;
-+		X509_STORE_get1_certs;
-+		EVP_PKEY_CTX_get_operation;
-+		d2i_ESS_SIGNING_CERT;
-+		TS_CONF_set_ordering;
-+		EVP_PBE_alg_add_type;
-+		TS_REQ_set_version;
-+		EVP_PKEY_get0;
-+		BIO_asn1_set_suffix;
-+		i2d_TS_STATUS_INFO;
-+		EVP_MD_do_all;
-+		TS_TST_INFO_set_accuracy;
-+		PKCS7_add_attrib_content_type;
-+		ERR_remove_thread_state;
-+		EVP_PKEY_meth_add0;
-+		TS_TST_INFO_set_tsa;
-+		EVP_PKEY_meth_new;
-+		WHIRLPOOL_Update;
-+		TS_CONF_set_accuracy;
-+		ASN1_PCTX_set_oid_flags;
-+		ESS_SIGNING_CERT_dup;
-+		d2i_TS_REQ_bio;
-+		X509_time_adj_ex;
-+		TS_RESP_CTX_add_flags;
-+		d2i_TS_STATUS_INFO;
-+		TS_MSG_IMPRINT_set_msg;
-+		BIO_asn1_get_suffix;
-+		TS_REQ_free;
-+		EVP_PKEY_meth_free;
-+		TS_REQ_get_exts;
-+		TS_RESP_CTX_set_clock_precision_digits;
-+		TS_RESP_CTX_set_clk_prec_digits;
-+		TS_RESP_CTX_add_failure_info;
-+		i2d_TS_RESP_bio;
-+		EVP_PKEY_CTX_get0_peerkey;
-+		PEM_write_bio_CMS_stream;
-+		TS_REQ_new;
-+		TS_MSG_IMPRINT_new;
-+		EVP_PKEY_meth_find;
-+		EVP_PKEY_id;
-+		TS_TST_INFO_set_serial;
-+		a2i_GENERAL_NAME;
-+		TS_CONF_set_crypto_device;
-+		EVP_PKEY_verify_init;
-+		TS_CONF_set_policies;
-+		ASN1_PCTX_new;
-+		ESS_CERT_ID_free;
-+		ENGINE_unregister_pkey_meths;
-+		TS_MSG_IMPRINT_free;
-+		TS_VERIFY_CTX_init;
-+		PKCS7_stream;
-+		TS_RESP_CTX_set_certs;
-+		TS_CONF_set_def_policy;
-+		ASN1_GENERALIZEDTIME_adj;
-+		NETSCAPE_X509_new;
-+		TS_ACCURACY_free;
-+		TS_RESP_get_tst_info;
-+		EVP_PKEY_derive_set_peer;
-+		PEM_read_bio_Parameters;
-+		TS_CONF_set_clock_precision_digits;
-+		TS_CONF_set_clk_prec_digits;
-+		ESS_ISSUER_SERIAL_dup;
-+		TS_ACCURACY_get_micros;
-+		ASN1_PCTX_get_str_flags;
-+		NAME_CONSTRAINTS_check;
-+		ASN1_BIT_STRING_check;
-+		X509_check_akid;
-+		ENGINE_unregister_pkey_asn1_meths;
-+		ENGINE_unreg_pkey_asn1_meths;
-+		ASN1_PCTX_free;
-+		PEM_write_bio_ASN1_stream;
-+		i2d_ASN1_bio_stream;
-+		TS_X509_ALGOR_print_bio;
-+		EVP_PKEY_meth_set_cleanup;
-+		EVP_PKEY_asn1_free;
-+		ESS_SIGNING_CERT_free;
-+		TS_TST_INFO_set_msg_imprint;
-+		GENERAL_NAME_cmp;
-+		d2i_ASN1_SET_ANY;
-+		ENGINE_set_pkey_meths;
-+		i2d_TS_REQ_fp;
-+		d2i_ASN1_SEQUENCE_ANY;
-+		GENERAL_NAME_get0_otherName;
-+		d2i_ESS_CERT_ID;
-+		OBJ_find_sigid_algs;
-+		EVP_PKEY_meth_set_keygen;
-+		PKCS5_PBKDF2_HMAC;
-+		EVP_PKEY_paramgen;
-+		EVP_PKEY_meth_set_paramgen;
-+		BIO_new_PKCS7;
-+		EVP_PKEY_verify_recover;
-+		TS_ext_print_bio;
-+		TS_ASN1_INTEGER_print_bio;
-+		check_defer;
-+		DSO_pathbyaddr;
-+		EVP_PKEY_set_type;
-+		TS_ACCURACY_set_micros;
-+		TS_REQ_to_TS_VERIFY_CTX;
-+		EVP_PKEY_meth_set_copy;
-+		ASN1_PCTX_set_cert_flags;
-+		TS_TST_INFO_get_ext;
-+		EVP_PKEY_asn1_set_ctrl;
-+		TS_TST_INFO_get_ext_by_critical;
-+		EVP_PKEY_CTX_new_id;
-+		TS_REQ_get_ext_by_OBJ;
-+		TS_CONF_set_signer_cert;
-+		X509_NAME_hash_old;
-+		ASN1_TIME_set_string;
-+		EVP_MD_flags;
-+		TS_RESP_CTX_free;
-+		DSAparams_dup;
-+		DHparams_dup;
-+		OCSP_REQ_CTX_add1_header;
-+		OCSP_REQ_CTX_set1_req;
-+		X509_STORE_set_verify_cb;
-+		X509_STORE_CTX_get0_current_crl;
-+		X509_STORE_CTX_get0_parent_ctx;
-+		X509_STORE_CTX_get0_current_issuer;
-+		X509_STORE_CTX_get0_cur_issuer;
-+		X509_issuer_name_hash_old;
-+		X509_subject_name_hash_old;
-+		EVP_CIPHER_CTX_copy;
-+		UI_method_get_prompt_constructor;
-+		UI_method_get_prompt_constructr;
-+		UI_method_set_prompt_constructor;
-+		UI_method_set_prompt_constructr;
-+		EVP_read_pw_string_min;
-+		CRYPTO_cts128_encrypt;
-+		CRYPTO_cts128_decrypt_block;
-+		CRYPTO_cfb128_1_encrypt;
-+		CRYPTO_cbc128_encrypt;
-+		CRYPTO_ctr128_encrypt;
-+		CRYPTO_ofb128_encrypt;
-+		CRYPTO_cts128_decrypt;
-+		CRYPTO_cts128_encrypt_block;
-+		CRYPTO_cbc128_decrypt;
-+		CRYPTO_cfb128_encrypt;
-+		CRYPTO_cfb128_8_encrypt;
-+		SSL_renegotiate_abbreviated;
-+		TLSv1_1_method;
-+		TLSv1_1_client_method;
-+		TLSv1_1_server_method;
-+		SSL_CTX_set_srp_client_pwd_callback;
-+		SSL_CTX_set_srp_client_pwd_cb;
-+		SSL_get_srp_g;
-+		SSL_CTX_set_srp_username_callback;
-+		SSL_CTX_set_srp_un_cb;
-+		SSL_get_srp_userinfo;
-+		SSL_set_srp_server_param;
-+		SSL_set_srp_server_param_pw;
-+		SSL_get_srp_N;
-+		SSL_get_srp_username;
-+		SSL_CTX_set_srp_password;
-+		SSL_CTX_set_srp_strength;
-+		SSL_CTX_set_srp_verify_param_callback;
-+		SSL_CTX_set_srp_vfy_param_cb;
-+		SSL_CTX_set_srp_cb_arg;
-+		SSL_CTX_set_srp_username;
-+		SSL_CTX_SRP_CTX_init;
-+		SSL_SRP_CTX_init;
-+		SRP_Calc_A_param;
-+		SRP_generate_server_master_secret;
-+		SRP_gen_server_master_secret;
-+		SSL_CTX_SRP_CTX_free;
-+		SRP_generate_client_master_secret;
-+		SRP_gen_client_master_secret;
-+		SSL_srp_server_param_with_username;
-+		SSL_srp_server_param_with_un;
-+		SSL_SRP_CTX_free;
-+		SSL_set_debug;
-+		SSL_SESSION_get0_peer;
-+		TLSv1_2_client_method;
-+		SSL_SESSION_set1_id_context;
-+		TLSv1_2_server_method;
-+		SSL_cache_hit;
-+		SSL_get0_kssl_ctx;
-+		SSL_set0_kssl_ctx;
-+		SSL_set_state;
-+		SSL_CIPHER_get_id;
-+		TLSv1_2_method;
-+		kssl_ctx_get0_client_princ;
-+		SSL_export_keying_material;
-+		SSL_set_tlsext_use_srtp;
-+		SSL_CTX_set_next_protos_advertised_cb;
-+		SSL_CTX_set_next_protos_adv_cb;
-+		SSL_get0_next_proto_negotiated;
-+		SSL_get_selected_srtp_profile;
-+		SSL_CTX_set_tlsext_use_srtp;
-+		SSL_select_next_proto;
-+		SSL_get_srtp_profiles;
-+		SSL_CTX_set_next_proto_select_cb;
-+		SSL_CTX_set_next_proto_sel_cb;
-+		SSL_SESSION_get_compress_id;
-+
-+		SRP_VBASE_get_by_user;
-+		SRP_Calc_server_key;
-+		SRP_create_verifier;
-+		SRP_create_verifier_BN;
-+		SRP_Calc_u;
-+		SRP_VBASE_free;
-+		SRP_Calc_client_key;
-+		SRP_get_default_gN;
-+		SRP_Calc_x;
-+		SRP_Calc_B;
-+		SRP_VBASE_new;
-+		SRP_check_known_gN_param;
-+		SRP_Calc_A;
-+		SRP_Verify_A_mod_N;
-+		SRP_VBASE_init;
-+		SRP_Verify_B_mod_N;
-+		EC_KEY_set_public_key_affine_coordinates;
-+		EC_KEY_set_pub_key_aff_coords;
-+		EVP_aes_192_ctr;
-+		EVP_PKEY_meth_get0_info;
-+		EVP_PKEY_meth_copy;
-+		ERR_add_error_vdata;
-+		EVP_aes_128_ctr;
-+		EVP_aes_256_ctr;
-+		EC_GFp_nistp224_method;
-+		EC_KEY_get_flags;
-+		RSA_padding_add_PKCS1_PSS_mgf1;
-+		EVP_aes_128_xts;
-+		EVP_aes_256_xts;
-+		EVP_aes_128_gcm;
-+		EC_KEY_clear_flags;
-+		EC_KEY_set_flags;
-+		EVP_aes_256_ccm;
-+		RSA_verify_PKCS1_PSS_mgf1;
-+		EVP_aes_128_ccm;
-+		EVP_aes_192_gcm;
-+		X509_ALGOR_set_md;
-+		RAND_init_fips;
-+		EVP_aes_256_gcm;
-+		EVP_aes_192_ccm;
-+		CMAC_CTX_copy;
-+		CMAC_CTX_free;
-+		CMAC_CTX_get0_cipher_ctx;
-+		CMAC_CTX_cleanup;
-+		CMAC_Init;
-+		CMAC_Update;
-+		CMAC_resume;
-+		CMAC_CTX_new;
-+		CMAC_Final;
-+		CRYPTO_ctr128_encrypt_ctr32;
-+		CRYPTO_gcm128_release;
-+		CRYPTO_ccm128_decrypt_ccm64;
-+		CRYPTO_ccm128_encrypt;
-+		CRYPTO_gcm128_encrypt;
-+		CRYPTO_xts128_encrypt;
-+		EVP_rc4_hmac_md5;
-+		CRYPTO_nistcts128_decrypt_block;
-+		CRYPTO_gcm128_setiv;
-+		CRYPTO_nistcts128_encrypt;
-+		EVP_aes_128_cbc_hmac_sha1;
-+		CRYPTO_gcm128_tag;
-+		CRYPTO_ccm128_encrypt_ccm64;
-+		ENGINE_load_rdrand;
-+		CRYPTO_ccm128_setiv;
-+		CRYPTO_nistcts128_encrypt_block;
-+		CRYPTO_gcm128_aad;
-+		CRYPTO_ccm128_init;
-+		CRYPTO_nistcts128_decrypt;
-+		CRYPTO_gcm128_new;
-+		CRYPTO_ccm128_tag;
-+		CRYPTO_ccm128_decrypt;
-+		CRYPTO_ccm128_aad;
-+		CRYPTO_gcm128_init;
-+		CRYPTO_gcm128_decrypt;
-+		ENGINE_load_rsax;
-+		CRYPTO_gcm128_decrypt_ctr32;
-+		CRYPTO_gcm128_encrypt_ctr32;
-+		CRYPTO_gcm128_finish;
-+		EVP_aes_256_cbc_hmac_sha1;
-+		PKCS5_pbkdf2_set;
-+		CMS_add0_recipient_password;
-+		CMS_decrypt_set1_password;
-+		CMS_RecipientInfo_set0_password;
-+		RAND_set_fips_drbg_type;
-+		X509_REQ_sign_ctx;
-+		RSA_PSS_PARAMS_new;
-+		X509_CRL_sign_ctx;
-+		X509_signature_dump;
-+		d2i_RSA_PSS_PARAMS;
-+		RSA_PSS_PARAMS_it;
-+		RSA_PSS_PARAMS_free;
-+		X509_sign_ctx;
-+		i2d_RSA_PSS_PARAMS;
-+		ASN1_item_sign_ctx;
-+		EC_GFp_nistp521_method;
-+		EC_GFp_nistp256_method;
-+		OPENSSL_stderr;
-+		OPENSSL_cpuid_setup;
-+		OPENSSL_showfatal;
-+		BIO_new_dgram_sctp;
-+		BIO_dgram_sctp_msg_waiting;
-+		BIO_dgram_sctp_wait_for_dry;
-+		BIO_s_datagram_sctp;
-+		BIO_dgram_is_sctp;
-+		BIO_dgram_sctp_notification_cb;
-+		CRYPTO_memcmp;
-+		SSL_CTX_set_alpn_protos;
-+		SSL_set_alpn_protos;
-+		SSL_CTX_set_alpn_select_cb;
-+		SSL_get0_alpn_selected;
-+		SSL_CTX_set_custom_cli_ext;
-+		SSL_CTX_set_custom_srv_ext;
-+		SSL_CTX_set_srv_supp_data;
-+		SSL_CTX_set_cli_supp_data;
-+		SSL_set_cert_cb;
-+		SSL_CTX_use_serverinfo;
-+		SSL_CTX_use_serverinfo_file;
-+		SSL_CTX_set_cert_cb;
-+		SSL_CTX_get0_param;
-+		SSL_get0_param;
-+		SSL_certs_clear;
-+		DTLSv1_2_method;
-+		DTLSv1_2_server_method;
-+		DTLSv1_2_client_method;
-+		DTLS_method;
-+		DTLS_server_method;
-+		DTLS_client_method;
-+		SSL_CTX_get_ssl_method;
-+		SSL_CTX_get0_certificate;
-+		SSL_CTX_get0_privatekey;
-+		SSL_COMP_set0_compression_methods;
-+		SSL_COMP_free_compression_methods;
-+		SSL_CIPHER_find;
-+		SSL_is_server;
-+		SSL_CONF_CTX_new;
-+		SSL_CONF_CTX_finish;
-+		SSL_CONF_CTX_free;
-+		SSL_CONF_CTX_set_flags;
-+		SSL_CONF_CTX_clear_flags;
-+		SSL_CONF_CTX_set1_prefix;
-+		SSL_CONF_CTX_set_ssl;
-+		SSL_CONF_CTX_set_ssl_ctx;
-+		SSL_CONF_cmd;
-+		SSL_CONF_cmd_argv;
-+		SSL_CONF_cmd_value_type;
-+		SSL_trace;
-+		SSL_CIPHER_standard_name;
-+		SSL_get_tlsa_record_byname;
-+		ASN1_TIME_diff;
-+		BIO_hex_string;
-+		CMS_RecipientInfo_get0_pkey_ctx;
-+		CMS_RecipientInfo_encrypt;
-+		CMS_SignerInfo_get0_pkey_ctx;
-+		CMS_SignerInfo_get0_md_ctx;
-+		CMS_SignerInfo_get0_signature;
-+		CMS_RecipientInfo_kari_get0_alg;
-+		CMS_RecipientInfo_kari_get0_reks;
-+		CMS_RecipientInfo_kari_get0_orig_id;
-+		CMS_RecipientInfo_kari_orig_id_cmp;
-+		CMS_RecipientEncryptedKey_get0_id;
-+		CMS_RecipientEncryptedKey_cert_cmp;
-+		CMS_RecipientInfo_kari_set0_pkey;
-+		CMS_RecipientInfo_kari_get0_ctx;
-+		CMS_RecipientInfo_kari_decrypt;
-+		CMS_SharedInfo_encode;
-+		DH_compute_key_padded;
-+		d2i_DHxparams;
-+		i2d_DHxparams;
-+		DH_get_1024_160;
-+		DH_get_2048_224;
-+		DH_get_2048_256;
-+		DH_KDF_X9_42;
-+		ECDH_KDF_X9_62;
-+		ECDSA_METHOD_new;
-+		ECDSA_METHOD_free;
-+		ECDSA_METHOD_set_app_data;
-+		ECDSA_METHOD_get_app_data;
-+		ECDSA_METHOD_set_sign;
-+		ECDSA_METHOD_set_sign_setup;
-+		ECDSA_METHOD_set_verify;
-+		ECDSA_METHOD_set_flags;
-+		ECDSA_METHOD_set_name;
-+		EVP_des_ede3_wrap;
-+		EVP_aes_128_wrap;
-+		EVP_aes_192_wrap;
-+		EVP_aes_256_wrap;
-+		EVP_aes_128_cbc_hmac_sha256;
-+		EVP_aes_256_cbc_hmac_sha256;
-+		CRYPTO_128_wrap;
-+		CRYPTO_128_unwrap;
-+		OCSP_REQ_CTX_nbio;
-+		OCSP_REQ_CTX_new;
-+		OCSP_set_max_response_length;
-+		OCSP_REQ_CTX_i2d;
-+		OCSP_REQ_CTX_nbio_d2i;
-+		OCSP_REQ_CTX_get0_mem_bio;
-+		OCSP_REQ_CTX_http;
-+		RSA_padding_add_PKCS1_OAEP_mgf1;
-+		RSA_padding_check_PKCS1_OAEP_mgf1;
-+		RSA_OAEP_PARAMS_free;
-+		RSA_OAEP_PARAMS_it;
-+		RSA_OAEP_PARAMS_new;
-+		SSL_get_sigalgs;
-+		SSL_get_shared_sigalgs;
-+		SSL_check_chain;
-+		X509_chain_up_ref;
-+		X509_http_nbio;
-+		X509_CRL_http_nbio;
-+		X509_REVOKED_dup;
-+		i2d_re_X509_tbs;
-+		X509_get0_signature;
-+		X509_get_signature_nid;
-+		X509_CRL_diff;
-+		X509_chain_check_suiteb;
-+		X509_CRL_check_suiteb;
-+		X509_check_host;
-+		X509_check_email;
-+		X509_check_ip;
-+		X509_check_ip_asc;
-+		X509_STORE_set_lookup_crls_cb;
-+		X509_STORE_CTX_get0_store;
-+		X509_VERIFY_PARAM_set1_host;
-+		X509_VERIFY_PARAM_add1_host;
-+		X509_VERIFY_PARAM_set_hostflags;
-+		X509_VERIFY_PARAM_get0_peername;
-+		X509_VERIFY_PARAM_set1_email;
-+		X509_VERIFY_PARAM_set1_ip;
-+		X509_VERIFY_PARAM_set1_ip_asc;
-+		X509_VERIFY_PARAM_get0_name;
-+		X509_VERIFY_PARAM_get_count;
-+		X509_VERIFY_PARAM_get0;
-+		X509V3_EXT_free;
-+		EC_GROUP_get_mont_data;
-+		EC_curve_nid2nist;
-+		EC_curve_nist2nid;
-+		PEM_write_bio_DHxparams;
-+		PEM_write_DHxparams;
-+		SSL_CTX_add_client_custom_ext;
-+		SSL_CTX_add_server_custom_ext;
-+		SSL_extension_supported;
-+		BUF_strnlen;
-+		sk_deep_copy;
-+		SSL_test_functions;
-+
-+	local:
-+		*;
-+};
-+
-+OPENSSL_1.0.2g {
-+       global:
-+               SRP_VBASE_get1_by_user;
-+               SRP_user_pwd_free;
-+} OPENSSL_1.0.2d;
-+
-Index: openssl-1.0.2~beta1.obsolete.0.0498436515490575/engines/openssl.ld
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ openssl-1.0.2~beta1.obsolete.0.0498436515490575/engines/openssl.ld	2014-02-24 21:02:30.000000000 +0100
-@@ -0,0 +1,10 @@
-+OPENSSL_1.0.2 {
-+	global:
-+		bind_engine;
-+		v_check;
-+		OPENSSL_init;
-+		OPENSSL_finish;
-+	local:
-+		*;
-+};
-+
-Index: openssl-1.0.2~beta1.obsolete.0.0498436515490575/engines/ccgost/openssl.ld
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ openssl-1.0.2~beta1.obsolete.0.0498436515490575/engines/ccgost/openssl.ld	2014-02-24 21:02:30.000000000 +0100
-@@ -0,0 +1,10 @@
-+OPENSSL_1.0.2 {
-+	global:
-+		bind_engine;
-+		v_check;
-+		OPENSSL_init;
-+		OPENSSL_finish;
-+	local:
-+		*;
-+};
-+
diff --git a/recipes-connectivity/openssl/openssl-qoriq/fix-cipher-des-ede3-cfb1.patch b/recipes-connectivity/openssl/openssl-qoriq/fix-cipher-des-ede3-cfb1.patch
index 2a318a4..06d1ea6 100644
--- a/recipes-connectivity/openssl/openssl-qoriq/fix-cipher-des-ede3-cfb1.patch
+++ b/recipes-connectivity/openssl/openssl-qoriq/fix-cipher-des-ede3-cfb1.patch
@@ -4,7 +4,7 @@ This patch adds the fix for one of the ciphers used in openssl, namely
 the cipher des-ede3-cfb1. Complete bug log and patch is present here:
 http://rt.openssl.org/Ticket/Display.html?id=2867
 
-Signed-off-by: Muhammad Shakeel <muhammad_shakeel@mentor.com>
+Signed-Off-By: Muhammad Shakeel <muhammad_shakeel@mentor.com>
 
 Index: openssl-1.0.2/crypto/evp/e_des3.c
 ===================================================================
diff --git a/recipes-connectivity/openssl/openssl-qoriq/no-rpath.patch b/recipes-connectivity/openssl/openssl-qoriq/no-rpath.patch
new file mode 100644
index 0000000..1ccb3b8
--- /dev/null
+++ b/recipes-connectivity/openssl/openssl-qoriq/no-rpath.patch
@@ -0,0 +1,15 @@
+Upstream-Status: Backport [debian]
+
+Index: openssl-1.0.0c/Makefile.shared
+===================================================================
+--- openssl-1.0.0c.orig/Makefile.shared	2010-08-21 13:36:49.000000000 +0200
++++ openssl-1.0.0c/Makefile.shared	2010-12-12 16:13:36.000000000 +0100
+@@ -153,7 +153,7 @@
+ 	NOALLSYMSFLAGS='-Wl,--no-whole-archive'; \
+ 	SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared -Wl,-Bsymbolic -Wl,-soname=$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX"
+ 
+-DO_GNU_APP=LDFLAGS="$(CFLAGS) -Wl,-rpath,$(LIBRPATH)"
++DO_GNU_APP=LDFLAGS="$(CFLAGS)"
+ 
+ #This is rather special.  It's a special target with which one can link
+ #applications without bothering with any features that have anything to
diff --git a/recipes-connectivity/openssl/openssl-qoriq/openssl-avoid-NULL-pointer-dereference-in-EVP_DigestInit_ex.patch b/recipes-connectivity/openssl/openssl-qoriq/openssl-avoid-NULL-pointer-dereference-in-EVP_DigestInit_ex.patch
deleted file mode 100644
index f736e5c..0000000
--- a/recipes-connectivity/openssl/openssl-qoriq/openssl-avoid-NULL-pointer-dereference-in-EVP_DigestInit_ex.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-openssl: avoid NULL pointer dereference in EVP_DigestInit_ex()
-
-We should avoid accessing the type pointer if it's NULL,
-this could happen if ctx->digest is not NULL.
-
-Upstream-Status: Submitted
-http://www.mail-archive.com/openssl-dev@openssl.org/msg32860.html
-
-Signed-off-by: Xufeng Zhang <xufeng.zhang@windriver.com>
----
-Index: openssl-1.0.2h/crypto/evp/digest.c
-===================================================================
---- openssl-1.0.2h.orig/crypto/evp/digest.c
-+++ openssl-1.0.2h/crypto/evp/digest.c
-@@ -211,7 +211,7 @@ int EVP_DigestInit_ex(EVP_MD_CTX *ctx, c
-         type = ctx->digest;
-     }
- #endif
--    if (ctx->digest != type) {
-+    if (type && (ctx->digest != type)) {
-         if (ctx->digest && ctx->digest->ctx_size) {
-             OPENSSL_free(ctx->md_data);
-             ctx->md_data = NULL;
diff --git a/recipes-connectivity/openssl/openssl-qoriq/openssl-c_rehash.sh b/recipes-connectivity/openssl/openssl-qoriq/openssl-c_rehash.sh
deleted file mode 100644
index f67f415..0000000
--- a/recipes-connectivity/openssl/openssl-qoriq/openssl-c_rehash.sh
+++ /dev/null
@@ -1,210 +0,0 @@
-#!/bin/sh
-#
-# Ben Secrest <blsecres@gmail.com>
-#
-# sh c_rehash script, scan all files in a directory
-# and add symbolic links to their hash values.
-#
-# based on the c_rehash perl script distributed with openssl
-#
-# LICENSE: See OpenSSL license
-# ^^acceptable?^^
-#
-
-# default certificate location
-DIR=/etc/openssl
-
-# for filetype bitfield
-IS_CERT=$(( 1 << 0 ))
-IS_CRL=$(( 1 << 1 ))
-
-
-# check to see if a file is a certificate file or a CRL file
-# arguments:
-#       1. the filename to be scanned
-# returns:
-#       bitfield of file type; uses ${IS_CERT} and ${IS_CRL}
-#
-check_file()
-{
-    local IS_TYPE=0
-
-    # make IFS a newline so we can process grep output line by line
-    local OLDIFS=${IFS}
-    IFS=$( printf "\n" )
-
-    # XXX: could be more efficient to have two 'grep -m' but is -m portable?
-    for LINE in $( grep '^-----BEGIN .*-----' ${1} )
-    do
-	if echo ${LINE} \
-	    | grep -q -E '^-----BEGIN (X509 |TRUSTED )?CERTIFICATE-----'
-	then
-	    IS_TYPE=$(( ${IS_TYPE} | ${IS_CERT} ))
-
-	    if [ $(( ${IS_TYPE} & ${IS_CRL} )) -ne 0 ]
-	    then
-	    	break
-	    fi
-	elif echo ${LINE} | grep -q '^-----BEGIN X509 CRL-----'
-	then
-	    IS_TYPE=$(( ${IS_TYPE} | ${IS_CRL} ))
-
-	    if [ $(( ${IS_TYPE} & ${IS_CERT} )) -ne 0 ]
-	    then
-	    	break
-	    fi
-	fi
-    done
-
-    # restore IFS
-    IFS=${OLDIFS}
-
-    return ${IS_TYPE}
-}
-
-
-#
-# use openssl to fingerprint a file
-#    arguments:
-#	1. the filename to fingerprint
-#	2. the method to use (x509, crl)
-#    returns:
-#	none
-#    assumptions:
-#	user will capture output from last stage of pipeline
-#
-fingerprint()
-{
-    ${SSL_CMD} ${2} -fingerprint -noout -in ${1} | sed 's/^.*=//' | tr -d ':'
-}
-
-
-#
-# link_hash - create links to certificate files
-#    arguments:
-#       1. the filename to create a link for
-#	2. the type of certificate being linked (x509, crl)
-#    returns:
-#	0 on success, 1 otherwise
-#
-link_hash()
-{
-    local FINGERPRINT=$( fingerprint ${1} ${2} )
-    local HASH=$( ${SSL_CMD} ${2} -hash -noout -in ${1} )
-    local SUFFIX=0
-    local LINKFILE=''
-    local TAG=''
-
-    if [ ${2} = "crl" ]
-    then
-    	TAG='r'
-    fi
-
-    LINKFILE=${HASH}.${TAG}${SUFFIX}
-
-    while [ -f ${LINKFILE} ]
-    do
-	if [ ${FINGERPRINT} = $( fingerprint ${LINKFILE} ${2} ) ]
-	then
-	    echo "NOTE: Skipping duplicate file ${1}" >&2
-	    return 1
-	fi	
-
-	SUFFIX=$(( ${SUFFIX} + 1 ))
-	LINKFILE=${HASH}.${TAG}${SUFFIX}
-    done
-
-    echo "${1} => ${LINKFILE}"
-
-    # assume any system with a POSIX shell will either support symlinks or
-    # do something to handle this gracefully
-    ln -s ${1} ${LINKFILE}
-
-    return 0
-}
-
-
-# hash_dir create hash links in a given directory
-hash_dir()
-{
-    echo "Doing ${1}"
-
-    cd ${1}
-
-    ls -1 * 2>/dev/null | while read FILE
-    do
-        if echo ${FILE} | grep -q -E '^[[:xdigit:]]{8}\.r?[[:digit:]]+$' \
-	    	&& [ -h "${FILE}" ]
-        then
-            rm ${FILE}
-        fi
-    done
-
-    ls -1 *.pem *.cer *.crt *.crl 2>/dev/null | while read FILE
-    do
-	check_file ${FILE}
-        local FILE_TYPE=${?}
-	local TYPE_STR=''
-
-        if [ $(( ${FILE_TYPE} & ${IS_CERT} )) -ne 0 ]
-        then
-            TYPE_STR='x509'
-        elif [ $(( ${FILE_TYPE} & ${IS_CRL} )) -ne 0 ]
-        then
-            TYPE_STR='crl'
-        else
-            echo "NOTE: ${FILE} does not contain a certificate or CRL: skipping" >&2
-	    continue
-        fi
-
-	link_hash ${FILE} ${TYPE_STR}
-    done
-}
-
-
-# choose the name of an ssl application
-if [ -n "${OPENSSL}" ]
-then
-    SSL_CMD=$(which ${OPENSSL} 2>/dev/null)
-else
-    SSL_CMD=/usr/bin/openssl
-    OPENSSL=${SSL_CMD}
-    export OPENSSL
-fi
-
-# fix paths
-PATH=${PATH}:${DIR}/bin
-export PATH
-
-# confirm existance/executability of ssl command
-if ! [ -x ${SSL_CMD} ]
-then
-    echo "${0}: rehashing skipped ('openssl' program not available)" >&2
-    exit 0
-fi
-
-# determine which directories to process
-old_IFS=$IFS
-if [ ${#} -gt 0 ]
-then
-    IFS=':'
-    DIRLIST=${*}
-elif [ -n "${SSL_CERT_DIR}" ]
-then
-    DIRLIST=$SSL_CERT_DIR
-else
-    DIRLIST=${DIR}/certs
-fi
-
-IFS=':'
-
-# process directories
-for CERT_DIR in ${DIRLIST}
-do
-    if [ -d ${CERT_DIR} -a -w ${CERT_DIR} ]
-    then
-        IFS=$old_IFS
-        hash_dir ${CERT_DIR}
-        IFS=':'
-    fi
-done
diff --git a/recipes-connectivity/openssl/openssl-qoriq/openssl_fix_for_x32.patch b/recipes-connectivity/openssl/openssl-qoriq/openssl_fix_for_x32.patch
index 0f08a64..cbce32c 100644
--- a/recipes-connectivity/openssl/openssl-qoriq/openssl_fix_for_x32.patch
+++ b/recipes-connectivity/openssl/openssl-qoriq/openssl_fix_for_x32.patch
@@ -2,10 +2,10 @@ Upstream-Status: Pending
 
 Received from H J Liu @ Intel
 Make the assembly syntax compatible with x32 gcc. Othewise x32 gcc throws errors.
-Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> 2011/07/13
+Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com> 2011/07/13
 
 ported the patch to the 1.0.0e version
-Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> 2011/12/01
+Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com> 2011/12/01
 Index: openssl-1.0.2/crypto/bn/bn.h
 ===================================================================
 --- openssl-1.0.2.orig/crypto/bn/bn.h
diff --git a/recipes-connectivity/openssl/openssl-qoriq/parallel.patch b/recipes-connectivity/openssl/openssl-qoriq/parallel.patch
deleted file mode 100644
index b6c2c14..0000000
--- a/recipes-connectivity/openssl/openssl-qoriq/parallel.patch
+++ /dev/null
@@ -1,326 +0,0 @@
-Fix the parallel races in the Makefiles.
-
-This patch was taken from the Gentoo packaging:
-https://gitweb.gentoo.org/repo/gentoo.git/plain/dev-libs/openssl/files/openssl-1.0.2g-parallel-build.patch
-
-Upstream-Status: Pending
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
---- openssl-1.0.2g/crypto/Makefile
-+++ openssl-1.0.2g/crypto/Makefile
-@@ -85,11 +85,11 @@
- 	@if [ -z "$(THIS)" ]; then $(MAKE) -f $(TOP)/Makefile reflect THIS=$@; fi
- 
- subdirs:
--	@target=all; $(RECURSIVE_MAKE)
-+	+@target=all; $(RECURSIVE_MAKE)
- 
- files:
- 	$(PERL) $(TOP)/util/files.pl "CPUID_OBJ=$(CPUID_OBJ)" Makefile >> $(TOP)/MINFO
--	@target=files; $(RECURSIVE_MAKE)
-+	+@target=files; $(RECURSIVE_MAKE)
- 
- links:
- 	@$(PERL) $(TOP)/util/mklink.pl ../include/openssl $(EXHEADER)
-@@ -100,7 +100,7 @@
- # lib: $(LIB): are splitted to avoid end-less loop
- lib:	$(LIB)
- 	@touch lib
--$(LIB):	$(LIBOBJ)
-+$(LIB):	$(LIBOBJ) | subdirs
- 	$(AR) $(LIB) $(LIBOBJ)
- 	test -z "$(FIPSLIBDIR)" || $(AR) $(LIB) $(FIPSLIBDIR)fipscanister.o
- 	$(RANLIB) $(LIB) || echo Never mind.
-@@ -111,7 +111,7 @@
- 	fi
- 
- libs:
--	@target=lib; $(RECURSIVE_MAKE)
-+	+@target=lib; $(RECURSIVE_MAKE)
- 
- install:
- 	@[ -n "$(INSTALLTOP)" ] # should be set by top Makefile...
-@@ -120,7 +120,7 @@
- 	(cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \
- 	chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \
- 	done;
--	@target=install; $(RECURSIVE_MAKE)
-+	+@target=install; $(RECURSIVE_MAKE)
- 
- lint:
- 	@target=lint; $(RECURSIVE_MAKE)
---- openssl-1.0.2g/engines/Makefile
-+++ openssl-1.0.2g/engines/Makefile
-@@ -72,7 +72,7 @@
- 
- all:	lib subdirs
- 
--lib:	$(LIBOBJ)
-+lib:	$(LIBOBJ) | subdirs
- 	@if [ -n "$(SHARED_LIBS)" ]; then \
- 		set -e; \
- 		for l in $(LIBNAMES); do \
-@@ -89,7 +89,7 @@
- 
- subdirs:
- 	echo $(EDIRS)
--	@target=all; $(RECURSIVE_MAKE)
-+	+@target=all; $(RECURSIVE_MAKE)
- 
- files:
- 	$(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO
-@@ -128,7 +128,7 @@
- 			  mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx ); \
- 		done; \
- 	fi
--	@target=install; $(RECURSIVE_MAKE)
-+	+@target=install; $(RECURSIVE_MAKE)
- 
- tags:
- 	ctags $(SRC)
---- openssl-1.0.2g/Makefile.org
-+++ openssl-1.0.2g/Makefile.org
-@@ -279,17 +279,17 @@
- build_libssl: build_ssl libssl.pc
- 
- build_crypto:
--	@dir=crypto; target=all; $(BUILD_ONE_CMD)
-+	+@dir=crypto; target=all; $(BUILD_ONE_CMD)
- build_ssl: build_crypto
--	@dir=ssl; target=all; $(BUILD_ONE_CMD)
-+	+@dir=ssl; target=all; $(BUILD_ONE_CMD)
- build_engines: build_crypto
--	@dir=engines; target=all; $(BUILD_ONE_CMD)
-+	+@dir=engines; target=all; $(BUILD_ONE_CMD)
- build_apps: build_libs
--	@dir=apps; target=all; $(BUILD_ONE_CMD)
-+	+@dir=apps; target=all; $(BUILD_ONE_CMD)
- build_tests: build_libs
--	@dir=test; target=all; $(BUILD_ONE_CMD)
-+	+@dir=test; target=all; $(BUILD_ONE_CMD)
- build_tools: build_libs
--	@dir=tools; target=all; $(BUILD_ONE_CMD)
-+	+@dir=tools; target=all; $(BUILD_ONE_CMD)
- 
- all_testapps: build_libs build_testapps
- build_testapps:
-@@ -544,7 +544,7 @@
- 	(cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \
- 	chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \
- 	done;
--	@set -e; target=install; $(RECURSIVE_BUILD_CMD)
-+	+@set -e; target=install; $(RECURSIVE_BUILD_CMD)
- 	@set -e; liblist="$(LIBS)"; for i in $$liblist ;\
- 	do \
- 		if [ -f "$$i" ]; then \
---- openssl-1.0.2g/Makefile.shared
-+++ openssl-1.0.2g/Makefile.shared
-@@ -105,6 +105,7 @@
-     SHAREDFLAGS="$${SHAREDFLAGS:-$(CFLAGS) $(SHARED_LDFLAGS)}"; \
-     LIBPATH=`for x in $$LIBDEPS; do echo $$x; done | sed -e 's/^ *-L//;t' -e d | uniq`; \
-     LIBPATH=`echo $$LIBPATH | sed -e 's/ /:/g'`; \
-+    [ -e $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX ] && exit 0; \
-     LD_LIBRARY_PATH=$$LIBPATH:$$LD_LIBRARY_PATH \
-     $${SHAREDCMD} $${SHAREDFLAGS} \
- 	-o $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX \
-@@ -122,6 +123,7 @@
- 			done; \
- 		fi; \
- 		if [ -n "$$SHLIB_SOVER" ]; then \
-+			[ -e "$$SHLIB$$SHLIB_SUFFIX" ] || \
- 			( $(SET_X); rm -f $$SHLIB$$SHLIB_SUFFIX; \
- 			  ln -s $$prev $$SHLIB$$SHLIB_SUFFIX ); \
- 		fi; \
---- openssl-1.0.2g/test/Makefile
-+++ openssl-1.0.2g/test/Makefile
-@@ -139,7 +139,7 @@
- tags:
- 	ctags $(SRC)
- 
--tests:	exe apps $(TESTS)
-+tests:	exe $(TESTS)
- 
- apps:
- 	@(cd ..; $(MAKE) DIRS=apps all)
-@@ -421,130 +421,130 @@
- 		link_app.$${shlib_target}
- 
- $(RSATEST)$(EXE_EXT): $(RSATEST).o $(DLIBCRYPTO)
--	@target=$(RSATEST); $(BUILD_CMD)
-+	+@target=$(RSATEST); $(BUILD_CMD)
- 
- $(BNTEST)$(EXE_EXT): $(BNTEST).o $(DLIBCRYPTO)
--	@target=$(BNTEST); $(BUILD_CMD)
-+	+@target=$(BNTEST); $(BUILD_CMD)
- 
- $(ECTEST)$(EXE_EXT): $(ECTEST).o $(DLIBCRYPTO)
--	@target=$(ECTEST); $(BUILD_CMD)
-+	+@target=$(ECTEST); $(BUILD_CMD)
- 
- $(EXPTEST)$(EXE_EXT): $(EXPTEST).o $(DLIBCRYPTO)
--	@target=$(EXPTEST); $(BUILD_CMD)
-+	+@target=$(EXPTEST); $(BUILD_CMD)
- 
- $(IDEATEST)$(EXE_EXT): $(IDEATEST).o $(DLIBCRYPTO)
--	@target=$(IDEATEST); $(BUILD_CMD)
-+	+@target=$(IDEATEST); $(BUILD_CMD)
- 
- $(MD2TEST)$(EXE_EXT): $(MD2TEST).o $(DLIBCRYPTO)
--	@target=$(MD2TEST); $(BUILD_CMD)
-+	+@target=$(MD2TEST); $(BUILD_CMD)
- 
- $(SHATEST)$(EXE_EXT): $(SHATEST).o $(DLIBCRYPTO)
--	@target=$(SHATEST); $(BUILD_CMD)
-+	+@target=$(SHATEST); $(BUILD_CMD)
- 
- $(SHA1TEST)$(EXE_EXT): $(SHA1TEST).o $(DLIBCRYPTO)
--	@target=$(SHA1TEST); $(BUILD_CMD)
-+	+@target=$(SHA1TEST); $(BUILD_CMD)
- 
- $(SHA256TEST)$(EXE_EXT): $(SHA256TEST).o $(DLIBCRYPTO)
--	@target=$(SHA256TEST); $(BUILD_CMD)
-+	+@target=$(SHA256TEST); $(BUILD_CMD)
- 
- $(SHA512TEST)$(EXE_EXT): $(SHA512TEST).o $(DLIBCRYPTO)
--	@target=$(SHA512TEST); $(BUILD_CMD)
-+	+@target=$(SHA512TEST); $(BUILD_CMD)
- 
- $(RMDTEST)$(EXE_EXT): $(RMDTEST).o $(DLIBCRYPTO)
--	@target=$(RMDTEST); $(BUILD_CMD)
-+	+@target=$(RMDTEST); $(BUILD_CMD)
- 
- $(MDC2TEST)$(EXE_EXT): $(MDC2TEST).o $(DLIBCRYPTO)
--	@target=$(MDC2TEST); $(BUILD_CMD)
-+	+@target=$(MDC2TEST); $(BUILD_CMD)
- 
- $(MD4TEST)$(EXE_EXT): $(MD4TEST).o $(DLIBCRYPTO)
--	@target=$(MD4TEST); $(BUILD_CMD)
-+	+@target=$(MD4TEST); $(BUILD_CMD)
- 
- $(MD5TEST)$(EXE_EXT): $(MD5TEST).o $(DLIBCRYPTO)
--	@target=$(MD5TEST); $(BUILD_CMD)
-+	+@target=$(MD5TEST); $(BUILD_CMD)
- 
- $(HMACTEST)$(EXE_EXT): $(HMACTEST).o $(DLIBCRYPTO)
--	@target=$(HMACTEST); $(BUILD_CMD)
-+	+@target=$(HMACTEST); $(BUILD_CMD)
- 
- $(WPTEST)$(EXE_EXT): $(WPTEST).o $(DLIBCRYPTO)
--	@target=$(WPTEST); $(BUILD_CMD)
-+	+@target=$(WPTEST); $(BUILD_CMD)
- 
- $(RC2TEST)$(EXE_EXT): $(RC2TEST).o $(DLIBCRYPTO)
--	@target=$(RC2TEST); $(BUILD_CMD)
-+	+@target=$(RC2TEST); $(BUILD_CMD)
- 
- $(BFTEST)$(EXE_EXT): $(BFTEST).o $(DLIBCRYPTO)
--	@target=$(BFTEST); $(BUILD_CMD)
-+	+@target=$(BFTEST); $(BUILD_CMD)
- 
- $(CASTTEST)$(EXE_EXT): $(CASTTEST).o $(DLIBCRYPTO)
--	@target=$(CASTTEST); $(BUILD_CMD)
-+	+@target=$(CASTTEST); $(BUILD_CMD)
- 
- $(RC4TEST)$(EXE_EXT): $(RC4TEST).o $(DLIBCRYPTO)
--	@target=$(RC4TEST); $(BUILD_CMD)
-+	+@target=$(RC4TEST); $(BUILD_CMD)
- 
- $(RC5TEST)$(EXE_EXT): $(RC5TEST).o $(DLIBCRYPTO)
--	@target=$(RC5TEST); $(BUILD_CMD)
-+	+@target=$(RC5TEST); $(BUILD_CMD)
- 
- $(DESTEST)$(EXE_EXT): $(DESTEST).o $(DLIBCRYPTO)
--	@target=$(DESTEST); $(BUILD_CMD)
-+	+@target=$(DESTEST); $(BUILD_CMD)
- 
- $(RANDTEST)$(EXE_EXT): $(RANDTEST).o $(DLIBCRYPTO)
--	@target=$(RANDTEST); $(BUILD_CMD)
-+	+@target=$(RANDTEST); $(BUILD_CMD)
- 
- $(DHTEST)$(EXE_EXT): $(DHTEST).o $(DLIBCRYPTO)
--	@target=$(DHTEST); $(BUILD_CMD)
-+	+@target=$(DHTEST); $(BUILD_CMD)
- 
- $(DSATEST)$(EXE_EXT): $(DSATEST).o $(DLIBCRYPTO)
--	@target=$(DSATEST); $(BUILD_CMD)
-+	+@target=$(DSATEST); $(BUILD_CMD)
- 
- $(METHTEST)$(EXE_EXT): $(METHTEST).o $(DLIBCRYPTO)
--	@target=$(METHTEST); $(BUILD_CMD)
-+	+@target=$(METHTEST); $(BUILD_CMD)
- 
- $(SSLTEST)$(EXE_EXT): $(SSLTEST).o $(DLIBSSL) $(DLIBCRYPTO)
--	@target=$(SSLTEST); $(FIPS_BUILD_CMD)
-+	+@target=$(SSLTEST); $(FIPS_BUILD_CMD)
- 
- $(ENGINETEST)$(EXE_EXT): $(ENGINETEST).o $(DLIBCRYPTO)
--	@target=$(ENGINETEST); $(BUILD_CMD)
-+	+@target=$(ENGINETEST); $(BUILD_CMD)
- 
- $(EVPTEST)$(EXE_EXT): $(EVPTEST).o $(DLIBCRYPTO)
--	@target=$(EVPTEST); $(BUILD_CMD)
-+	+@target=$(EVPTEST); $(BUILD_CMD)
- 
- $(EVPEXTRATEST)$(EXE_EXT): $(EVPEXTRATEST).o $(DLIBCRYPTO)
--	@target=$(EVPEXTRATEST); $(BUILD_CMD)
-+	+@target=$(EVPEXTRATEST); $(BUILD_CMD)
- 
- $(ECDSATEST)$(EXE_EXT): $(ECDSATEST).o $(DLIBCRYPTO)
--	@target=$(ECDSATEST); $(BUILD_CMD)
-+	+@target=$(ECDSATEST); $(BUILD_CMD)
- 
- $(ECDHTEST)$(EXE_EXT): $(ECDHTEST).o $(DLIBCRYPTO)
--	@target=$(ECDHTEST); $(BUILD_CMD)
-+	+@target=$(ECDHTEST); $(BUILD_CMD)
- 
- $(IGETEST)$(EXE_EXT): $(IGETEST).o $(DLIBCRYPTO)
--	@target=$(IGETEST); $(BUILD_CMD)
-+	+@target=$(IGETEST); $(BUILD_CMD)
- 
- $(JPAKETEST)$(EXE_EXT): $(JPAKETEST).o $(DLIBCRYPTO)
--	@target=$(JPAKETEST); $(BUILD_CMD)
-+	+@target=$(JPAKETEST); $(BUILD_CMD)
- 
- $(ASN1TEST)$(EXE_EXT): $(ASN1TEST).o $(DLIBCRYPTO)
--	@target=$(ASN1TEST); $(BUILD_CMD)
-+	+@target=$(ASN1TEST); $(BUILD_CMD)
- 
- $(SRPTEST)$(EXE_EXT): $(SRPTEST).o $(DLIBCRYPTO)
--	@target=$(SRPTEST); $(BUILD_CMD)
-+	+@target=$(SRPTEST); $(BUILD_CMD)
- 
- $(V3NAMETEST)$(EXE_EXT): $(V3NAMETEST).o $(DLIBCRYPTO)
--	@target=$(V3NAMETEST); $(BUILD_CMD)
-+	+@target=$(V3NAMETEST); $(BUILD_CMD)
- 
- $(HEARTBEATTEST)$(EXE_EXT): $(HEARTBEATTEST).o $(DLIBCRYPTO)
--	@target=$(HEARTBEATTEST); $(BUILD_CMD_STATIC)
-+	+@target=$(HEARTBEATTEST); $(BUILD_CMD_STATIC)
- 
- $(CONSTTIMETEST)$(EXE_EXT): $(CONSTTIMETEST).o
--	@target=$(CONSTTIMETEST) $(BUILD_CMD)
-+	+@target=$(CONSTTIMETEST) $(BUILD_CMD)
- 
- $(VERIFYEXTRATEST)$(EXE_EXT): $(VERIFYEXTRATEST).o
--	@target=$(VERIFYEXTRATEST) $(BUILD_CMD)
-+	+@target=$(VERIFYEXTRATEST) $(BUILD_CMD)
- 
- $(CLIENTHELLOTEST)$(EXE_EXT): $(CLIENTHELLOTEST).o
--	@target=$(CLIENTHELLOTEST) $(BUILD_CMD)
-+	+@target=$(CLIENTHELLOTEST) $(BUILD_CMD)
- 
- $(SSLV2CONFTEST)$(EXE_EXT): $(SSLV2CONFTEST).o
--	@target=$(SSLV2CONFTEST) $(BUILD_CMD)
-+	+@target=$(SSLV2CONFTEST) $(BUILD_CMD)
- 
- #$(AESTEST).o: $(AESTEST).c
- #	$(CC) -c $(CFLAGS) -DINTERMEDIATE_VALUE_KAT -DTRACE_KAT_MCT $(AESTEST).c
-@@ -557,7 +557,7 @@
- #	fi
- 
- dummytest$(EXE_EXT): dummytest.o $(DLIBCRYPTO)
--	@target=dummytest; $(BUILD_CMD)
-+	+@target=dummytest; $(BUILD_CMD)
- 
- # DO NOT DELETE THIS LINE -- make depend depends on it.
- 
\ No newline at end of file
diff --git a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0001-remove-double-initialization-of-cryptodev-engine.patch b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0001-remove-double-initialization-of-cryptodev-engine.patch
index 5e99d91..67314cd 100644
--- a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0001-remove-double-initialization-of-cryptodev-engine.patch
+++ b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0001-remove-double-initialization-of-cryptodev-engine.patch
@@ -1,4 +1,4 @@
-From 45e4b0835ad965cf9cc813a31df354f1e6d14513 Mon Sep 17 00:00:00 2001
+From 90d5822f09f0b6a0f1d8d2e7189e702a18686ab7 Mon Sep 17 00:00:00 2001
 From: Cristian Stoica <cristian.stoica@freescale.com>
 Date: Tue, 10 Sep 2013 12:46:46 +0300
 Subject: [PATCH 01/48] remove double initialization of cryptodev engine
@@ -13,9 +13,8 @@ Reviewed-on: http://git.am.freescale.net:8181/17222
 ---
  crypto/engine/eng_all.c | 12 ------------
  crypto/engine/engine.h  |  4 ----
- crypto/evp/c_all.c      |  5 -----
  util/libeay.num         |  2 +-
- 4 files changed, 1 insertion(+), 22 deletions(-)
+ 3 files changed, 1 insertion(+), 17 deletions(-)
 
 diff --git a/crypto/engine/eng_all.c b/crypto/engine/eng_all.c
 index 48ad0d2..a198c5f 100644
@@ -52,20 +51,6 @@ index bd7b591..020d912 100644
  /* BEGIN ERROR CODES */
  /*
   * The following lines are auto generated by the script mkerr.pl. Any changes
-diff --git a/crypto/evp/c_all.c b/crypto/evp/c_all.c
-index a3ed00d..719e34d 100644
---- a/crypto/evp/c_all.c
-+++ b/crypto/evp/c_all.c
-@@ -82,9 +82,4 @@ void OPENSSL_add_all_algorithms_noconf(void)
-     OPENSSL_cpuid_setup();
-     OpenSSL_add_all_ciphers();
-     OpenSSL_add_all_digests();
--#ifndef OPENSSL_NO_ENGINE
--# if defined(__OpenBSD__) || defined(__FreeBSD__) || defined(HAVE_CRYPTODEV)
--    ENGINE_setup_bsd_cryptodev();
--# endif
--#endif
- }
 diff --git a/util/libeay.num b/util/libeay.num
 index 2094ab3..2742cf5 100755
 --- a/util/libeay.num
@@ -80,5 +65,5 @@ index 2094ab3..2742cf5 100755
  EVP_aes_128_cfb8                        3248	EXIST::FUNCTION:AES
  FIPS_corrupt_rsa                        3249	NOEXIST::FUNCTION:
 -- 
-2.7.0
+2.7.3
 
diff --git a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0002-eng_cryptodev-add-support-for-TLS-algorithms-offload.patch b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0002-eng_cryptodev-add-support-for-TLS-algorithms-offload.patch
index d590789..a5c0f6d 100644
--- a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0002-eng_cryptodev-add-support-for-TLS-algorithms-offload.patch
+++ b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0002-eng_cryptodev-add-support-for-TLS-algorithms-offload.patch
@@ -1,4 +1,4 @@
-From e7c630f8417b6f4e1bf2466e545ffe04af2eff00 Mon Sep 17 00:00:00 2001
+From 305ab3fd8a8620fd11f7aef7e42170ba205040a9 Mon Sep 17 00:00:00 2001
 From: Cristian Stoica <cristian.stoica@freescale.com>
 Date: Thu, 29 Aug 2013 16:51:18 +0300
 Subject: [PATCH 02/48] eng_cryptodev: add support for TLS algorithms offload
@@ -15,10 +15,10 @@ Signed-off-by: Cristian Stoica <cristian.stoica@freescale.com>
  1 file changed, 215 insertions(+), 11 deletions(-)
 
 diff --git a/crypto/engine/eng_cryptodev.c b/crypto/engine/eng_cryptodev.c
-index 8fb9c33..4d783d4 100644
+index 2a2b95c..d4da7fb 100644
 --- a/crypto/engine/eng_cryptodev.c
 +++ b/crypto/engine/eng_cryptodev.c
-@@ -71,6 +71,9 @@ void ENGINE_load_cryptodev(void)
+@@ -72,6 +72,9 @@ void ENGINE_load_cryptodev(void)
  struct dev_crypto_state {
      struct session_op d_sess;
      int d_fd;
@@ -28,7 +28,7 @@ index 8fb9c33..4d783d4 100644
  # ifdef USE_CRYPTODEV_DIGESTS
      char dummy_mac_key[HASH_MAX_LEN];
      unsigned char digest_res[HASH_MAX_LEN];
-@@ -141,24 +144,25 @@ static struct {
+@@ -142,24 +145,25 @@ static struct {
      int nid;
      int ivmax;
      int keylen;
@@ -60,7 +60,7 @@ index 8fb9c33..4d783d4 100644
      },
  # ifdef CRYPTO_AES_CTR
      {
-@@ -172,16 +176,22 @@ static struct {
+@@ -173,16 +177,22 @@ static struct {
      },
  # endif
      {
@@ -87,7 +87,7 @@ index 8fb9c33..4d783d4 100644
      },
  };
  
-@@ -295,13 +305,15 @@ static int get_cryptodev_ciphers(const int **cnids)
+@@ -296,13 +306,15 @@ static int get_cryptodev_ciphers(const int **cnids)
      }
      memset(&sess, 0, sizeof(sess));
      sess.key = (caddr_t) "123456789abcdefghijklmno";
@@ -104,7 +104,7 @@ index 8fb9c33..4d783d4 100644
          if (ioctl(fd, CIOCGSESSION, &sess) != -1 &&
              ioctl(fd, CIOCFSESSION, &sess.ses) != -1)
              nids[count++] = ciphers[i].nid;
-@@ -457,6 +469,66 @@ cryptodev_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
+@@ -458,6 +470,66 @@ cryptodev_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
      return (1);
  }
  
@@ -171,7 +171,7 @@ index 8fb9c33..4d783d4 100644
  static int
  cryptodev_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,
                     const unsigned char *iv, int enc)
-@@ -496,6 +568,45 @@ cryptodev_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,
+@@ -497,6 +569,45 @@ cryptodev_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,
  }
  
  /*
@@ -217,7 +217,7 @@ index 8fb9c33..4d783d4 100644
   * free anything we allocated earlier when initting a
   * session, and close the session.
   */
-@@ -529,6 +640,63 @@ static int cryptodev_cleanup(EVP_CIPHER_CTX *ctx)
+@@ -530,6 +641,63 @@ static int cryptodev_cleanup(EVP_CIPHER_CTX *ctx)
      return (ret);
  }
  
@@ -281,7 +281,7 @@ index 8fb9c33..4d783d4 100644
  /*
   * libcrypto EVP stuff - this is how we get wired to EVP so the engine
   * gets called when libcrypto requests a cipher NID.
-@@ -641,6 +809,34 @@ const EVP_CIPHER cryptodev_aes_256_cbc = {
+@@ -642,6 +810,34 @@ const EVP_CIPHER cryptodev_aes_256_cbc = {
      NULL
  };
  
@@ -316,7 +316,7 @@ index 8fb9c33..4d783d4 100644
  # ifdef CRYPTO_AES_CTR
  const EVP_CIPHER cryptodev_aes_ctr = {
      NID_aes_128_ctr,
-@@ -729,6 +925,12 @@ cryptodev_engine_ciphers(ENGINE *e, const EVP_CIPHER **cipher,
+@@ -730,6 +926,12 @@ cryptodev_engine_ciphers(ENGINE *e, const EVP_CIPHER **cipher,
          *cipher = &cryptodev_aes_ctr_256;
          break;
  # endif
@@ -329,7 +329,7 @@ index 8fb9c33..4d783d4 100644
      default:
          *cipher = NULL;
          break;
-@@ -1472,6 +1674,8 @@ void ENGINE_load_cryptodev(void)
+@@ -1485,6 +1687,8 @@ void ENGINE_load_cryptodev(void)
      }
      put_dev_crypto(fd);
  
@@ -339,5 +339,5 @@ index 8fb9c33..4d783d4 100644
          !ENGINE_set_name(engine, "BSD cryptodev engine") ||
          !ENGINE_set_ciphers(engine, cryptodev_engine_ciphers) ||
 -- 
-2.7.0
+2.7.3
 
diff --git a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0003-cryptodev-fix-algorithm-registration.patch b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0003-cryptodev-fix-algorithm-registration.patch
index 9d30cc3..c53ffc9 100644
--- a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0003-cryptodev-fix-algorithm-registration.patch
+++ b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0003-cryptodev-fix-algorithm-registration.patch
@@ -1,4 +1,4 @@
-From 36bb0879b498f8e87798848dafa058476f723165 Mon Sep 17 00:00:00 2001
+From ce6fa215fa58e7ca7a81c70ce8c91f871a20a9dd Mon Sep 17 00:00:00 2001
 From: Cristian Stoica <cristian.stoica@freescale.com>
 Date: Thu, 31 Jul 2014 14:06:19 +0300
 Subject: [PATCH 03/48] cryptodev: fix algorithm registration
@@ -12,10 +12,10 @@ Reviewed-by: Horia Ioan Geanta Neag <horia.geanta@freescale.com>
  1 file changed, 17 insertions(+), 3 deletions(-)
 
 diff --git a/crypto/engine/eng_cryptodev.c b/crypto/engine/eng_cryptodev.c
-index 4d783d4..3b6515e 100644
+index d4da7fb..49ed638 100644
 --- a/crypto/engine/eng_cryptodev.c
 +++ b/crypto/engine/eng_cryptodev.c
-@@ -134,6 +134,8 @@ static int cryptodev_dh_compute_key(unsigned char *key, const BIGNUM *pub_key,
+@@ -135,6 +135,8 @@ static int cryptodev_dh_compute_key(unsigned char *key, const BIGNUM *pub_key,
  static int cryptodev_ctrl(ENGINE *e, int cmd, long i, void *p,
                            void (*f) (void));
  void ENGINE_load_cryptodev(void);
@@ -24,7 +24,7 @@ index 4d783d4..3b6515e 100644
  
  static const ENGINE_CMD_DEFN cryptodev_defns[] = {
      {0, NULL, NULL, 0}
-@@ -389,7 +391,21 @@ static int get_cryptodev_digests(const int **cnids)
+@@ -390,7 +392,21 @@ static int get_cryptodev_digests(const int **cnids)
   */
  static int cryptodev_usable_ciphers(const int **nids)
  {
@@ -47,7 +47,7 @@ index 4d783d4..3b6515e 100644
  }
  
  static int cryptodev_usable_digests(const int **nids)
-@@ -1674,8 +1690,6 @@ void ENGINE_load_cryptodev(void)
+@@ -1687,8 +1703,6 @@ void ENGINE_load_cryptodev(void)
      }
      put_dev_crypto(fd);
  
@@ -57,5 +57,5 @@ index 4d783d4..3b6515e 100644
          !ENGINE_set_name(engine, "BSD cryptodev engine") ||
          !ENGINE_set_ciphers(engine, cryptodev_engine_ciphers) ||
 -- 
-2.7.0
+2.7.3
 
diff --git a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0004-ECC-Support-header-for-Cryptodev-Engine.patch b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0004-ECC-Support-header-for-Cryptodev-Engine.patch
index 64a5c70..5b6fda1 100644
--- a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0004-ECC-Support-header-for-Cryptodev-Engine.patch
+++ b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0004-ECC-Support-header-for-Cryptodev-Engine.patch
@@ -1,4 +1,4 @@
-From 0a9f99574266225c6fa1a10d91eb3fdc755140b8 Mon Sep 17 00:00:00 2001
+From 63ed25dadde23d01eaac6f4c4dae463ba4d7c368 Mon Sep 17 00:00:00 2001
 From: Yashpal Dutta <yashpal.dutta@freescale.com>
 Date: Tue, 11 Mar 2014 05:56:54 +0545
 Subject: [PATCH 04/48] ECC Support header for Cryptodev Engine
@@ -315,5 +315,5 @@ index 0000000..af54c51
 +};
 +#endif
 -- 
-2.7.0
+2.7.3
 
diff --git a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0005-Initial-support-for-PKC-in-cryptodev-engine.patch b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0005-Initial-support-for-PKC-in-cryptodev-engine.patch
index ad25306..156b743 100644
--- a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0005-Initial-support-for-PKC-in-cryptodev-engine.patch
+++ b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0005-Initial-support-for-PKC-in-cryptodev-engine.patch
@@ -1,4 +1,4 @@
-From e28df2a5c63dc6195a6065bfd7de9fc860129f56 Mon Sep 17 00:00:00 2001
+From aff25bbf6b5b833931a5281d30a6f26fda9f0a52 Mon Sep 17 00:00:00 2001
 From: Yashpal Dutta <yashpal.dutta@freescale.com>
 Date: Tue, 11 Mar 2014 06:29:52 +0545
 Subject: [PATCH 05/48] Initial support for PKC in cryptodev engine
@@ -11,10 +11,10 @@ Signed-off-by: Yashpal Dutta <yashpal.dutta@freescale.com>
  1 file changed, 1202 insertions(+), 163 deletions(-)
 
 diff --git a/crypto/engine/eng_cryptodev.c b/crypto/engine/eng_cryptodev.c
-index 3b6515e..0b41bb2 100644
+index 49ed638..cc9b63b 100644
 --- a/crypto/engine/eng_cryptodev.c
 +++ b/crypto/engine/eng_cryptodev.c
-@@ -58,6 +58,10 @@ void ENGINE_load_cryptodev(void)
+@@ -59,6 +59,10 @@ void ENGINE_load_cryptodev(void)
  # include <openssl/dsa.h>
  # include <openssl/err.h>
  # include <openssl/rsa.h>
@@ -25,7 +25,7 @@ index 3b6515e..0b41bb2 100644
  # include <sys/ioctl.h>
  # include <errno.h>
  # include <stdio.h>
-@@ -67,6 +71,7 @@ void ENGINE_load_cryptodev(void)
+@@ -68,6 +72,7 @@ void ENGINE_load_cryptodev(void)
  # include <syslog.h>
  # include <errno.h>
  # include <string.h>
@@ -33,7 +33,7 @@ index 3b6515e..0b41bb2 100644
  
  struct dev_crypto_state {
      struct session_op d_sess;
-@@ -115,20 +120,10 @@ static int cryptodev_rsa_nocrt_mod_exp(BIGNUM *r0, const BIGNUM *I, RSA *rsa,
+@@ -116,20 +121,10 @@ static int cryptodev_rsa_nocrt_mod_exp(BIGNUM *r0, const BIGNUM *I, RSA *rsa,
                                         BN_CTX *ctx);
  static int cryptodev_rsa_mod_exp(BIGNUM *r0, const BIGNUM *I, RSA *rsa,
                                   BN_CTX *ctx);
@@ -54,7 +54,7 @@ index 3b6515e..0b41bb2 100644
  static int cryptodev_dh_compute_key(unsigned char *key, const BIGNUM *pub_key,
                                      DH *dh);
  static int cryptodev_ctrl(ENGINE *e, int cmd, long i, void *p,
-@@ -137,6 +132,105 @@ void ENGINE_load_cryptodev(void);
+@@ -138,6 +133,105 @@ void ENGINE_load_cryptodev(void);
  const EVP_CIPHER cryptodev_aes_128_cbc_hmac_sha1;
  const EVP_CIPHER cryptodev_aes_256_cbc_hmac_sha1;
  
@@ -160,7 +160,7 @@ index 3b6515e..0b41bb2 100644
  static const ENGINE_CMD_DEFN cryptodev_defns[] = {
      {0, NULL, NULL, 0}
  };
-@@ -1225,7 +1319,6 @@ cryptodev_engine_digests(ENGINE *e, const EVP_MD **digest,
+@@ -1230,7 +1324,6 @@ cryptodev_engine_digests(ENGINE *e, const EVP_MD **digest,
   */
  static int bn2crparam(const BIGNUM *a, struct crparam *crp)
  {
@@ -168,7 +168,7 @@ index 3b6515e..0b41bb2 100644
      ssize_t bytes, bits;
      u_char *b;
  
-@@ -1243,36 +1336,21 @@ static int bn2crparam(const BIGNUM *a, struct crparam *crp)
+@@ -1248,36 +1341,21 @@ static int bn2crparam(const BIGNUM *a, struct crparam *crp)
      crp->crp_p = (caddr_t) b;
      crp->crp_nbits = bits;
  
@@ -208,8 +208,8 @@ index 3b6515e..0b41bb2 100644
  
      return (0);
  }
-@@ -1321,6 +1399,32 @@ cryptodev_asym(struct crypt_kop *kop, int rlen, BIGNUM *r, int slen,
-     return (ret);
+@@ -1334,6 +1412,32 @@ cryptodev_asym(struct crypt_kop *kop, int rlen, BIGNUM *r, int slen,
+     return ret;
  }
  
 +/* Close an opened instance of cryptodev engine */
@@ -241,7 +241,7 @@ index 3b6515e..0b41bb2 100644
  static int
  cryptodev_bn_mod_exp(BIGNUM *r, const BIGNUM *a, const BIGNUM *p,
                       const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *in_mont)
-@@ -1337,8 +1441,9 @@ cryptodev_bn_mod_exp(BIGNUM *r, const BIGNUM *a, const BIGNUM *p,
+@@ -1350,8 +1454,9 @@ cryptodev_bn_mod_exp(BIGNUM *r, const BIGNUM *a, const BIGNUM *p,
          return (ret);
      }
  
@@ -252,7 +252,7 @@ index 3b6515e..0b41bb2 100644
  
      /* inputs: a^p % m */
      if (bn2crparam(a, &kop.crk_param[0]))
-@@ -1381,28 +1486,39 @@ static int
+@@ -1394,28 +1499,39 @@ static int
  cryptodev_rsa_mod_exp(BIGNUM *r0, const BIGNUM *I, RSA *rsa, BN_CTX *ctx)
  {
      struct crypt_kop kop;
@@ -306,7 +306,7 @@ index 3b6515e..0b41bb2 100644
      kop.crk_iparams = 6;
  
      if (cryptodev_asym(&kop, BN_num_bytes(rsa->n), r0, 0, NULL)) {
-@@ -1438,93 +1554,120 @@ static RSA_METHOD cryptodev_rsa = {
+@@ -1451,93 +1567,120 @@ static RSA_METHOD cryptodev_rsa = {
      NULL                        /* rsa_verify */
  };
  
@@ -491,7 +491,7 @@ index 3b6515e..0b41bb2 100644
  }
  
  static int
-@@ -1532,43 +1675,175 @@ cryptodev_dsa_verify(const unsigned char *dgst, int dlen,
+@@ -1545,43 +1688,175 @@ cryptodev_dsa_verify(const unsigned char *dgst, int dlen,
                       DSA_SIG *sig, DSA *dsa)
  {
      struct crypt_kop kop;
@@ -516,7 +516,8 @@ index 3b6515e..0b41bb2 100644
 +    /* Get Order of field of private keys */
 +    if (spcf_bn2bin(dsa->q, &r, &r_len)) {
 +        DSAerr(DSA_F_DSA_DO_VERIFY, ERR_R_MALLOC_FAILURE);
-+        goto err;
+         goto err;
+-    if (bn2crparam(dsa->q, &kop.crk_param[2]))
 +    }
 +
 +    g_len = q_len;
@@ -526,8 +527,7 @@ index 3b6515e..0b41bb2 100644
 +         */
 +    if (spcf_bn2bin_ex(dsa->g, &g, &g_len)) {
 +        DSAerr(DSA_F_DSA_DO_VERIFY, ERR_R_MALLOC_FAILURE);
-         goto err;
--    if (bn2crparam(dsa->q, &kop.crk_param[2]))
++        goto err;
 +    }
 +    w_len = q_len;
 +        /**
@@ -688,7 +688,7 @@ index 3b6515e..0b41bb2 100644
  }
  
  static DSA_METHOD cryptodev_dsa = {
-@@ -1584,12 +1859,558 @@ static DSA_METHOD cryptodev_dsa = {
+@@ -1597,12 +1872,558 @@ static DSA_METHOD cryptodev_dsa = {
      NULL                        /* app_data */
  };
  
@@ -1252,7 +1252,7 @@ index 3b6515e..0b41bb2 100644
  }
  
  static int
-@@ -1597,41 +2418,236 @@ cryptodev_dh_compute_key(unsigned char *key, const BIGNUM *pub_key, DH *dh)
+@@ -1610,41 +2431,236 @@ cryptodev_dh_compute_key(unsigned char *key, const BIGNUM *pub_key, DH *dh)
  {
      struct crypt_kop kop;
      int dhret = 1;
@@ -1416,7 +1416,7 @@ index 3b6515e..0b41bb2 100644
 +            ECDSAerr(ECDSA_F_ECDSA_DO_SIGN, ERR_R_EC_LIB);
 +            goto err;
 +        }
-+    }
+     }
 +
 +    /* irreducible polynomial that creates the field */
 +    if (spcf_bn2bin((BIGNUM *)&group->order, &r, &r_len)) {
@@ -1477,7 +1477,7 @@ index 3b6515e..0b41bb2 100644
 +    if (len > buflen || q_len < buflen) {
 +        ECDHerr(ECDH_F_ECDH_COMPUTE_KEY, ERR_R_INTERNAL_ERROR);
 +        goto err;
-     }
++    }
 +
 +    kop.crk_op = CRK_DH_COMPUTE_KEY;
 +    kop.crk_param[0].crp_p = (void *)s;
@@ -1507,7 +1507,7 @@ index 3b6515e..0b41bb2 100644
  }
  
  static DH_METHOD cryptodev_dh = {
-@@ -1645,6 +2661,14 @@ static DH_METHOD cryptodev_dh = {
+@@ -1658,6 +2674,14 @@ static DH_METHOD cryptodev_dh = {
      NULL                        /* app_data */
  };
  
@@ -1522,7 +1522,7 @@ index 3b6515e..0b41bb2 100644
  /*
   * ctrl right now is just a wrapper that doesn't do much
   * but I expect we'll want some options soon.
-@@ -1724,24 +2748,39 @@ void ENGINE_load_cryptodev(void)
+@@ -1737,24 +2761,39 @@ void ENGINE_load_cryptodev(void)
          memcpy(&cryptodev_dsa, meth, sizeof(DSA_METHOD));
          if (cryptodev_asymfeat & CRF_DSA_SIGN)
              cryptodev_dsa.dsa_do_sign = cryptodev_dsa_do_sign;
@@ -1574,5 +1574,5 @@ index 3b6515e..0b41bb2 100644
      }
  
 -- 
-2.7.0
+2.7.3
 
diff --git a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0006-Added-hwrng-dev-file-as-source-of-RNG.patch b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0006-Added-hwrng-dev-file-as-source-of-RNG.patch
index 61469dc..049f963 100644
--- a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0006-Added-hwrng-dev-file-as-source-of-RNG.patch
+++ b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0006-Added-hwrng-dev-file-as-source-of-RNG.patch
@@ -1,4 +1,4 @@
-From c3b1f595607fe4e431dab12b7d8ceda6742547d5 Mon Sep 17 00:00:00 2001
+From e9981377fe8e2081fcd5b4e43a5ef4d8f1cc1e67 Mon Sep 17 00:00:00 2001
 From: Yashpal Dutta <yashpal.dutta@freescale.com>
 Date: Tue, 11 Mar 2014 06:42:59 +0545
 Subject: [PATCH 06/48] Added hwrng dev file as source of RNG
@@ -24,5 +24,5 @@ index 1fa36c1..6c0917b 100644
  # ifndef DEVRANDOM_EGD
  /*
 -- 
-2.7.0
+2.7.3
 
diff --git a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0007-Asynchronous-interface-added-for-PKC-cryptodev-inter.patch b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0007-Asynchronous-interface-added-for-PKC-cryptodev-inter.patch
index 192cd18..154ae80 100644
--- a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0007-Asynchronous-interface-added-for-PKC-cryptodev-inter.patch
+++ b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0007-Asynchronous-interface-added-for-PKC-cryptodev-inter.patch
@@ -1,4 +1,4 @@
-From 45cfc01ade9eeb43fdb5950d3db152cae1b41059 Mon Sep 17 00:00:00 2001
+From ea28474ed5e1e21a6efba7570bf0d27d02923bce Mon Sep 17 00:00:00 2001
 From: Yashpal Dutta <yashpal.dutta@freescale.com>
 Date: Tue, 11 Mar 2014 07:14:30 +0545
 Subject: [PATCH 07/48] Asynchronous interface added for PKC cryptodev
@@ -116,10 +116,10 @@ index d3a5efc..9b28c04 100644
      int (*init) (EC_KEY *eckey);
      int (*finish) (EC_KEY *eckey);
 diff --git a/crypto/engine/eng_cryptodev.c b/crypto/engine/eng_cryptodev.c
-index 0b41bb2..8303630 100644
+index cc9b63b..90fe9b8 100644
 --- a/crypto/engine/eng_cryptodev.c
 +++ b/crypto/engine/eng_cryptodev.c
-@@ -1367,6 +1367,60 @@ static void zapparams(struct crypt_kop *kop)
+@@ -1371,6 +1371,60 @@ static void zapparams(struct crypt_kop *kop)
      }
  }
  
@@ -180,7 +180,7 @@ index 0b41bb2..8303630 100644
  static int
  cryptodev_asym(struct crypt_kop *kop, int rlen, BIGNUM *r, int slen,
                 BIGNUM *s)
-@@ -1425,6 +1479,44 @@ void *cryptodev_init_instance(void)
+@@ -1438,6 +1492,44 @@ void *cryptodev_init_instance(void)
      return fd;
  }
  
@@ -225,7 +225,7 @@ index 0b41bb2..8303630 100644
  static int
  cryptodev_bn_mod_exp(BIGNUM *r, const BIGNUM *a, const BIGNUM *p,
                       const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *in_mont)
-@@ -1472,6 +1564,66 @@ cryptodev_bn_mod_exp(BIGNUM *r, const BIGNUM *a, const BIGNUM *p,
+@@ -1485,6 +1577,66 @@ cryptodev_bn_mod_exp(BIGNUM *r, const BIGNUM *a, const BIGNUM *p,
  }
  
  static int
@@ -292,7 +292,7 @@ index 0b41bb2..8303630 100644
  cryptodev_rsa_nocrt_mod_exp(BIGNUM *r0, const BIGNUM *I, RSA *rsa,
                              BN_CTX *ctx)
  {
-@@ -1538,6 +1690,63 @@ cryptodev_rsa_mod_exp(BIGNUM *r0, const BIGNUM *I, RSA *rsa, BN_CTX *ctx)
+@@ -1551,6 +1703,63 @@ cryptodev_rsa_mod_exp(BIGNUM *r0, const BIGNUM *I, RSA *rsa, BN_CTX *ctx)
      return (ret);
  }
  
@@ -356,7 +356,7 @@ index 0b41bb2..8303630 100644
  static RSA_METHOD cryptodev_rsa = {
      "cryptodev RSA method",
      NULL,                       /* rsa_pub_enc */
-@@ -1546,6 +1755,12 @@ static RSA_METHOD cryptodev_rsa = {
+@@ -1559,6 +1768,12 @@ static RSA_METHOD cryptodev_rsa = {
      NULL,                       /* rsa_priv_dec */
      NULL,
      NULL,
@@ -369,7 +369,7 @@ index 0b41bb2..8303630 100644
      NULL,                       /* init */
      NULL,                       /* finish */
      0,                          /* flags */
-@@ -1846,128 +2061,428 @@ static int cryptodev_dsa_keygen(DSA *dsa)
+@@ -1859,128 +2074,428 @@ static int cryptodev_dsa_keygen(DSA *dsa)
      return ret;
  }
  
@@ -892,7 +892,7 @@ index 0b41bb2..8303630 100644
              goto err;
          }
      } else if (EC_METHOD_get_field_type(EC_GROUP_method_of(group)) ==
-@@ -2312,54 +2827,588 @@ static int cryptodev_ecdsa_verify(const unsigned char *dgst, int dgst_len,
+@@ -2325,54 +2840,588 @@ static int cryptodev_ecdsa_verify(const unsigned char *dgst, int dgst_len,
          goto err;
      }
  
@@ -1523,7 +1523,7 @@ index 0b41bb2..8303630 100644
      return ret;
  }
  
-@@ -2468,6 +3517,54 @@ cryptodev_dh_compute_key(unsigned char *key, const BIGNUM *pub_key, DH *dh)
+@@ -2481,6 +3530,54 @@ cryptodev_dh_compute_key(unsigned char *key, const BIGNUM *pub_key, DH *dh)
      return (dhret);
  }
  
@@ -1578,7 +1578,7 @@ index 0b41bb2..8303630 100644
  int cryptodev_ecdh_compute_key(void *out, size_t outlen,
                                 const EC_POINT *pub_key, EC_KEY *ecdh,
                                 void *(*KDF) (const void *in, size_t inlen,
-@@ -2650,6 +3747,197 @@ int cryptodev_ecdh_compute_key(void *out, size_t outlen,
+@@ -2663,6 +3760,197 @@ int cryptodev_ecdh_compute_key(void *out, size_t outlen,
      return ret;
  }
  
@@ -1776,7 +1776,7 @@ index 0b41bb2..8303630 100644
  static DH_METHOD cryptodev_dh = {
      "cryptodev DH method",
      NULL,                       /* cryptodev_dh_generate_key */
-@@ -2657,6 +3945,8 @@ static DH_METHOD cryptodev_dh = {
+@@ -2670,6 +3958,8 @@ static DH_METHOD cryptodev_dh = {
      NULL,
      NULL,
      NULL,
@@ -1785,7 +1785,7 @@ index 0b41bb2..8303630 100644
      0,                          /* flags */
      NULL                        /* app_data */
  };
-@@ -2665,6 +3955,7 @@ static ECDH_METHOD cryptodev_ecdh = {
+@@ -2678,6 +3968,7 @@ static ECDH_METHOD cryptodev_ecdh = {
      "cryptodev ECDH method",
      NULL,                       /* cryptodev_ecdh_compute_key */
      NULL,
@@ -1793,7 +1793,7 @@ index 0b41bb2..8303630 100644
      0,                          /* flags */
      NULL                        /* app_data */
  };
-@@ -2735,10 +4026,15 @@ void ENGINE_load_cryptodev(void)
+@@ -2748,10 +4039,15 @@ void ENGINE_load_cryptodev(void)
          cryptodev_rsa.rsa_priv_dec = rsa_meth->rsa_priv_dec;
          if (cryptodev_asymfeat & CRF_MOD_EXP) {
              cryptodev_rsa.bn_mod_exp = cryptodev_bn_mod_exp;
@@ -1811,7 +1811,7 @@ index 0b41bb2..8303630 100644
          }
      }
  
-@@ -2746,12 +4042,18 @@ void ENGINE_load_cryptodev(void)
+@@ -2759,12 +4055,18 @@ void ENGINE_load_cryptodev(void)
          const DSA_METHOD *meth = DSA_OpenSSL();
  
          memcpy(&cryptodev_dsa, meth, sizeof(DSA_METHOD));
@@ -1833,7 +1833,7 @@ index 0b41bb2..8303630 100644
      }
  
      if (ENGINE_set_DH(engine, &cryptodev_dh)) {
-@@ -2759,9 +4061,12 @@ void ENGINE_load_cryptodev(void)
+@@ -2772,9 +4074,12 @@ void ENGINE_load_cryptodev(void)
          memcpy(&cryptodev_dh, dh_meth, sizeof(DH_METHOD));
          if (cryptodev_asymfeat & CRF_DH_COMPUTE_KEY) {
              cryptodev_dh.compute_key = cryptodev_dh_compute_key;
@@ -1846,7 +1846,7 @@ index 0b41bb2..8303630 100644
          }
      }
  
-@@ -2770,9 +4075,13 @@ void ENGINE_load_cryptodev(void)
+@@ -2783,9 +4088,13 @@ void ENGINE_load_cryptodev(void)
          memcpy(&cryptodev_ecdsa, meth, sizeof(ECDSA_METHOD));
          if (cryptodev_asymfeat & CRF_DSA_SIGN) {
              cryptodev_ecdsa.ecdsa_do_sign = cryptodev_ecdsa_do_sign;
@@ -1860,7 +1860,7 @@ index 0b41bb2..8303630 100644
          }
      }
  
-@@ -2781,9 +4090,16 @@ void ENGINE_load_cryptodev(void)
+@@ -2794,9 +4103,16 @@ void ENGINE_load_cryptodev(void)
          memcpy(&cryptodev_ecdh, ecdh_meth, sizeof(ECDH_METHOD));
          if (cryptodev_asymfeat & CRF_DH_COMPUTE_KEY) {
              cryptodev_ecdh.compute_key = cryptodev_ecdh_compute_key;
@@ -2046,5 +2046,5 @@ index d2ee374..7c539fc 100644
      int (*init) (RSA *rsa);
      /* called at free */
 -- 
-2.7.0
+2.7.3
 
diff --git a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0008-Add-RSA-keygen-operation-and-support-gendsa-command-.patch b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0008-Add-RSA-keygen-operation-and-support-gendsa-command-.patch
index ccd24e3..070b93a 100644
--- a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0008-Add-RSA-keygen-operation-and-support-gendsa-command-.patch
+++ b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0008-Add-RSA-keygen-operation-and-support-gendsa-command-.patch
@@ -1,4 +1,4 @@
-From 94a3fc9f437c20726209cea19256c419837055a2 Mon Sep 17 00:00:00 2001
+From 73629969c6fe54529441530674b061ce31a41d93 Mon Sep 17 00:00:00 2001
 From: Hou Zhiqiang <B48286@freescale.com>
 Date: Wed, 2 Apr 2014 16:10:43 +0800
 Subject: [PATCH 08/48] Add RSA keygen operation and support gendsa command
@@ -13,10 +13,10 @@ Tested-by: Cristian Stoica <cristian.stoica@freescale.com>
  1 file changed, 120 insertions(+)
 
 diff --git a/crypto/engine/eng_cryptodev.c b/crypto/engine/eng_cryptodev.c
-index 8303630..44017a3 100644
+index 90fe9b8..8c9ad5c 100644
 --- a/crypto/engine/eng_cryptodev.c
 +++ b/crypto/engine/eng_cryptodev.c
-@@ -2009,6 +2009,124 @@ cryptodev_dsa_verify(const unsigned char *dgst, int dlen,
+@@ -2022,6 +2022,124 @@ cryptodev_dsa_verify(const unsigned char *dgst, int dlen,
      }
  }
  
@@ -141,7 +141,7 @@ index 8303630..44017a3 100644
  /* Cryptodev DSA Key Gen routine */
  static int cryptodev_dsa_keygen(DSA *dsa)
  {
-@@ -4035,6 +4153,8 @@ void ENGINE_load_cryptodev(void)
+@@ -4048,6 +4166,8 @@ void ENGINE_load_cryptodev(void)
                  cryptodev_rsa.rsa_mod_exp_async =
                      cryptodev_rsa_nocrt_mod_exp_async;
              }
@@ -151,5 +151,5 @@ index 8303630..44017a3 100644
      }
  
 -- 
-2.7.0
+2.7.3
 
diff --git a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0009-RSA-Keygen-Fix.patch b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0009-RSA-Keygen-Fix.patch
index d4cd02f..faa1690 100644
--- a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0009-RSA-Keygen-Fix.patch
+++ b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0009-RSA-Keygen-Fix.patch
@@ -1,4 +1,4 @@
-From ca7adb9cf57497d27136a599531ea5b9671876c7 Mon Sep 17 00:00:00 2001
+From b3726ca2b823fe2a4c675b750e6f96d4a03ce93c Mon Sep 17 00:00:00 2001
 From: Yashpal Dutta <yashpal.dutta@freescale.com>
 Date: Wed, 16 Apr 2014 22:53:04 +0545
 Subject: [PATCH 09/48] RSA Keygen Fix
@@ -16,10 +16,10 @@ Tested-by: Cristian Stoica <cristian.stoica@freescale.com>
  1 file changed, 7 insertions(+), 5 deletions(-)
 
 diff --git a/crypto/engine/eng_cryptodev.c b/crypto/engine/eng_cryptodev.c
-index 44017a3..eac5fb6 100644
+index 8c9ad5c..3686c23 100644
 --- a/crypto/engine/eng_cryptodev.c
 +++ b/crypto/engine/eng_cryptodev.c
-@@ -2018,7 +2018,7 @@ static int cryptodev_rsa_keygen(RSA *rsa, int bits, BIGNUM *e, BN_GENCB *cb)
+@@ -2031,7 +2031,7 @@ static int cryptodev_rsa_keygen(RSA *rsa, int bits, BIGNUM *e, BN_GENCB *cb)
      int i;
  
      if ((fd = get_asym_dev_crypto()) < 0)
@@ -28,7 +28,7 @@ index 44017a3..eac5fb6 100644
  
      if (!rsa->n && ((rsa->n = BN_new()) == NULL))
          goto err;
-@@ -2047,7 +2047,7 @@ static int cryptodev_rsa_keygen(RSA *rsa, int bits, BIGNUM *e, BN_GENCB *cb)
+@@ -2060,7 +2060,7 @@ static int cryptodev_rsa_keygen(RSA *rsa, int bits, BIGNUM *e, BN_GENCB *cb)
      /* p length */
      kop.crk_param[kop.crk_iparams].crp_p = calloc(p_len + 1, sizeof(char));
      if (!kop.crk_param[kop.crk_iparams].crp_p)
@@ -37,7 +37,7 @@ index 44017a3..eac5fb6 100644
      kop.crk_param[kop.crk_iparams].crp_nbits = p_len * 8;
      memset(kop.crk_param[kop.crk_iparams].crp_p, 0xff, p_len + 1);
      kop.crk_iparams++;
-@@ -2055,7 +2055,7 @@ static int cryptodev_rsa_keygen(RSA *rsa, int bits, BIGNUM *e, BN_GENCB *cb)
+@@ -2068,7 +2068,7 @@ static int cryptodev_rsa_keygen(RSA *rsa, int bits, BIGNUM *e, BN_GENCB *cb)
      /* q length */
      kop.crk_param[kop.crk_iparams].crp_p = calloc(q_len + 1, sizeof(char));
      if (!kop.crk_param[kop.crk_iparams].crp_p)
@@ -46,7 +46,7 @@ index 44017a3..eac5fb6 100644
      kop.crk_param[kop.crk_iparams].crp_nbits = q_len * 8;
      memset(kop.crk_param[kop.crk_iparams].crp_p, 0xff, q_len + 1);
      kop.crk_iparams++;
-@@ -2115,8 +2115,10 @@ static int cryptodev_rsa_keygen(RSA *rsa, int bits, BIGNUM *e, BN_GENCB *cb)
+@@ -2128,8 +2128,10 @@ static int cryptodev_rsa_keygen(RSA *rsa, int bits, BIGNUM *e, BN_GENCB *cb)
      }
   sw_try:
      {
@@ -60,5 +60,5 @@ index 44017a3..eac5fb6 100644
      return ret;
  
 -- 
-2.7.0
+2.7.3
 
diff --git a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0010-Removed-local-copy-of-curve_t-type.patch b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0010-Removed-local-copy-of-curve_t-type.patch
index 8908d54..22258b4 100644
--- a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0010-Removed-local-copy-of-curve_t-type.patch
+++ b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0010-Removed-local-copy-of-curve_t-type.patch
@@ -1,4 +1,4 @@
-From cd80be25a3da28d23dfcb2762252b413879eaa74 Mon Sep 17 00:00:00 2001
+From 1a7d37d609b5ce61d0c1454292dd4500859ed65c Mon Sep 17 00:00:00 2001
 From: Yashpal Dutta <yashpal.dutta@freescale.com>
 Date: Thu, 17 Apr 2014 06:57:59 +0545
 Subject: [PATCH 10/48] Removed local copy of curve_t type
@@ -13,10 +13,10 @@ Tested-by: Cristian Stoica <cristian.stoica@freescale.com>
  2 files changed, 14 insertions(+), 26 deletions(-)
 
 diff --git a/crypto/engine/eng_cryptodev.c b/crypto/engine/eng_cryptodev.c
-index eac5fb6..151774c 100644
+index 3686c23..afcf72b 100644
 --- a/crypto/engine/eng_cryptodev.c
 +++ b/crypto/engine/eng_cryptodev.c
-@@ -2504,11 +2504,6 @@ static ECDSA_METHOD cryptodev_ecdsa = {
+@@ -2517,11 +2517,6 @@ static ECDSA_METHOD cryptodev_ecdsa = {
      NULL                        /* app_data */
  };
  
@@ -28,7 +28,7 @@ index eac5fb6..151774c 100644
  /* ENGINE handler for ECDSA Sign */
  static ECDSA_SIG *cryptodev_ecdsa_do_sign(const unsigned char *dgst,
                                            int dgst_len, const BIGNUM *in_kinv,
-@@ -2527,7 +2522,7 @@ static ECDSA_SIG *cryptodev_ecdsa_do_sign(const unsigned char *dgst,
+@@ -2540,7 +2535,7 @@ static ECDSA_SIG *cryptodev_ecdsa_do_sign(const unsigned char *dgst,
      const BIGNUM *order = NULL, *priv_key = NULL;
      const EC_GROUP *group = NULL;
      struct crypt_kop kop;
@@ -37,7 +37,7 @@ index eac5fb6..151774c 100644
  
      memset(&kop, 0, sizeof(kop));
      ecdsa = ecdsa_check(eckey);
-@@ -2665,7 +2660,7 @@ static ECDSA_SIG *cryptodev_ecdsa_do_sign(const unsigned char *dgst,
+@@ -2678,7 +2673,7 @@ static ECDSA_SIG *cryptodev_ecdsa_do_sign(const unsigned char *dgst,
              else
                  goto err;
          }
@@ -46,7 +46,7 @@ index eac5fb6..151774c 100644
      }
  
      /* Calculation of Generator point */
-@@ -2760,7 +2755,7 @@ static int cryptodev_ecdsa_verify(const unsigned char *dgst, int dgst_len,
+@@ -2773,7 +2768,7 @@ static int cryptodev_ecdsa_verify(const unsigned char *dgst, int dgst_len,
      const EC_POINT *pub_key = NULL;
      const BIGNUM *order = NULL;
      const EC_GROUP *group = NULL;
@@ -55,7 +55,7 @@ index eac5fb6..151774c 100644
      struct crypt_kop kop;
  
      memset(&kop, 0, sizeof kop);
-@@ -2911,7 +2906,7 @@ static int cryptodev_ecdsa_verify(const unsigned char *dgst, int dgst_len,
+@@ -2924,7 +2919,7 @@ static int cryptodev_ecdsa_verify(const unsigned char *dgst, int dgst_len,
              else
                  goto err;
          }
@@ -64,7 +64,7 @@ index eac5fb6..151774c 100644
      }
  
      /* Calculation of Generator point */
-@@ -3016,7 +3011,7 @@ static int cryptodev_ecdsa_do_sign_async(const unsigned char *dgst,
+@@ -3029,7 +3024,7 @@ static int cryptodev_ecdsa_do_sign_async(const unsigned char *dgst,
      const BIGNUM *order = NULL, *priv_key = NULL;
      const EC_GROUP *group = NULL;
      struct crypt_kop *kop = malloc(sizeof(struct crypt_kop));
@@ -73,7 +73,7 @@ index eac5fb6..151774c 100644
  
      if (!(sig->r = BN_new()) || !kop)
          goto err;
-@@ -3157,7 +3152,7 @@ static int cryptodev_ecdsa_do_sign_async(const unsigned char *dgst,
+@@ -3170,7 +3165,7 @@ static int cryptodev_ecdsa_do_sign_async(const unsigned char *dgst,
              else
                  goto err;
          }
@@ -82,7 +82,7 @@ index eac5fb6..151774c 100644
      }
  
      /* Calculation of Generator point */
-@@ -3237,7 +3232,7 @@ static int cryptodev_ecdsa_verify_async(const unsigned char *dgst,
+@@ -3250,7 +3245,7 @@ static int cryptodev_ecdsa_verify_async(const unsigned char *dgst,
      const EC_POINT *pub_key = NULL;
      const BIGNUM *order = NULL;
      const EC_GROUP *group = NULL;
@@ -91,7 +91,7 @@ index eac5fb6..151774c 100644
      struct crypt_kop *kop = malloc(sizeof(struct crypt_kop));
  
      if (!kop)
-@@ -3384,7 +3379,7 @@ static int cryptodev_ecdsa_verify_async(const unsigned char *dgst,
+@@ -3397,7 +3392,7 @@ static int cryptodev_ecdsa_verify_async(const unsigned char *dgst,
      if (ec_crv == EC_BINARY) {
          /* copy b' i.e c(b), instead of only b */
          eng_ec_get_cparam(EC_GROUP_get_curve_name(group), ab + q_len, q_len);
@@ -100,7 +100,7 @@ index eac5fb6..151774c 100644
      }
  
      /* Calculation of Generator point */
-@@ -3690,7 +3685,7 @@ int cryptodev_ecdh_compute_key(void *out, size_t outlen,
+@@ -3703,7 +3698,7 @@ int cryptodev_ecdh_compute_key(void *out, size_t outlen,
                                 void *(*KDF) (const void *in, size_t inlen,
                                               void *out, size_t *outlen))
  {
@@ -109,7 +109,7 @@ index eac5fb6..151774c 100644
      unsigned char *q = NULL, *w_xy = NULL, *ab = NULL, *s = NULL, *r = NULL;
      BIGNUM *w_x = NULL, *w_y = NULL;
      int q_len = 0, ab_len = 0, pub_key_len = 0, r_len = 0, priv_key_len = 0;
-@@ -3820,9 +3815,9 @@ int cryptodev_ecdh_compute_key(void *out, size_t outlen,
+@@ -3833,9 +3828,9 @@ int cryptodev_ecdh_compute_key(void *out, size_t outlen,
              else
                  goto err;
          }
@@ -121,7 +121,7 @@ index eac5fb6..151774c 100644
  
      priv_key_len = r_len;
  
-@@ -3874,7 +3869,7 @@ int cryptodev_ecdh_compute_key_async(void *out, size_t outlen,
+@@ -3887,7 +3882,7 @@ int cryptodev_ecdh_compute_key_async(void *out, size_t outlen,
                                                     size_t *outlen),
                                       struct pkc_cookie_s *cookie)
  {
@@ -130,7 +130,7 @@ index eac5fb6..151774c 100644
      unsigned char *q = NULL, *w_xy = NULL, *ab = NULL, *s = NULL, *r = NULL;
      BIGNUM *w_x = NULL, *w_y = NULL;
      int q_len = 0, ab_len = 0, pub_key_len = 0, r_len = 0, priv_key_len = 0;
-@@ -4005,9 +4000,9 @@ int cryptodev_ecdh_compute_key_async(void *out, size_t outlen,
+@@ -4018,9 +4013,9 @@ int cryptodev_ecdh_compute_key_async(void *out, size_t outlen,
              else
                  goto err;
          }
@@ -159,5 +159,5 @@ index af54c51..41a8702 100644
 -};
  #endif
 -- 
-2.7.0
+2.7.3
 
diff --git a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0011-Modulus-parameter-is-not-populated-by-dhparams.patch b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0011-Modulus-parameter-is-not-populated-by-dhparams.patch
index 13aea01..d7fb223 100644
--- a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0011-Modulus-parameter-is-not-populated-by-dhparams.patch
+++ b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0011-Modulus-parameter-is-not-populated-by-dhparams.patch
@@ -1,4 +1,4 @@
-From f9d9da58818740334ef356d0384d4e88da865dca Mon Sep 17 00:00:00 2001
+From 82afed6364dfcced7458dbd2bda7932054078f04 Mon Sep 17 00:00:00 2001
 From: Yashpal Dutta <yashpal.dutta@freescale.com>
 Date: Tue, 22 Apr 2014 22:58:33 +0545
 Subject: [PATCH 11/48] Modulus parameter is not populated by dhparams
@@ -17,10 +17,10 @@ Tested-by: Cristian Stoica <cristian.stoica@freescale.com>
  1 file changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/crypto/engine/eng_cryptodev.c b/crypto/engine/eng_cryptodev.c
-index 151774c..1f1f307 100644
+index afcf72b..2013746 100644
 --- a/crypto/engine/eng_cryptodev.c
 +++ b/crypto/engine/eng_cryptodev.c
-@@ -3502,7 +3502,7 @@ static int cryptodev_dh_keygen_async(DH *dh, struct pkc_cookie_s *cookie)
+@@ -3515,7 +3515,7 @@ static int cryptodev_dh_keygen_async(DH *dh, struct pkc_cookie_s *cookie)
      kop->crk_op = CRK_DH_GENERATE_KEY;
      if (bn2crparam(dh->p, &kop->crk_param[0]))
          goto sw_try;
@@ -29,7 +29,7 @@ index 151774c..1f1f307 100644
          goto sw_try;
      kop->crk_param[2].crp_p = g;
      kop->crk_param[2].crp_nbits = g_len * 8;
-@@ -3557,7 +3557,7 @@ static int cryptodev_dh_keygen(DH *dh)
+@@ -3570,7 +3570,7 @@ static int cryptodev_dh_keygen(DH *dh)
      kop.crk_op = CRK_DH_GENERATE_KEY;
      if (bn2crparam(dh->p, &kop.crk_param[0]))
          goto sw_try;
@@ -39,5 +39,5 @@ index 151774c..1f1f307 100644
      kop.crk_param[2].crp_p = g;
      kop.crk_param[2].crp_nbits = g_len * 8;
 -- 
-2.7.0
+2.7.3
 
diff --git a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0012-SW-Backoff-mechanism-for-dsa-keygen.patch b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0012-SW-Backoff-mechanism-for-dsa-keygen.patch
index bf36a32..b665f7a 100644
--- a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0012-SW-Backoff-mechanism-for-dsa-keygen.patch
+++ b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0012-SW-Backoff-mechanism-for-dsa-keygen.patch
@@ -1,4 +1,4 @@
-From 18f4dbbba2c0142792b394bec35531cefe277712 Mon Sep 17 00:00:00 2001
+From f7817245b35156ec2b15514c952db806140c6ebc Mon Sep 17 00:00:00 2001
 From: Yashpal Dutta <yashpal.dutta@freescale.com>
 Date: Thu, 24 Apr 2014 00:35:34 +0545
 Subject: [PATCH 12/48] SW Backoff mechanism for dsa keygen
@@ -16,10 +16,10 @@ Tested-by: Cristian Stoica <cristian.stoica@freescale.com>
  1 file changed, 8 insertions(+), 4 deletions(-)
 
 diff --git a/crypto/engine/eng_cryptodev.c b/crypto/engine/eng_cryptodev.c
-index 1f1f307..db8e02d 100644
+index 2013746..a3a97d2 100644
 --- a/crypto/engine/eng_cryptodev.c
 +++ b/crypto/engine/eng_cryptodev.c
-@@ -2175,8 +2175,10 @@ static int cryptodev_dsa_keygen(DSA *dsa)
+@@ -2188,8 +2188,10 @@ static int cryptodev_dsa_keygen(DSA *dsa)
      return ret;
   sw_try:
      {
@@ -32,7 +32,7 @@ index 1f1f307..db8e02d 100644
      }
      return ret;
  }
-@@ -2230,11 +2232,13 @@ static int cryptodev_dsa_keygen_async(DSA *dsa, struct pkc_cookie_s *cookie)
+@@ -2243,11 +2245,13 @@ static int cryptodev_dsa_keygen_async(DSA *dsa, struct pkc_cookie_s *cookie)
      return ret;
   sw_try:
      {
@@ -49,5 +49,5 @@ index 1f1f307..db8e02d 100644
      }
      return ret;
 -- 
-2.7.0
+2.7.3
 
diff --git a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0013-Fixed-DH-keygen-pair-generator.patch b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0013-Fixed-DH-keygen-pair-generator.patch
index 12465d7..4f8fd4d 100644
--- a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0013-Fixed-DH-keygen-pair-generator.patch
+++ b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0013-Fixed-DH-keygen-pair-generator.patch
@@ -1,4 +1,4 @@
-From 4d5ffd41f423309fc9aaf3621598ca51c5838e31 Mon Sep 17 00:00:00 2001
+From 0075a1d36133523a40efc66d6491a4f11aca87fd Mon Sep 17 00:00:00 2001
 From: Yashpal Dutta <yashpal.dutta@freescale.com>
 Date: Thu, 1 May 2014 06:35:45 +0545
 Subject: [PATCH 13/48] Fixed DH keygen pair generator
@@ -14,10 +14,10 @@ Tested-by: Cristian Stoica <cristian.stoica@freescale.com>
  1 file changed, 33 insertions(+), 17 deletions(-)
 
 diff --git a/crypto/engine/eng_cryptodev.c b/crypto/engine/eng_cryptodev.c
-index db8e02d..4929ae6 100644
+index a3a97d2..5a9f4b7 100644
 --- a/crypto/engine/eng_cryptodev.c
 +++ b/crypto/engine/eng_cryptodev.c
-@@ -3534,44 +3534,60 @@ static int cryptodev_dh_keygen_async(DH *dh, struct pkc_cookie_s *cookie)
+@@ -3547,44 +3547,60 @@ static int cryptodev_dh_keygen_async(DH *dh, struct pkc_cookie_s *cookie)
  static int cryptodev_dh_keygen(DH *dh)
  {
      struct crypt_kop kop;
@@ -96,5 +96,5 @@ index db8e02d..4929ae6 100644
   sw_try:
      {
 -- 
-2.7.0
+2.7.3
 
diff --git a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0014-cryptodev-add-support-for-aes-gcm-algorithm-offloadi.patch b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0014-cryptodev-add-support-for-aes-gcm-algorithm-offloadi.patch
index 5a8c2d2..898499b 100644
--- a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0014-cryptodev-add-support-for-aes-gcm-algorithm-offloadi.patch
+++ b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0014-cryptodev-add-support-for-aes-gcm-algorithm-offloadi.patch
@@ -1,4 +1,4 @@
-From 317e3d9870097e6b115dd8c9a13ccb5e5ca76f2e Mon Sep 17 00:00:00 2001
+From fcbd6199deb715b117153b7df00cdd4cdec44d79 Mon Sep 17 00:00:00 2001
 From: Cristian Stoica <cristian.stoica@freescale.com>
 Date: Mon, 16 Jun 2014 14:06:21 +0300
 Subject: [PATCH 14/48] cryptodev: add support for aes-gcm algorithm offloading
@@ -10,7 +10,7 @@ Signed-off-by: Cristian Stoica <cristian.stoica@freescale.com>
  2 files changed, 240 insertions(+), 2 deletions(-)
 
 diff --git a/apps/speed.c b/apps/speed.c
-index 95adcc1..e5e609b 100644
+index b862868..fd2a2a5 100644
 --- a/apps/speed.c
 +++ b/apps/speed.c
 @@ -226,7 +226,11 @@
@@ -27,7 +27,7 @@ index 95adcc1..e5e609b 100644
  
  static int mr = 0;
 diff --git a/crypto/engine/eng_cryptodev.c b/crypto/engine/eng_cryptodev.c
-index 4929ae6..d2cdca0 100644
+index 5a9f4b7..1754917 100644
 --- a/crypto/engine/eng_cryptodev.c
 +++ b/crypto/engine/eng_cryptodev.c
 @@ -2,6 +2,7 @@
@@ -38,7 +38,7 @@ index 4929ae6..d2cdca0 100644
   * All rights reserved.
   *
   * Redistribution and use in source and binary forms, with or without
-@@ -77,8 +78,10 @@ struct dev_crypto_state {
+@@ -78,8 +79,10 @@ struct dev_crypto_state {
      struct session_op d_sess;
      int d_fd;
      unsigned char *aad;
@@ -50,7 +50,7 @@ index 4929ae6..d2cdca0 100644
  # ifdef USE_CRYPTODEV_DIGESTS
      char dummy_mac_key[HASH_MAX_LEN];
      unsigned char digest_res[HASH_MAX_LEN];
-@@ -287,6 +290,9 @@ static struct {
+@@ -288,6 +291,9 @@ static struct {
          CRYPTO_TLS10_AES_CBC_HMAC_SHA1, NID_aes_256_cbc_hmac_sha1, 16, 32, 20
      },
      {
@@ -60,7 +60,7 @@ index 4929ae6..d2cdca0 100644
          0, NID_undef, 0, 0, 0
      },
  };
-@@ -325,6 +331,22 @@ static struct {
+@@ -326,6 +332,22 @@ static struct {
  };
  # endif
  
@@ -83,7 +83,7 @@ index 4929ae6..d2cdca0 100644
  /*
   * Return a fd if /dev/crypto seems usable, 0 otherwise.
   */
-@@ -807,6 +829,199 @@ static int cryptodev_cbc_hmac_sha1_ctrl(EVP_CIPHER_CTX *ctx, int type,
+@@ -808,6 +830,199 @@ static int cryptodev_cbc_hmac_sha1_ctrl(EVP_CIPHER_CTX *ctx, int type,
      }
  }
  
@@ -283,7 +283,7 @@ index 4929ae6..d2cdca0 100644
  /*
   * libcrypto EVP stuff - this is how we get wired to EVP so the engine
   * gets called when libcrypto requests a cipher NID.
-@@ -947,6 +1162,22 @@ const EVP_CIPHER cryptodev_aes_256_cbc_hmac_sha1 = {
+@@ -948,6 +1163,22 @@ const EVP_CIPHER cryptodev_aes_256_cbc_hmac_sha1 = {
      NULL
  };
  
@@ -306,7 +306,7 @@ index 4929ae6..d2cdca0 100644
  # ifdef CRYPTO_AES_CTR
  const EVP_CIPHER cryptodev_aes_ctr = {
      NID_aes_128_ctr,
-@@ -1041,6 +1272,9 @@ cryptodev_engine_ciphers(ENGINE *e, const EVP_CIPHER **cipher,
+@@ -1042,6 +1273,9 @@ cryptodev_engine_ciphers(ENGINE *e, const EVP_CIPHER **cipher,
      case NID_aes_256_cbc_hmac_sha1:
          *cipher = &cryptodev_aes_256_cbc_hmac_sha1;
          break;
@@ -317,5 +317,5 @@ index 4929ae6..d2cdca0 100644
          *cipher = NULL;
          break;
 -- 
-2.7.0
+2.7.3
 
diff --git a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0015-eng_cryptodev-extend-TLS-offload-with-3des_cbc_hmac_.patch b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0015-eng_cryptodev-extend-TLS-offload-with-3des_cbc_hmac_.patch
index 623c58b..c1201f2 100644
--- a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0015-eng_cryptodev-extend-TLS-offload-with-3des_cbc_hmac_.patch
+++ b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0015-eng_cryptodev-extend-TLS-offload-with-3des_cbc_hmac_.patch
@@ -1,4 +1,4 @@
-From 7dd6b35c35b027be8ef0ef2e29a949bc4ce96bbd Mon Sep 17 00:00:00 2001
+From 6094ec91a5b8dde4bc3a7928b7cb6c81cac8a169 Mon Sep 17 00:00:00 2001
 From: Tudor Ambarus <tudor.ambarus@freescale.com>
 Date: Fri, 9 May 2014 17:54:06 +0300
 Subject: [PATCH 15/48] eng_cryptodev: extend TLS offload with
@@ -23,10 +23,10 @@ Signed-off-by: Cristian Stoica <cristian.stoica@freescale.com>
  6 files changed, 43 insertions(+), 3 deletions(-)
 
 diff --git a/crypto/engine/eng_cryptodev.c b/crypto/engine/eng_cryptodev.c
-index d2cdca0..8f73a18 100644
+index 1754917..ae644b9 100644
 --- a/crypto/engine/eng_cryptodev.c
 +++ b/crypto/engine/eng_cryptodev.c
-@@ -132,6 +132,7 @@ static int cryptodev_dh_compute_key(unsigned char *key, const BIGNUM *pub_key,
+@@ -133,6 +133,7 @@ static int cryptodev_dh_compute_key(unsigned char *key, const BIGNUM *pub_key,
  static int cryptodev_ctrl(ENGINE *e, int cmd, long i, void *p,
                            void (*f) (void));
  void ENGINE_load_cryptodev(void);
@@ -34,7 +34,7 @@ index d2cdca0..8f73a18 100644
  const EVP_CIPHER cryptodev_aes_128_cbc_hmac_sha1;
  const EVP_CIPHER cryptodev_aes_256_cbc_hmac_sha1;
  
-@@ -284,6 +285,9 @@ static struct {
+@@ -285,6 +286,9 @@ static struct {
          CRYPTO_SKIPJACK_CBC, NID_undef, 0, 0, 0
      },
      {
@@ -44,7 +44,7 @@ index d2cdca0..8f73a18 100644
          CRYPTO_TLS10_AES_CBC_HMAC_SHA1, NID_aes_128_cbc_hmac_sha1, 16, 16, 20
      },
      {
-@@ -519,6 +523,9 @@ static int cryptodev_usable_ciphers(const int **nids)
+@@ -520,6 +524,9 @@ static int cryptodev_usable_ciphers(const int **nids)
          case NID_aes_256_cbc_hmac_sha1:
              EVP_add_cipher(&cryptodev_aes_256_cbc_hmac_sha1);
              break;
@@ -54,7 +54,7 @@ index d2cdca0..8f73a18 100644
          }
      }
      return count;
-@@ -623,6 +630,7 @@ static int cryptodev_aead_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
+@@ -624,6 +631,7 @@ static int cryptodev_aead_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
      switch (ctx->cipher->nid) {
      case NID_aes_128_cbc_hmac_sha1:
      case NID_aes_256_cbc_hmac_sha1:
@@ -62,7 +62,7 @@ index d2cdca0..8f73a18 100644
          cryp.flags = COP_FLAG_AEAD_TLS_TYPE;
      }
      cryp.ses = sess->ses;
-@@ -813,6 +821,7 @@ static int cryptodev_cbc_hmac_sha1_ctrl(EVP_CIPHER_CTX *ctx, int type,
+@@ -814,6 +822,7 @@ static int cryptodev_cbc_hmac_sha1_ctrl(EVP_CIPHER_CTX *ctx, int type,
              switch (ctx->cipher->nid) {
              case NID_aes_128_cbc_hmac_sha1:
              case NID_aes_256_cbc_hmac_sha1:
@@ -70,7 +70,7 @@ index d2cdca0..8f73a18 100644
                  maclen = SHA_DIGEST_LENGTH;
              }
  
-@@ -1134,6 +1143,20 @@ const EVP_CIPHER cryptodev_aes_256_cbc = {
+@@ -1135,6 +1144,20 @@ const EVP_CIPHER cryptodev_aes_256_cbc = {
      NULL
  };
  
@@ -91,7 +91,7 @@ index d2cdca0..8f73a18 100644
  const EVP_CIPHER cryptodev_aes_128_cbc_hmac_sha1 = {
      NID_aes_128_cbc_hmac_sha1,
      16, 16, 16,
-@@ -1255,6 +1278,9 @@ cryptodev_engine_ciphers(ENGINE *e, const EVP_CIPHER **cipher,
+@@ -1256,6 +1279,9 @@ cryptodev_engine_ciphers(ENGINE *e, const EVP_CIPHER **cipher,
      case NID_aes_256_cbc:
          *cipher = &cryptodev_aes_256_cbc;
          break;
@@ -180,7 +180,7 @@ index b57aabb..4e1ff18 100644
  ISO-US 10046 2 1	: dhpublicnumber		: X9.42 DH
  
 diff --git a/ssl/ssl_ciph.c b/ssl/ssl_ciph.c
-index 302464e..a379273 100644
+index 2ad8f43..fdf6be9 100644
 --- a/ssl/ssl_ciph.c
 +++ b/ssl/ssl_ciph.c
 @@ -668,6 +668,10 @@ int ssl_cipher_get_evp(const SSL_SESSION *s, const EVP_CIPHER **enc,
@@ -195,5 +195,5 @@ index 302464e..a379273 100644
      } else
          return (0);
 -- 
-2.7.0
+2.7.3
 
diff --git a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0016-eng_cryptodev-add-support-for-TLSv1.1-record-offload.patch b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0016-eng_cryptodev-add-support-for-TLSv1.1-record-offload.patch
index c586621..d6b72b5 100644
--- a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0016-eng_cryptodev-add-support-for-TLSv1.1-record-offload.patch
+++ b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0016-eng_cryptodev-add-support-for-TLSv1.1-record-offload.patch
@@ -1,4 +1,4 @@
-From 3f34089ab0a3b31ec6b31a6cbf308ca20c6ef597 Mon Sep 17 00:00:00 2001
+From 4a229203e276283cb894b08b2607204a647d7594 Mon Sep 17 00:00:00 2001
 From: Cristian Stoica <cristian.stoica@nxp.com>
 Date: Fri, 22 Jan 2016 11:58:34 +0200
 Subject: [PATCH 16/48] eng_cryptodev: add support for TLSv1.1 record offload
@@ -23,10 +23,10 @@ Signed-off-by: Cristian Stoica <cristian.stoica@nxp.com>
  6 files changed, 151 insertions(+), 9 deletions(-)
 
 diff --git a/crypto/engine/eng_cryptodev.c b/crypto/engine/eng_cryptodev.c
-index 8f73a18..e37a661 100644
+index ae644b9..80b20e5 100644
 --- a/crypto/engine/eng_cryptodev.c
 +++ b/crypto/engine/eng_cryptodev.c
-@@ -66,6 +66,7 @@ void ENGINE_load_cryptodev(void)
+@@ -67,6 +67,7 @@ void ENGINE_load_cryptodev(void)
  # include <sys/ioctl.h>
  # include <errno.h>
  # include <stdio.h>
@@ -34,7 +34,7 @@ index 8f73a18..e37a661 100644
  # include <unistd.h>
  # include <fcntl.h>
  # include <stdarg.h>
-@@ -135,6 +136,9 @@ void ENGINE_load_cryptodev(void);
+@@ -136,6 +137,9 @@ void ENGINE_load_cryptodev(void);
  const EVP_CIPHER cryptodev_3des_cbc_hmac_sha1;
  const EVP_CIPHER cryptodev_aes_128_cbc_hmac_sha1;
  const EVP_CIPHER cryptodev_aes_256_cbc_hmac_sha1;
@@ -44,7 +44,7 @@ index 8f73a18..e37a661 100644
  
  inline int spcf_bn2bin(BIGNUM *bn, unsigned char **bin, int *bin_len)
  {
-@@ -294,6 +298,18 @@ static struct {
+@@ -295,6 +299,18 @@ static struct {
          CRYPTO_TLS10_AES_CBC_HMAC_SHA1, NID_aes_256_cbc_hmac_sha1, 16, 32, 20
      },
      {
@@ -63,7 +63,7 @@ index 8f73a18..e37a661 100644
          CRYPTO_AES_GCM, NID_aes_128_gcm, 16, 16, 0
      },
      {
-@@ -526,6 +542,15 @@ static int cryptodev_usable_ciphers(const int **nids)
+@@ -527,6 +543,15 @@ static int cryptodev_usable_ciphers(const int **nids)
          case NID_des_ede3_cbc_hmac_sha1:
              EVP_add_cipher(&cryptodev_3des_cbc_hmac_sha1);
              break;
@@ -79,7 +79,7 @@ index 8f73a18..e37a661 100644
          }
      }
      return count;
-@@ -631,6 +656,9 @@ static int cryptodev_aead_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
+@@ -632,6 +657,9 @@ static int cryptodev_aead_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
      case NID_aes_128_cbc_hmac_sha1:
      case NID_aes_256_cbc_hmac_sha1:
      case NID_des_ede3_cbc_hmac_sha1:
@@ -89,7 +89,7 @@ index 8f73a18..e37a661 100644
          cryp.flags = COP_FLAG_AEAD_TLS_TYPE;
      }
      cryp.ses = sess->ses;
-@@ -810,8 +838,9 @@ static int cryptodev_cbc_hmac_sha1_ctrl(EVP_CIPHER_CTX *ctx, int type,
+@@ -811,8 +839,9 @@ static int cryptodev_cbc_hmac_sha1_ctrl(EVP_CIPHER_CTX *ctx, int type,
              struct dev_crypto_state *state = ctx->cipher_data;
              unsigned char *p = ptr;
              unsigned int cryptlen = p[arg - 2] << 8 | p[arg - 1];
@@ -100,7 +100,7 @@ index 8f73a18..e37a661 100644
  
              state->aad = ptr;
              state->aad_len = arg;
-@@ -823,6 +852,20 @@ static int cryptodev_cbc_hmac_sha1_ctrl(EVP_CIPHER_CTX *ctx, int type,
+@@ -824,6 +853,20 @@ static int cryptodev_cbc_hmac_sha1_ctrl(EVP_CIPHER_CTX *ctx, int type,
              case NID_aes_256_cbc_hmac_sha1:
              case NID_des_ede3_cbc_hmac_sha1:
                  maclen = SHA_DIGEST_LENGTH;
@@ -121,7 +121,7 @@ index 8f73a18..e37a661 100644
              }
  
              /* space required for encryption (not only TLS padding) */
-@@ -1185,6 +1228,48 @@ const EVP_CIPHER cryptodev_aes_256_cbc_hmac_sha1 = {
+@@ -1186,6 +1229,48 @@ const EVP_CIPHER cryptodev_aes_256_cbc_hmac_sha1 = {
      NULL
  };
  
@@ -170,7 +170,7 @@ index 8f73a18..e37a661 100644
  const EVP_CIPHER cryptodev_aes_128_gcm = {
      NID_aes_128_gcm,
      1, 16, 12,
-@@ -1298,6 +1383,15 @@ cryptodev_engine_ciphers(ENGINE *e, const EVP_CIPHER **cipher,
+@@ -1299,6 +1384,15 @@ cryptodev_engine_ciphers(ENGINE *e, const EVP_CIPHER **cipher,
      case NID_aes_256_cbc_hmac_sha1:
          *cipher = &cryptodev_aes_256_cbc_hmac_sha1;
          break;
@@ -285,7 +285,7 @@ index 4e1ff18..cda81da 100644
  ISO-US 10046 2 1	: dhpublicnumber		: X9.42 DH
  
 diff --git a/ssl/ssl_ciph.c b/ssl/ssl_ciph.c
-index a379273..e3d73ac 100644
+index fdf6be9..b4af7dc 100644
 --- a/ssl/ssl_ciph.c
 +++ b/ssl/ssl_ciph.c
 @@ -652,11 +652,13 @@ int ssl_cipher_get_evp(const SSL_SESSION *s, const EVP_CIPHER **enc,
@@ -334,5 +334,5 @@ index a379273..e3d73ac 100644
          return (1);
      } else
 -- 
-2.7.0
+2.7.3
 
diff --git a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0017-eng_cryptodev-add-support-for-TLSv1.2-record-offload.patch b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0017-eng_cryptodev-add-support-for-TLSv1.2-record-offload.patch
index 5e65ec6..3034894 100644
--- a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0017-eng_cryptodev-add-support-for-TLSv1.2-record-offload.patch
+++ b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0017-eng_cryptodev-add-support-for-TLSv1.2-record-offload.patch
@@ -1,4 +1,4 @@
-From 4c1531a088076118ce3c06cb0af15998f0796cb3 Mon Sep 17 00:00:00 2001
+From 0103fb8e6fc412462968224ec9315609c54eccc1 Mon Sep 17 00:00:00 2001
 From: Tudor Ambarus <tudor.ambarus@freescale.com>
 Date: Tue, 31 Mar 2015 16:32:35 +0300
 Subject: [PATCH 17/48] eng_cryptodev: add support for TLSv1.2 record offload
@@ -25,10 +25,10 @@ Tested-by: Cristian Stoica <cristian.stoica@freescale.com>
  6 files changed, 216 insertions(+), 3 deletions(-)
 
 diff --git a/crypto/engine/eng_cryptodev.c b/crypto/engine/eng_cryptodev.c
-index e37a661..e6f9f16 100644
+index 80b20e5..455868e 100644
 --- a/crypto/engine/eng_cryptodev.c
 +++ b/crypto/engine/eng_cryptodev.c
-@@ -139,6 +139,11 @@ const EVP_CIPHER cryptodev_aes_256_cbc_hmac_sha1;
+@@ -140,6 +140,11 @@ const EVP_CIPHER cryptodev_aes_256_cbc_hmac_sha1;
  const EVP_CIPHER cryptodev_tls11_3des_cbc_hmac_sha1;
  const EVP_CIPHER cryptodev_tls11_aes_128_cbc_hmac_sha1;
  const EVP_CIPHER cryptodev_tls11_aes_256_cbc_hmac_sha1;
@@ -40,7 +40,7 @@ index e37a661..e6f9f16 100644
  
  inline int spcf_bn2bin(BIGNUM *bn, unsigned char **bin, int *bin_len)
  {
-@@ -310,6 +315,26 @@ static struct {
+@@ -311,6 +316,26 @@ static struct {
          20
      },
      {
@@ -67,7 +67,7 @@ index e37a661..e6f9f16 100644
          CRYPTO_AES_GCM, NID_aes_128_gcm, 16, 16, 0
      },
      {
-@@ -551,6 +576,21 @@ static int cryptodev_usable_ciphers(const int **nids)
+@@ -552,6 +577,21 @@ static int cryptodev_usable_ciphers(const int **nids)
          case NID_tls11_aes_256_cbc_hmac_sha1:
              EVP_add_cipher(&cryptodev_tls11_aes_256_cbc_hmac_sha1);
              break;
@@ -89,7 +89,7 @@ index e37a661..e6f9f16 100644
          }
      }
      return count;
-@@ -659,6 +699,11 @@ static int cryptodev_aead_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
+@@ -660,6 +700,11 @@ static int cryptodev_aead_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
      case NID_tls11_des_ede3_cbc_hmac_sha1:
      case NID_tls11_aes_128_cbc_hmac_sha1:
      case NID_tls11_aes_256_cbc_hmac_sha1:
@@ -101,7 +101,7 @@ index e37a661..e6f9f16 100644
          cryp.flags = COP_FLAG_AEAD_TLS_TYPE;
      }
      cryp.ses = sess->ses;
-@@ -856,9 +901,17 @@ static int cryptodev_cbc_hmac_sha1_ctrl(EVP_CIPHER_CTX *ctx, int type,
+@@ -857,9 +902,17 @@ static int cryptodev_cbc_hmac_sha1_ctrl(EVP_CIPHER_CTX *ctx, int type,
              case NID_tls11_des_ede3_cbc_hmac_sha1:
              case NID_tls11_aes_128_cbc_hmac_sha1:
              case NID_tls11_aes_256_cbc_hmac_sha1:
@@ -119,7 +119,7 @@ index e37a661..e6f9f16 100644
              }
  
              /* Correct length for AAD Length field */
-@@ -1270,6 +1323,76 @@ const EVP_CIPHER cryptodev_tls11_aes_256_cbc_hmac_sha1 = {
+@@ -1271,6 +1324,76 @@ const EVP_CIPHER cryptodev_tls11_aes_256_cbc_hmac_sha1 = {
      NULL
  };
  
@@ -196,7 +196,7 @@ index e37a661..e6f9f16 100644
  const EVP_CIPHER cryptodev_aes_128_gcm = {
      NID_aes_128_gcm,
      1, 16, 12,
-@@ -1395,6 +1518,21 @@ cryptodev_engine_ciphers(ENGINE *e, const EVP_CIPHER **cipher,
+@@ -1396,6 +1519,21 @@ cryptodev_engine_ciphers(ENGINE *e, const EVP_CIPHER **cipher,
      case NID_aes_128_gcm:
          *cipher = &cryptodev_aes_128_gcm;
          break;
@@ -337,7 +337,7 @@ index cda81da..68a8da8 100644
  ISO-US 10046 2 1	: dhpublicnumber		: X9.42 DH
  
 diff --git a/ssl/ssl_ciph.c b/ssl/ssl_ciph.c
-index e3d73ac..4698528 100644
+index b4af7dc..359cb5d 100644
 --- a/ssl/ssl_ciph.c
 +++ b/ssl/ssl_ciph.c
 @@ -690,6 +690,31 @@ int ssl_cipher_get_evp(const SSL_SESSION *s, const EVP_CIPHER **enc,
@@ -373,5 +373,5 @@ index e3d73ac..4698528 100644
      } else
          return (0);
 -- 
-2.7.0
+2.7.3
 
diff --git a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0018-cryptodev-drop-redundant-function.patch b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0018-cryptodev-drop-redundant-function.patch
index c1f0c9d..cf6cce2 100644
--- a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0018-cryptodev-drop-redundant-function.patch
+++ b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0018-cryptodev-drop-redundant-function.patch
@@ -1,4 +1,4 @@
-From 07d8dad75fb1e4c3487ae560ac51e2141aa0e0c1 Mon Sep 17 00:00:00 2001
+From dddb8bc7eea34dfc73c1f5c8863d19894d9a18ac Mon Sep 17 00:00:00 2001
 From: Cristian Stoica <cristian.stoica@freescale.com>
 Date: Thu, 19 Feb 2015 16:11:53 +0200
 Subject: [PATCH 18/48] cryptodev: drop redundant function
@@ -12,10 +12,10 @@ Signed-off-by: Cristian Stoica <cristian.stoica@freescale.com>
  1 file changed, 3 insertions(+), 14 deletions(-)
 
 diff --git a/crypto/engine/eng_cryptodev.c b/crypto/engine/eng_cryptodev.c
-index e6f9f16..4cffaf1 100644
+index 455868e..d229f61 100644
 --- a/crypto/engine/eng_cryptodev.c
 +++ b/crypto/engine/eng_cryptodev.c
-@@ -93,7 +93,6 @@ struct dev_crypto_state {
+@@ -94,7 +94,6 @@ struct dev_crypto_state {
  
  static u_int32_t cryptodev_asymfeat = 0;
  
@@ -23,7 +23,7 @@ index e6f9f16..4cffaf1 100644
  static int open_dev_crypto(void);
  static int get_dev_crypto(void);
  static int get_cryptodev_ciphers(const int **cnids);
-@@ -440,16 +439,6 @@ static void put_dev_crypto(int fd)
+@@ -441,16 +440,6 @@ static void put_dev_crypto(int fd)
  # endif
  }
  
@@ -40,16 +40,16 @@ index e6f9f16..4cffaf1 100644
  /*
   * Find out what ciphers /dev/crypto will let us have a session for.
   * XXX note, that some of these openssl doesn't deal with yet!
-@@ -1919,7 +1908,7 @@ cryptodev_asym(struct crypt_kop *kop, int rlen, BIGNUM *r, int slen,
+@@ -1923,7 +1912,7 @@ cryptodev_asym(struct crypt_kop *kop, int rlen, BIGNUM *r, int slen,
  {
      int fd, ret = -1;
  
 -    if ((fd = get_asym_dev_crypto()) < 0)
 +    if ((fd = get_dev_crypto()) < 0)
-         return (ret);
+         return ret;
  
      if (r) {
-@@ -2509,7 +2498,7 @@ static int cryptodev_rsa_keygen(RSA *rsa, int bits, BIGNUM *e, BN_GENCB *cb)
+@@ -2522,7 +2511,7 @@ static int cryptodev_rsa_keygen(RSA *rsa, int bits, BIGNUM *e, BN_GENCB *cb)
      int p_len, q_len;
      int i;
  
@@ -58,7 +58,7 @@ index e6f9f16..4cffaf1 100644
          goto sw_try;
  
      if (!rsa->n && ((rsa->n = BN_new()) == NULL))
-@@ -4098,7 +4087,7 @@ cryptodev_dh_compute_key(unsigned char *key, const BIGNUM *pub_key, DH *dh)
+@@ -4111,7 +4100,7 @@ cryptodev_dh_compute_key(unsigned char *key, const BIGNUM *pub_key, DH *dh)
      BIGNUM *temp = NULL;
      unsigned char *padded_pub_key = NULL, *p = NULL;
  
@@ -68,5 +68,5 @@ index e6f9f16..4cffaf1 100644
  
      memset(&kop, 0, sizeof kop);
 -- 
-2.7.0
+2.7.3
 
diff --git a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0019-cryptodev-do-not-zero-the-buffer-before-use.patch b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0019-cryptodev-do-not-zero-the-buffer-before-use.patch
index 248d88e..d423dd1 100644
--- a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0019-cryptodev-do-not-zero-the-buffer-before-use.patch
+++ b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0019-cryptodev-do-not-zero-the-buffer-before-use.patch
@@ -1,4 +1,4 @@
-From 1f7ef531a010a3a86c9c16f801044b5f01652eb2 Mon Sep 17 00:00:00 2001
+From 413ef57790244fc521d40ade62358abaf0a55d10 Mon Sep 17 00:00:00 2001
 From: Cristian Stoica <cristian.stoica@freescale.com>
 Date: Tue, 17 Feb 2015 13:12:53 +0200
 Subject: [PATCH 19/48] cryptodev: do not zero the buffer before use
@@ -14,10 +14,10 @@ Reviewed-on: http://git.am.freescale.net:8181/34217
  1 file changed, 4 insertions(+), 10 deletions(-)
 
 diff --git a/crypto/engine/eng_cryptodev.c b/crypto/engine/eng_cryptodev.c
-index 4cffaf1..bbc903b 100644
+index d229f61..4d370ad 100644
 --- a/crypto/engine/eng_cryptodev.c
 +++ b/crypto/engine/eng_cryptodev.c
-@@ -1801,21 +1801,15 @@ cryptodev_engine_digests(ENGINE *e, const EVP_MD **digest,
+@@ -1806,21 +1806,15 @@ cryptodev_engine_digests(ENGINE *e, const EVP_MD **digest,
  static int bn2crparam(const BIGNUM *a, struct crparam *crp)
  {
      ssize_t bytes, bits;
@@ -44,5 +44,5 @@ index 4cffaf1..bbc903b 100644
      BN_bn2bin(a, crp->crp_p);
      return (0);
 -- 
-2.7.0
+2.7.3
 
diff --git a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0020-cryptodev-clean-up-code-layout.patch b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0020-cryptodev-clean-up-code-layout.patch
index c600bda..d82dc5c 100644
--- a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0020-cryptodev-clean-up-code-layout.patch
+++ b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0020-cryptodev-clean-up-code-layout.patch
@@ -1,4 +1,4 @@
-From 453c617b10fb2c4e748b5799ab4b00c184470c60 Mon Sep 17 00:00:00 2001
+From ac3dfaf10125f08454d51e8fc4b3a77d33fd96d0 Mon Sep 17 00:00:00 2001
 From: Cristian Stoica <cristian.stoica@freescale.com>
 Date: Wed, 18 Feb 2015 10:39:46 +0200
 Subject: [PATCH 20/48] cryptodev: clean-up code layout
@@ -11,10 +11,10 @@ Signed-off-by: Cristian Stoica <cristian.stoica@freescale.com>
  1 file changed, 21 insertions(+), 24 deletions(-)
 
 diff --git a/crypto/engine/eng_cryptodev.c b/crypto/engine/eng_cryptodev.c
-index bbc903b..14dcddf 100644
+index 4d370ad..487a2c9 100644
 --- a/crypto/engine/eng_cryptodev.c
 +++ b/crypto/engine/eng_cryptodev.c
-@@ -1865,32 +1865,29 @@ cryptodev_asym_async(struct crypt_kop *kop, int rlen, BIGNUM *r, int slen,
+@@ -1869,32 +1869,29 @@ cryptodev_asym_async(struct crypt_kop *kop, int rlen, BIGNUM *r, int slen,
      fd = *(int *)cookie->eng_handle;
  
      eng_cookie = malloc(sizeof(struct cryptodev_cookie_s));
@@ -69,5 +69,5 @@ index bbc903b..14dcddf 100644
      cookie->eng_cookie = eng_cookie;
      return ioctl(fd, CIOCASYMASYNCRYPT, kop);
 -- 
-2.7.0
+2.7.3
 
diff --git a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0021-cryptodev-do-not-cache-file-descriptor-in-open.patch b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0021-cryptodev-do-not-cache-file-descriptor-in-open.patch
index 9c6e503..fa825bb 100644
--- a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0021-cryptodev-do-not-cache-file-descriptor-in-open.patch
+++ b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0021-cryptodev-do-not-cache-file-descriptor-in-open.patch
@@ -1,4 +1,4 @@
-From d9395f7d876f7dfaaae25867c88d1e1f684589de Mon Sep 17 00:00:00 2001
+From b96074f4e44b2147d4d771dd086463c9cb7d42a3 Mon Sep 17 00:00:00 2001
 From: Cristian Stoica <cristian.stoica@freescale.com>
 Date: Thu, 19 Feb 2015 16:43:29 +0200
 Subject: [PATCH 21/48] cryptodev: do not cache file descriptor in 'open'
@@ -18,10 +18,10 @@ Signed-off-by: Cristian Stoica <cristian.stoica@freescale.com>
  1 file changed, 21 insertions(+), 22 deletions(-)
 
 diff --git a/crypto/engine/eng_cryptodev.c b/crypto/engine/eng_cryptodev.c
-index 14dcddf..75fca7f 100644
+index 487a2c9..d7188a6 100644
 --- a/crypto/engine/eng_cryptodev.c
 +++ b/crypto/engine/eng_cryptodev.c
-@@ -391,45 +391,44 @@ static void ctr64_inc(unsigned char *counter)
+@@ -392,45 +392,44 @@ static void ctr64_inc(unsigned char *counter)
      } while (n);
  }
  
@@ -89,5 +89,5 @@ index 14dcddf..75fca7f 100644
  
  static void put_dev_crypto(int fd)
 -- 
-2.7.0
+2.7.3
 
diff --git a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0022-cryptodev-put_dev_crypto-should-be-an-int.patch b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0022-cryptodev-put_dev_crypto-should-be-an-int.patch
index 121123d..eddb1f2 100644
--- a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0022-cryptodev-put_dev_crypto-should-be-an-int.patch
+++ b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0022-cryptodev-put_dev_crypto-should-be-an-int.patch
@@ -1,4 +1,4 @@
-From 79d6976e2ad2e5ac31374bc24ee29ae53f55c0e1 Mon Sep 17 00:00:00 2001
+From 43710e60fd8bae1ebc4d1eef6d86cb4e82653ac4 Mon Sep 17 00:00:00 2001
 From: Cristian Stoica <cristian.stoica@freescale.com>
 Date: Thu, 19 Feb 2015 13:09:32 +0200
 Subject: [PATCH 22/48] cryptodev: put_dev_crypto should be an int
@@ -11,10 +11,10 @@ Reviewed-on: http://git.am.freescale.net:8181/34220
  1 file changed, 5 insertions(+), 3 deletions(-)
 
 diff --git a/crypto/engine/eng_cryptodev.c b/crypto/engine/eng_cryptodev.c
-index 75fca7f..b162646 100644
+index d7188a6..7b3dbd1 100644
 --- a/crypto/engine/eng_cryptodev.c
 +++ b/crypto/engine/eng_cryptodev.c
-@@ -431,10 +431,12 @@ static int get_dev_crypto(void)
+@@ -432,10 +432,12 @@ static int get_dev_crypto(void)
  # endif
  }
  
@@ -31,5 +31,5 @@ index 75fca7f..b162646 100644
  }
  
 -- 
-2.7.0
+2.7.3
 
diff --git a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0023-cryptodev-simplify-cryptodev-pkc-support-code.patch b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0023-cryptodev-simplify-cryptodev-pkc-support-code.patch
index 1043fbd..4f589af 100644
--- a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0023-cryptodev-simplify-cryptodev-pkc-support-code.patch
+++ b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0023-cryptodev-simplify-cryptodev-pkc-support-code.patch
@@ -1,4 +1,4 @@
-From f99682e0ccaeadb7446d211dfad6dbf8fcd5675f Mon Sep 17 00:00:00 2001
+From b706132a33555162e6dbf26d9fde4bcb1136d553 Mon Sep 17 00:00:00 2001
 From: Cristian Stoica <cristian.stoica@freescale.com>
 Date: Thu, 19 Feb 2015 13:39:52 +0200
 Subject: [PATCH 23/48] cryptodev: simplify cryptodev pkc support code
@@ -29,10 +29,10 @@ index 2b4ec59..ddb9b69 100644
  
  #ifdef  __cplusplus
 diff --git a/crypto/engine/eng_cryptodev.c b/crypto/engine/eng_cryptodev.c
-index b162646..1910c89 100644
+index 7b3dbd1..34c8d18 100644
 --- a/crypto/engine/eng_cryptodev.c
 +++ b/crypto/engine/eng_cryptodev.c
-@@ -433,10 +433,10 @@ static int get_dev_crypto(void)
+@@ -434,10 +434,10 @@ static int get_dev_crypto(void)
  
  static int put_dev_crypto(int fd)
  {
@@ -47,7 +47,7 @@ index b162646..1910c89 100644
  # endif
  }
  
-@@ -1863,7 +1863,7 @@ cryptodev_asym_async(struct crypt_kop *kop, int rlen, BIGNUM *r, int slen,
+@@ -1867,7 +1867,7 @@ cryptodev_asym_async(struct crypt_kop *kop, int rlen, BIGNUM *r, int slen,
      struct pkc_cookie_s *cookie = kop->cookie;
      struct cryptodev_cookie_s *eng_cookie;
  
@@ -56,8 +56,8 @@ index b162646..1910c89 100644
  
      eng_cookie = malloc(sizeof(struct cryptodev_cookie_s));
      if (!eng_cookie)
-@@ -1926,38 +1926,11 @@ cryptodev_asym(struct crypt_kop *kop, int rlen, BIGNUM *r, int slen,
-     return (ret);
+@@ -1939,38 +1939,11 @@ cryptodev_asym(struct crypt_kop *kop, int rlen, BIGNUM *r, int slen,
+     return ret;
  }
  
 -/* Close an opened instance of cryptodev engine */
@@ -96,7 +96,7 @@ index b162646..1910c89 100644
      struct pkc_cookie_list_s cookie_list;
      struct pkc_cookie_s *cookie;
      int i;
-@@ -4706,8 +4679,8 @@ void ENGINE_load_cryptodev(void)
+@@ -4719,8 +4692,8 @@ void ENGINE_load_cryptodev(void)
      }
  
      ENGINE_set_check_pkc_availability(engine, cryptodev_check_availability);
@@ -256,5 +256,5 @@ index 4527aa1..f83ee73 100644
  int ENGINE_set_RSA(ENGINE *e, const RSA_METHOD *rsa_meth);
  int ENGINE_set_DSA(ENGINE *e, const DSA_METHOD *dsa_meth);
 -- 
-2.7.0
+2.7.3
 
diff --git a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0024-cryptodev-clarify-code-remove-assignments-from-condi.patch b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0024-cryptodev-clarify-code-remove-assignments-from-condi.patch
index 27ccd95..0daa2a4 100644
--- a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0024-cryptodev-clarify-code-remove-assignments-from-condi.patch
+++ b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0024-cryptodev-clarify-code-remove-assignments-from-condi.patch
@@ -1,4 +1,4 @@
-From cb6842dac159b40acdc755526b0ba0afb61d9d64 Mon Sep 17 00:00:00 2001
+From e1de7751808d5196a9a719ad49a1281d2a3c453d Mon Sep 17 00:00:00 2001
 From: Cristian Stoica <cristian.stoica@nxp.com>
 Date: Mon, 14 Dec 2015 14:02:00 +0200
 Subject: [PATCH 24/48] cryptodev: clarify code, remove assignments from
@@ -10,10 +10,10 @@ Signed-off-by: Cristian Stoica <cristian.stoica@nxp.com>
  1 file changed, 4 insertions(+), 2 deletions(-)
 
 diff --git a/crypto/engine/eng_cryptodev.c b/crypto/engine/eng_cryptodev.c
-index 1910c89..fcfd232 100644
+index 34c8d18..31687d8 100644
 --- a/crypto/engine/eng_cryptodev.c
 +++ b/crypto/engine/eng_cryptodev.c
-@@ -1559,14 +1559,16 @@ static int cryptodev_digest_init(EVP_MD_CTX *ctx)
+@@ -1560,14 +1560,16 @@ static int cryptodev_digest_init(EVP_MD_CTX *ctx)
      struct session_op *sess = &state->d_sess;
      int digest;
  
@@ -33,5 +33,5 @@ index 1910c89..fcfd232 100644
          return (0);
      }
 -- 
-2.7.0
+2.7.3
 
diff --git a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0025-cryptodev-clean-up-context-state-before-anything-els.patch b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0025-cryptodev-clean-up-context-state-before-anything-els.patch
index ad5c303..3e02c72 100644
--- a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0025-cryptodev-clean-up-context-state-before-anything-els.patch
+++ b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0025-cryptodev-clean-up-context-state-before-anything-els.patch
@@ -1,4 +1,4 @@
-From 087ae4ecbaf9cd49a2fcae9cb09c491beabc4c88 Mon Sep 17 00:00:00 2001
+From 9ffa46ff1348817f4c8d24e9d42fa0f739a652d7 Mon Sep 17 00:00:00 2001
 From: Cristian Stoica <cristian.stoica@nxp.com>
 Date: Tue, 15 Dec 2015 12:10:37 +0200
 Subject: [PATCH 25/48] cryptodev: clean-up context state before anything else
@@ -9,10 +9,10 @@ Signed-off-by: Cristian Stoica <cristian.stoica@nxp.com>
  1 file changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/crypto/engine/eng_cryptodev.c b/crypto/engine/eng_cryptodev.c
-index fcfd232..16e6fd9 100644
+index 31687d8..e6616e9 100644
 --- a/crypto/engine/eng_cryptodev.c
 +++ b/crypto/engine/eng_cryptodev.c
-@@ -1559,14 +1559,14 @@ static int cryptodev_digest_init(EVP_MD_CTX *ctx)
+@@ -1560,14 +1560,14 @@ static int cryptodev_digest_init(EVP_MD_CTX *ctx)
      struct session_op *sess = &state->d_sess;
      int digest;
  
@@ -30,5 +30,5 @@ index fcfd232..16e6fd9 100644
      if (state->d_fd < 0) {
          printf("cryptodev_digest_init: Can't get Dev \n");
 -- 
-2.7.0
+2.7.3
 
diff --git a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0026-cryptodev-remove-code-duplication-in-digest-operatio.patch b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0026-cryptodev-remove-code-duplication-in-digest-operatio.patch
index 936aafc..4e1ce65 100644
--- a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0026-cryptodev-remove-code-duplication-in-digest-operatio.patch
+++ b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0026-cryptodev-remove-code-duplication-in-digest-operatio.patch
@@ -1,4 +1,4 @@
-From 02dd4d275f7544a4027ca3452b60ac5bdd9376fb Mon Sep 17 00:00:00 2001
+From 7f6a709ed46d79d765ee0bb2fc16b84d0bb4c8a6 Mon Sep 17 00:00:00 2001
 From: Cristian Stoica <cristian.stoica@nxp.com>
 Date: Mon, 14 Dec 2015 17:49:08 +0200
 Subject: [PATCH 26/48] cryptodev: remove code duplication in digest operations
@@ -17,10 +17,10 @@ Signed-off-by: Cristian Stoica <cristian.stoica@nxp.com>
  1 file changed, 28 insertions(+), 48 deletions(-)
 
 diff --git a/crypto/engine/eng_cryptodev.c b/crypto/engine/eng_cryptodev.c
-index 16e6fd9..048e050 100644
+index e6616e9..a8652bf 100644
 --- a/crypto/engine/eng_cryptodev.c
 +++ b/crypto/engine/eng_cryptodev.c
-@@ -1590,24 +1590,25 @@ static int cryptodev_digest_init(EVP_MD_CTX *ctx)
+@@ -1591,24 +1591,25 @@ static int cryptodev_digest_init(EVP_MD_CTX *ctx)
  static int cryptodev_digest_update(EVP_MD_CTX *ctx, const void *data,
                                     size_t count)
  {
@@ -57,7 +57,7 @@ index 16e6fd9..048e050 100644
          if (!state->mac_data) {
              printf("cryptodev_digest_update: realloc failed\n");
              return (0);
-@@ -1615,23 +1616,9 @@ static int cryptodev_digest_update(EVP_MD_CTX *ctx, const void *data,
+@@ -1616,23 +1617,9 @@ static int cryptodev_digest_update(EVP_MD_CTX *ctx, const void *data,
  
          memcpy(state->mac_data + state->mac_len, data, count);
          state->mac_len += count;
@@ -82,7 +82,7 @@ index 16e6fd9..048e050 100644
  }
  
  static int cryptodev_digest_final(EVP_MD_CTX *ctx, unsigned char *md)
-@@ -1640,33 +1627,25 @@ static int cryptodev_digest_final(EVP_MD_CTX *ctx, unsigned char *md)
+@@ -1641,33 +1628,25 @@ static int cryptodev_digest_final(EVP_MD_CTX *ctx, unsigned char *md)
      struct dev_crypto_state *state = ctx->md_data;
      struct session_op *sess = &state->d_sess;
  
@@ -127,7 +127,7 @@ index 16e6fd9..048e050 100644
  }
  
  static int cryptodev_digest_cleanup(EVP_MD_CTX *ctx)
-@@ -1683,11 +1662,11 @@ static int cryptodev_digest_cleanup(EVP_MD_CTX *ctx)
+@@ -1684,11 +1663,11 @@ static int cryptodev_digest_cleanup(EVP_MD_CTX *ctx)
          return (0);
      }
  
@@ -142,7 +142,7 @@ index 16e6fd9..048e050 100644
  
      if (ioctl(state->d_fd, CIOCFSESSION, &sess->ses) < 0) {
          printf("cryptodev_digest_cleanup: failed to close session\n");
-@@ -1695,6 +1674,7 @@ static int cryptodev_digest_cleanup(EVP_MD_CTX *ctx)
+@@ -1696,6 +1675,7 @@ static int cryptodev_digest_cleanup(EVP_MD_CTX *ctx)
      } else {
          ret = 1;
      }
@@ -151,5 +151,5 @@ index 16e6fd9..048e050 100644
      state->d_fd = -1;
  
 -- 
-2.7.0
+2.7.3
 
diff --git a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0027-cryptodev-put-all-digest-ioctls-into-a-single-functi.patch b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0027-cryptodev-put-all-digest-ioctls-into-a-single-functi.patch
index 46b3ced..0810889 100644
--- a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0027-cryptodev-put-all-digest-ioctls-into-a-single-functi.patch
+++ b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0027-cryptodev-put-all-digest-ioctls-into-a-single-functi.patch
@@ -1,4 +1,4 @@
-From 2187b18ffe4851efcb6465ca02ac036d2fe031b8 Mon Sep 17 00:00:00 2001
+From 0307a70fc4399a0ee758172e385d4daaae669ce6 Mon Sep 17 00:00:00 2001
 From: Cristian Stoica <cristian.stoica@nxp.com>
 Date: Tue, 15 Dec 2015 12:23:13 +0200
 Subject: [PATCH 27/48] cryptodev: put all digest ioctls into a single function
@@ -9,10 +9,10 @@ Signed-off-by: Cristian Stoica <cristian.stoica@nxp.com>
  1 file changed, 19 insertions(+), 25 deletions(-)
 
 diff --git a/crypto/engine/eng_cryptodev.c b/crypto/engine/eng_cryptodev.c
-index 048e050..76faa35 100644
+index a8652bf..8b8710a 100644
 --- a/crypto/engine/eng_cryptodev.c
 +++ b/crypto/engine/eng_cryptodev.c
-@@ -1577,13 +1577,6 @@ static int cryptodev_digest_init(EVP_MD_CTX *ctx)
+@@ -1578,13 +1578,6 @@ static int cryptodev_digest_init(EVP_MD_CTX *ctx)
      sess->mackeylen = digest_key_length(ctx->digest->type);
      sess->mac = digest;
  
@@ -26,7 +26,7 @@ index 048e050..76faa35 100644
      return (1);
  }
  
-@@ -1623,6 +1616,7 @@ static int cryptodev_digest_update(EVP_MD_CTX *ctx, const void *data,
+@@ -1624,6 +1617,7 @@ static int cryptodev_digest_update(EVP_MD_CTX *ctx, const void *data,
  
  static int cryptodev_digest_final(EVP_MD_CTX *ctx, unsigned char *md)
  {
@@ -34,7 +34,7 @@ index 048e050..76faa35 100644
      struct crypt_op cryp;
      struct dev_crypto_state *state = ctx->md_data;
      struct session_op *sess = &state->d_sess;
-@@ -1632,6 +1626,11 @@ static int cryptodev_digest_final(EVP_MD_CTX *ctx, unsigned char *md)
+@@ -1633,6 +1627,11 @@ static int cryptodev_digest_final(EVP_MD_CTX *ctx, unsigned char *md)
          return (0);
      }
  
@@ -46,7 +46,7 @@ index 048e050..76faa35 100644
      memset(&cryp, 0, sizeof(cryp));
  
      cryp.ses = sess->ses;
-@@ -1642,43 +1641,38 @@ static int cryptodev_digest_final(EVP_MD_CTX *ctx, unsigned char *md)
+@@ -1643,43 +1642,38 @@ static int cryptodev_digest_final(EVP_MD_CTX *ctx, unsigned char *md)
  
      if (ioctl(state->d_fd, CIOCCRYPT, &cryp) < 0) {
          printf("cryptodev_digest_final: digest failed\n");
@@ -104,5 +104,5 @@ index 048e050..76faa35 100644
  
  static int cryptodev_digest_copy(EVP_MD_CTX *to, const EVP_MD_CTX *from)
 -- 
-2.7.0
+2.7.3
 
diff --git a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0028-cryptodev-fix-debug-print-messages.patch b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0028-cryptodev-fix-debug-print-messages.patch
index 03d1b96..91bd4a4 100644
--- a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0028-cryptodev-fix-debug-print-messages.patch
+++ b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0028-cryptodev-fix-debug-print-messages.patch
@@ -1,4 +1,4 @@
-From 3dd41691dc8162ec26d188269934689ad834894c Mon Sep 17 00:00:00 2001
+From 07f16d70cf7993c43e2c24a1e121c197db9ce1bc Mon Sep 17 00:00:00 2001
 From: Cristian Stoica <cristian.stoica@nxp.com>
 Date: Tue, 15 Dec 2015 12:51:36 +0200
 Subject: [PATCH 28/48] cryptodev: fix debug print messages
@@ -9,10 +9,10 @@ Signed-off-by: Cristian Stoica <cristian.stoica@nxp.com>
  1 file changed, 9 insertions(+), 9 deletions(-)
 
 diff --git a/crypto/engine/eng_cryptodev.c b/crypto/engine/eng_cryptodev.c
-index 76faa35..1585009 100644
+index 8b8710a..b74f21c 100644
 --- a/crypto/engine/eng_cryptodev.c
 +++ b/crypto/engine/eng_cryptodev.c
-@@ -1563,13 +1563,13 @@ static int cryptodev_digest_init(EVP_MD_CTX *ctx)
+@@ -1564,13 +1564,13 @@ static int cryptodev_digest_init(EVP_MD_CTX *ctx)
  
      digest = digest_nid_to_cryptodev(ctx->digest->type);
      if (digest == NID_undef) {
@@ -28,7 +28,7 @@ index 76faa35..1585009 100644
          return (0);
      }
  
-@@ -1586,7 +1586,7 @@ static int cryptodev_digest_update(EVP_MD_CTX *ctx, const void *data,
+@@ -1587,7 +1587,7 @@ static int cryptodev_digest_update(EVP_MD_CTX *ctx, const void *data,
      struct dev_crypto_state *state = ctx->md_data;
  
      if (!data || !count) {
@@ -37,7 +37,7 @@ index 76faa35..1585009 100644
          return 0;
      }
  
-@@ -1603,7 +1603,7 @@ static int cryptodev_digest_update(EVP_MD_CTX *ctx, const void *data,
+@@ -1604,7 +1604,7 @@ static int cryptodev_digest_update(EVP_MD_CTX *ctx, const void *data,
          state->mac_data =
              OPENSSL_realloc(state->mac_data, state->mac_len + count);
          if (!state->mac_data) {
@@ -46,7 +46,7 @@ index 76faa35..1585009 100644
              return (0);
          }
  
-@@ -1622,12 +1622,12 @@ static int cryptodev_digest_final(EVP_MD_CTX *ctx, unsigned char *md)
+@@ -1623,12 +1623,12 @@ static int cryptodev_digest_final(EVP_MD_CTX *ctx, unsigned char *md)
      struct session_op *sess = &state->d_sess;
  
      if (!md || state->d_fd < 0) {
@@ -61,7 +61,7 @@ index 76faa35..1585009 100644
          return (0);
      }
  
-@@ -1640,12 +1640,12 @@ static int cryptodev_digest_final(EVP_MD_CTX *ctx, unsigned char *md)
+@@ -1641,12 +1641,12 @@ static int cryptodev_digest_final(EVP_MD_CTX *ctx, unsigned char *md)
      cryp.mac = md;
  
      if (ioctl(state->d_fd, CIOCCRYPT, &cryp) < 0) {
@@ -76,7 +76,7 @@ index 76faa35..1585009 100644
      }
  
      return ret;
-@@ -1700,7 +1700,7 @@ static int cryptodev_digest_copy(EVP_MD_CTX *to, const EVP_MD_CTX *from)
+@@ -1701,7 +1701,7 @@ static int cryptodev_digest_copy(EVP_MD_CTX *to, const EVP_MD_CTX *from)
      if (ioctl(dstate->d_fd, CIOCGSESSION, sess) < 0) {
          put_dev_crypto(dstate->d_fd);
          dstate->d_fd = -1;
@@ -86,5 +86,5 @@ index 76faa35..1585009 100644
      }
  
 -- 
-2.7.0
+2.7.3
 
diff --git a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0029-cryptodev-use-CIOCHASH-ioctl-for-digest-operations.patch b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0029-cryptodev-use-CIOCHASH-ioctl-for-digest-operations.patch
index 3dc2b92..abf8084 100644
--- a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0029-cryptodev-use-CIOCHASH-ioctl-for-digest-operations.patch
+++ b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0029-cryptodev-use-CIOCHASH-ioctl-for-digest-operations.patch
@@ -1,4 +1,4 @@
-From 3fe44ab50a87106af3349148e81ec8a1d524de82 Mon Sep 17 00:00:00 2001
+From 64d5378080c14a9cf9fd673457af0fa80f3a94ee Mon Sep 17 00:00:00 2001
 From: Cristian Stoica <cristian.stoica@nxp.com>
 Date: Tue, 15 Dec 2015 15:43:28 +0200
 Subject: [PATCH 29/48] cryptodev: use CIOCHASH ioctl for digest operations
@@ -9,10 +9,10 @@ Signed-off-by: Cristian Stoica <cristian.stoica@nxp.com>
  1 file changed, 11 insertions(+), 23 deletions(-)
 
 diff --git a/crypto/engine/eng_cryptodev.c b/crypto/engine/eng_cryptodev.c
-index 1585009..dc27b55 100644
+index b74f21c..4f375e0 100644
 --- a/crypto/engine/eng_cryptodev.c
 +++ b/crypto/engine/eng_cryptodev.c
-@@ -84,6 +84,7 @@ struct dev_crypto_state {
+@@ -85,6 +85,7 @@ struct dev_crypto_state {
      unsigned char *iv;
      int ivlen;
  # ifdef USE_CRYPTODEV_DIGESTS
@@ -20,7 +20,7 @@ index 1585009..dc27b55 100644
      char dummy_mac_key[HASH_MAX_LEN];
      unsigned char digest_res[HASH_MAX_LEN];
      char *mac_data;
-@@ -1556,7 +1557,7 @@ static int digest_key_length(int nid)
+@@ -1557,7 +1558,7 @@ static int digest_key_length(int nid)
  static int cryptodev_digest_init(EVP_MD_CTX *ctx)
  {
      struct dev_crypto_state *state = ctx->md_data;
@@ -29,7 +29,7 @@ index 1585009..dc27b55 100644
      int digest;
  
      memset(state, 0, sizeof(struct dev_crypto_state));
-@@ -1573,9 +1574,9 @@ static int cryptodev_digest_init(EVP_MD_CTX *ctx)
+@@ -1574,9 +1575,9 @@ static int cryptodev_digest_init(EVP_MD_CTX *ctx)
          return (0);
      }
  
@@ -42,7 +42,7 @@ index 1585009..dc27b55 100644
  
      return (1);
  }
-@@ -1617,37 +1618,24 @@ static int cryptodev_digest_update(EVP_MD_CTX *ctx, const void *data,
+@@ -1618,37 +1619,24 @@ static int cryptodev_digest_update(EVP_MD_CTX *ctx, const void *data,
  static int cryptodev_digest_final(EVP_MD_CTX *ctx, unsigned char *md)
  {
      int ret = 1;
@@ -87,5 +87,5 @@ index 1585009..dc27b55 100644
  }
  
 -- 
-2.7.0
+2.7.3
 
diff --git a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0030-cryptodev-reduce-duplicated-efforts-for-searching-in.patch b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0030-cryptodev-reduce-duplicated-efforts-for-searching-in.patch
index 995a593..28de567 100644
--- a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0030-cryptodev-reduce-duplicated-efforts-for-searching-in.patch
+++ b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0030-cryptodev-reduce-duplicated-efforts-for-searching-in.patch
@@ -1,4 +1,4 @@
-From 12fad710349bb72b7f95ee30b40c2e6dfbb5d373 Mon Sep 17 00:00:00 2001
+From 328b2890d5a9baf9f936bd9facaf411c01931f08 Mon Sep 17 00:00:00 2001
 From: Cristian Stoica <cristian.stoica@nxp.com>
 Date: Wed, 13 Jan 2016 15:18:20 +0200
 Subject: [PATCH 30/48] cryptodev: reduce duplicated efforts for searching
@@ -10,10 +10,10 @@ Signed-off-by: Cristian Stoica <cristian.stoica@nxp.com>
  1 file changed, 18 insertions(+), 26 deletions(-)
 
 diff --git a/crypto/engine/eng_cryptodev.c b/crypto/engine/eng_cryptodev.c
-index dc27b55..30713e5 100644
+index 4f375e0..163a37d 100644
 --- a/crypto/engine/eng_cryptodev.c
 +++ b/crypto/engine/eng_cryptodev.c
-@@ -1533,37 +1533,31 @@ cryptodev_engine_ciphers(ENGINE *e, const EVP_CIPHER **cipher,
+@@ -1534,37 +1534,31 @@ cryptodev_engine_ciphers(ENGINE *e, const EVP_CIPHER **cipher,
  
  # ifdef USE_CRYPTODEV_DIGESTS
  
@@ -64,7 +64,7 @@ index dc27b55..30713e5 100644
          printf("%s: Can't get digest\n", __func__);
          return (0);
      }
-@@ -1574,11 +1568,9 @@ static int cryptodev_digest_init(EVP_MD_CTX *ctx)
+@@ -1575,11 +1569,9 @@ static int cryptodev_digest_init(EVP_MD_CTX *ctx)
          return (0);
      }
  
@@ -77,7 +77,7 @@ index dc27b55..30713e5 100644
  }
  
  static int cryptodev_digest_update(EVP_MD_CTX *ctx, const void *data,
-@@ -1668,7 +1660,7 @@ static int cryptodev_digest_copy(EVP_MD_CTX *to, const EVP_MD_CTX *from)
+@@ -1669,7 +1661,7 @@ static int cryptodev_digest_copy(EVP_MD_CTX *to, const EVP_MD_CTX *from)
      struct dev_crypto_state *fstate = from->md_data;
      struct dev_crypto_state *dstate = to->md_data;
      struct session_op *sess;
@@ -86,7 +86,7 @@ index dc27b55..30713e5 100644
  
      if (dstate == NULL || fstate == NULL)
          return 1;
-@@ -1677,11 +1669,11 @@ static int cryptodev_digest_copy(EVP_MD_CTX *to, const EVP_MD_CTX *from)
+@@ -1678,11 +1670,11 @@ static int cryptodev_digest_copy(EVP_MD_CTX *to, const EVP_MD_CTX *from)
  
      sess = &dstate->d_sess;
  
@@ -102,5 +102,5 @@ index dc27b55..30713e5 100644
      dstate->d_fd = get_dev_crypto();
  
 -- 
-2.7.0
+2.7.3
 
diff --git a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0031-cryptodev-remove-not-used-local-variables.patch b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0031-cryptodev-remove-not-used-local-variables.patch
index fc23e0c..d7af9cb 100644
--- a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0031-cryptodev-remove-not-used-local-variables.patch
+++ b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0031-cryptodev-remove-not-used-local-variables.patch
@@ -1,4 +1,4 @@
-From 8cd09ffdfd7d9c25605401f1c0947b1b4acc6e57 Mon Sep 17 00:00:00 2001
+From 9faaca759390bba5aeeb049d31f74806e78137e1 Mon Sep 17 00:00:00 2001
 From: Cristian Stoica <cristian.stoica@nxp.com>
 Date: Mon, 8 Feb 2016 16:00:22 +0200
 Subject: [PATCH 31/48] cryptodev: remove not used local variables
@@ -9,10 +9,10 @@ Signed-off-by: Cristian Stoica <cristian.stoica@nxp.com>
  1 file changed, 1 insertion(+), 5 deletions(-)
 
 diff --git a/crypto/engine/eng_cryptodev.c b/crypto/engine/eng_cryptodev.c
-index 30713e5..2734500 100644
+index 163a37d..b13bf8c 100644
 --- a/crypto/engine/eng_cryptodev.c
 +++ b/crypto/engine/eng_cryptodev.c
-@@ -1634,7 +1634,6 @@ static int cryptodev_digest_final(EVP_MD_CTX *ctx, unsigned char *md)
+@@ -1635,7 +1635,6 @@ static int cryptodev_digest_final(EVP_MD_CTX *ctx, unsigned char *md)
  static int cryptodev_digest_cleanup(EVP_MD_CTX *ctx)
  {
      struct dev_crypto_state *state = ctx->md_data;
@@ -20,7 +20,7 @@ index 30713e5..2734500 100644
  
      if (state == NULL) {
          return 0;
-@@ -3939,7 +3938,6 @@ static int cryptodev_dh_keygen(DH *dh)
+@@ -3952,7 +3951,6 @@ static int cryptodev_dh_keygen(DH *dh)
      int ret = 1, q_len = 0;
      unsigned char *q = NULL, *g = NULL, *s = NULL, *w = NULL;
      BIGNUM *pub_key = NULL, *priv_key = NULL;
@@ -28,7 +28,7 @@ index 30713e5..2734500 100644
  
      if (dh->priv_key)
          priv_key = dh->priv_key;
-@@ -4061,11 +4059,9 @@ cryptodev_dh_compute_key_async(unsigned char *key, const BIGNUM *pub_key,
+@@ -4074,11 +4072,9 @@ cryptodev_dh_compute_key_async(unsigned char *key, const BIGNUM *pub_key,
  {
      struct crypt_kop *kop = malloc(sizeof(struct crypt_kop));
      int ret = 1;
@@ -42,5 +42,5 @@ index 30713e5..2734500 100644
      kop->crk_op = CRK_DH_COMPUTE_KEY;
      /* inputs: dh->priv_key pub_key dh->p key */
 -- 
-2.7.0
+2.7.3
 
diff --git a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0032-cryptodev-hide-not-used-variable-behind-ifndef.patch b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0032-cryptodev-hide-not-used-variable-behind-ifndef.patch
index 9ff4d36..a53705f 100644
--- a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0032-cryptodev-hide-not-used-variable-behind-ifndef.patch
+++ b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0032-cryptodev-hide-not-used-variable-behind-ifndef.patch
@@ -1,4 +1,4 @@
-From 335c80f847eacc573e10ba925b6a645963b16197 Mon Sep 17 00:00:00 2001
+From a6dc52cbcda9b4dcb0fda3b780e7c89219388982 Mon Sep 17 00:00:00 2001
 From: Cristian Stoica <cristian.stoica@nxp.com>
 Date: Mon, 8 Feb 2016 17:22:49 +0200
 Subject: [PATCH 32/48] cryptodev: hide not used variable behind #ifndef
@@ -9,10 +9,10 @@ Signed-off-by: Cristian Stoica <cristian.stoica@nxp.com>
  1 file changed, 2 insertions(+)
 
 diff --git a/crypto/engine/eng_cryptodev.c b/crypto/engine/eng_cryptodev.c
-index 2734500..5a68c76 100644
+index b13bf8c..cdd99b8 100644
 --- a/crypto/engine/eng_cryptodev.c
 +++ b/crypto/engine/eng_cryptodev.c
-@@ -412,7 +412,9 @@ static int open_dev_crypto(void)
+@@ -413,7 +413,9 @@ static int open_dev_crypto(void)
  static int get_dev_crypto(void)
  {
      static int fd = -1;
@@ -23,5 +23,5 @@ index 2734500..5a68c76 100644
      if (fd == -1)
          fd = open_dev_crypto();
 -- 
-2.7.0
+2.7.3
 
diff --git a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0033-cryptodev-fix-function-declaration-typo.patch b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0033-cryptodev-fix-function-declaration-typo.patch
index 82cceba..f0863bd 100644
--- a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0033-cryptodev-fix-function-declaration-typo.patch
+++ b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0033-cryptodev-fix-function-declaration-typo.patch
@@ -1,4 +1,4 @@
-From 03bdddf1495707119e4fa0eda385ecdccf66cbd8 Mon Sep 17 00:00:00 2001
+From 6d335627ec5bdf89c89ced9d2fa7610e6dc50e31 Mon Sep 17 00:00:00 2001
 From: Cristian Stoica <cristian.stoica@nxp.com>
 Date: Mon, 8 Feb 2016 16:08:25 +0200
 Subject: [PATCH 33/48] cryptodev: fix function declaration typo
@@ -22,5 +22,5 @@ index f83ee73..c8efbe1 100644
  void ENGINE_set_check_pkc_availability(ENGINE *e,
  	int (*check_pkc_availability)(int fd));
 -- 
-2.7.0
+2.7.3
 
diff --git a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0034-cryptodev-fix-incorrect-function-signature.patch b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0034-cryptodev-fix-incorrect-function-signature.patch
index 84268c5..50aa45c 100644
--- a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0034-cryptodev-fix-incorrect-function-signature.patch
+++ b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0034-cryptodev-fix-incorrect-function-signature.patch
@@ -1,4 +1,4 @@
-From 7012cf33a00618749319b1903f48ee3a35f5887b Mon Sep 17 00:00:00 2001
+From fcb63347ddb004825e05250fd082fe84ff3689df Mon Sep 17 00:00:00 2001
 From: Cristian Stoica <cristian.stoica@nxp.com>
 Date: Mon, 8 Feb 2016 16:12:54 +0200
 Subject: [PATCH 34/48] cryptodev: fix incorrect function signature
@@ -9,10 +9,10 @@ Signed-off-by: Cristian Stoica <cristian.stoica@nxp.com>
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/crypto/engine/eng_cryptodev.c b/crypto/engine/eng_cryptodev.c
-index 5a68c76..cec6938 100644
+index cdd99b8..1c71bc7 100644
 --- a/crypto/engine/eng_cryptodev.c
 +++ b/crypto/engine/eng_cryptodev.c
-@@ -3148,7 +3148,7 @@ static ECDSA_SIG *cryptodev_ecdsa_do_sign(const unsigned char *dgst,
+@@ -3161,7 +3161,7 @@ static ECDSA_SIG *cryptodev_ecdsa_do_sign(const unsigned char *dgst,
  }
  
  static int cryptodev_ecdsa_verify(const unsigned char *dgst, int dgst_len,
@@ -22,5 +22,5 @@ index 5a68c76..cec6938 100644
      BIGNUM *m = NULL, *p = NULL, *a = NULL, *b = NULL;
      BIGNUM *x = NULL, *y = NULL, *w_x = NULL, *w_y = NULL;
 -- 
-2.7.0
+2.7.3
 
diff --git a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0035-cryptodev-fix-warnings-on-excess-elements-in-struct-.patch b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0035-cryptodev-fix-warnings-on-excess-elements-in-struct-.patch
index 0e90d82..e028f66 100644
--- a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0035-cryptodev-fix-warnings-on-excess-elements-in-struct-.patch
+++ b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0035-cryptodev-fix-warnings-on-excess-elements-in-struct-.patch
@@ -1,4 +1,4 @@
-From 82612e3c4161ed6e10379841b953a0f56e557be4 Mon Sep 17 00:00:00 2001
+From 6ed8710043b5dc947afab8fffa80ea97f4c84ad6 Mon Sep 17 00:00:00 2001
 From: Cristian Stoica <cristian.stoica@nxp.com>
 Date: Mon, 8 Feb 2016 16:21:46 +0200
 Subject: [PATCH 35/48] cryptodev: fix warnings on excess elements in struct
@@ -61,10 +61,10 @@ index 8584731..ab52add 100644
  
  struct dsa_st {
 diff --git a/crypto/engine/eng_cryptodev.c b/crypto/engine/eng_cryptodev.c
-index cec6938..407ea62 100644
+index 1c71bc7..20e1ec3 100644
 --- a/crypto/engine/eng_cryptodev.c
 +++ b/crypto/engine/eng_cryptodev.c
-@@ -2892,11 +2892,13 @@ static DSA_METHOD cryptodev_dsa = {
+@@ -2905,11 +2905,13 @@ static DSA_METHOD cryptodev_dsa = {
      NULL,
      NULL,
      NULL,
@@ -80,7 +80,7 @@ index cec6938..407ea62 100644
  };
  
  static ECDSA_METHOD cryptodev_ecdsa = {
-@@ -2906,7 +2908,6 @@ static ECDSA_METHOD cryptodev_ecdsa = {
+@@ -2919,7 +2921,6 @@ static ECDSA_METHOD cryptodev_ecdsa = {
      NULL,
      NULL,
      NULL,
@@ -88,7 +88,7 @@ index cec6938..407ea62 100644
      0,                          /* flags */
      NULL                        /* app_data */
  };
-@@ -4483,14 +4484,14 @@ static DH_METHOD cryptodev_dh = {
+@@ -4496,14 +4497,14 @@ static DH_METHOD cryptodev_dh = {
      NULL,
      NULL,
      0,                          /* flags */
@@ -106,5 +106,5 @@ index cec6938..407ea62 100644
      NULL                        /* app_data */
  };
 -- 
-2.7.0
+2.7.3
 
diff --git a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0036-cryptodev-fix-free-on-error-path.patch b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0036-cryptodev-fix-free-on-error-path.patch
index 94b9f0f..e59744e 100644
--- a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0036-cryptodev-fix-free-on-error-path.patch
+++ b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0036-cryptodev-fix-free-on-error-path.patch
@@ -1,4 +1,4 @@
-From 8ccc9b12954b7eb299020a1b15d9d1e5735779df Mon Sep 17 00:00:00 2001
+From bf4e61a53459358185a73dffa5f79af9bd739149 Mon Sep 17 00:00:00 2001
 From: Cristian Stoica <cristian.stoica@nxp.com>
 Date: Mon, 8 Feb 2016 16:36:33 +0200
 Subject: [PATCH 36/48] cryptodev: fix free on error path
@@ -29,10 +29,10 @@ index 9b28c04..c3843c6 100644
  # if 0
      int (*init) (EC_KEY *eckey);
 diff --git a/crypto/engine/eng_cryptodev.c b/crypto/engine/eng_cryptodev.c
-index 407ea62..1b1fdc7 100644
+index 20e1ec3..1f13079 100644
 --- a/crypto/engine/eng_cryptodev.c
 +++ b/crypto/engine/eng_cryptodev.c
-@@ -3424,7 +3424,7 @@ static int cryptodev_ecdsa_do_sign_async(const unsigned char *dgst,
+@@ -3437,7 +3437,7 @@ static int cryptodev_ecdsa_do_sign_async(const unsigned char *dgst,
      if (!(sig->r = BN_new()) || !kop)
          goto err;
      if ((sig->s = BN_new()) == NULL) {
@@ -42,5 +42,5 @@ index 407ea62..1b1fdc7 100644
      }
  
 -- 
-2.7.0
+2.7.3
 
diff --git a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0037-cryptodev-fix-return-value-on-error.patch b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0037-cryptodev-fix-return-value-on-error.patch
index 2e9567b..ea1f4b2 100644
--- a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0037-cryptodev-fix-return-value-on-error.patch
+++ b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0037-cryptodev-fix-return-value-on-error.patch
@@ -1,4 +1,4 @@
-From b3d3b86063e65b84ce53f4653295e3f6a83d5794 Mon Sep 17 00:00:00 2001
+From ec6b6531e3e67b4e82a4bc6829777052f39807b1 Mon Sep 17 00:00:00 2001
 From: Cristian Stoica <cristian.stoica@nxp.com>
 Date: Mon, 8 Feb 2016 16:55:32 +0200
 Subject: [PATCH 37/48] cryptodev: fix return value on error
@@ -12,10 +12,10 @@ Signed-off-by: Cristian Stoica <cristian.stoica@nxp.com>
  1 file changed, 1 deletion(-)
 
 diff --git a/crypto/engine/eng_cryptodev.c b/crypto/engine/eng_cryptodev.c
-index 1b1fdc7..8cd3aa3 100644
+index 1f13079..b87fa7d 100644
 --- a/crypto/engine/eng_cryptodev.c
 +++ b/crypto/engine/eng_cryptodev.c
-@@ -2755,7 +2755,6 @@ cryptodev_dsa_do_sign_async(const unsigned char *dgst, int dlen, DSA *dsa,
+@@ -2768,7 +2768,6 @@ cryptodev_dsa_do_sign_async(const unsigned char *dgst, int dlen, DSA *dsa,
          sig->s = dsaret->s;
          /* Call user callback immediately */
          cookie->pkc_callback(cookie, 0);
@@ -24,5 +24,5 @@ index 1b1fdc7..8cd3aa3 100644
      return ret;
  }
 -- 
-2.7.0
+2.7.3
 
diff --git a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0038-cryptodev-match-types-with-cryptodev.h.patch b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0038-cryptodev-match-types-with-cryptodev.h.patch
index 6e083ba..acd6e32 100644
--- a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0038-cryptodev-match-types-with-cryptodev.h.patch
+++ b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0038-cryptodev-match-types-with-cryptodev.h.patch
@@ -1,4 +1,4 @@
-From dcc3254b6dbb8627dd710fa58585542b98c80394 Mon Sep 17 00:00:00 2001
+From 77c84d99b5b0ab95efc9e1efc083e5cca8aa4eb5 Mon Sep 17 00:00:00 2001
 From: Cristian Stoica <cristian.stoica@nxp.com>
 Date: Mon, 8 Feb 2016 17:11:43 +0200
 Subject: [PATCH 38/48] cryptodev: match types with cryptodev.h
@@ -9,10 +9,10 @@ Signed-off-by: Cristian Stoica <cristian.stoica@nxp.com>
  1 file changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/crypto/engine/eng_cryptodev.c b/crypto/engine/eng_cryptodev.c
-index 8cd3aa3..4613d2d 100644
+index b87fa7d..4296704 100644
 --- a/crypto/engine/eng_cryptodev.c
 +++ b/crypto/engine/eng_cryptodev.c
-@@ -85,9 +85,9 @@ struct dev_crypto_state {
+@@ -86,9 +86,9 @@ struct dev_crypto_state {
      int ivlen;
  # ifdef USE_CRYPTODEV_DIGESTS
      struct hash_op_data hash_op;
@@ -25,5 +25,5 @@ index 8cd3aa3..4613d2d 100644
  # endif
  };
 -- 
-2.7.0
+2.7.3
 
diff --git a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0039-cryptodev-explicitly-discard-const-qualifier.patch b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0039-cryptodev-explicitly-discard-const-qualifier.patch
index 916c47e..70319e4 100644
--- a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0039-cryptodev-explicitly-discard-const-qualifier.patch
+++ b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0039-cryptodev-explicitly-discard-const-qualifier.patch
@@ -1,4 +1,4 @@
-From 605210c8ae9241cad6c4ec071f5193bf3e83b2d4 Mon Sep 17 00:00:00 2001
+From 4366920bb2a97c10c49c5e6d035c0c82629b9f0a Mon Sep 17 00:00:00 2001
 From: Cristian Stoica <cristian.stoica@nxp.com>
 Date: Mon, 8 Feb 2016 17:15:25 +0200
 Subject: [PATCH 39/48] cryptodev: explicitly discard const qualifier
@@ -13,10 +13,10 @@ Signed-off-by: Cristian Stoica <cristian.stoica@nxp.com>
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/crypto/engine/eng_cryptodev.c b/crypto/engine/eng_cryptodev.c
-index 4613d2d..2791ca3 100644
+index 4296704..f8619b0 100644
 --- a/crypto/engine/eng_cryptodev.c
 +++ b/crypto/engine/eng_cryptodev.c
-@@ -1592,7 +1592,7 @@ static int cryptodev_digest_update(EVP_MD_CTX *ctx, const void *data,
+@@ -1593,7 +1593,7 @@ static int cryptodev_digest_update(EVP_MD_CTX *ctx, const void *data,
       * cryptodev calls and accumulating small amounts of data
       */
      if (ctx->flags & EVP_MD_CTX_FLAG_ONESHOT) {
@@ -26,5 +26,5 @@ index 4613d2d..2791ca3 100644
      } else {
          state->mac_data =
 -- 
-2.7.0
+2.7.3
 
diff --git a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0040-cryptodev-replace-caddr_t-with-void.patch b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0040-cryptodev-replace-caddr_t-with-void.patch
index 2c61d9b..c835967 100644
--- a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0040-cryptodev-replace-caddr_t-with-void.patch
+++ b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0040-cryptodev-replace-caddr_t-with-void.patch
@@ -1,4 +1,4 @@
-From 45429e5ea075867f9219a6fcb233677d062a4451 Mon Sep 17 00:00:00 2001
+From f256bb9574f77206b289b265d1d46bb53e54c71c Mon Sep 17 00:00:00 2001
 From: Cristian Stoica <cristian.stoica@nxp.com>
 Date: Tue, 9 Feb 2016 11:28:23 +0200
 Subject: [PATCH 40/48] cryptodev: replace caddr_t with void *
@@ -12,10 +12,10 @@ Signed-off-by: Cristian Stoica <cristian.stoica@nxp.com>
  1 file changed, 11 insertions(+), 11 deletions(-)
 
 diff --git a/crypto/engine/eng_cryptodev.c b/crypto/engine/eng_cryptodev.c
-index 2791ca3..f172173 100644
+index f8619b0..aac2740 100644
 --- a/crypto/engine/eng_cryptodev.c
 +++ b/crypto/engine/eng_cryptodev.c
-@@ -460,8 +460,8 @@ static int get_cryptodev_ciphers(const int **cnids)
+@@ -461,8 +461,8 @@ static int get_cryptodev_ciphers(const int **cnids)
          return (0);
      }
      memset(&sess, 0, sizeof(sess));
@@ -26,7 +26,7 @@ index 2791ca3..f172173 100644
  
      for (i = 0; ciphers[i].id && count < CRYPTO_ALGORITHM_MAX; i++) {
          if (ciphers[i].nid == NID_undef)
-@@ -501,7 +501,7 @@ static int get_cryptodev_digests(const int **cnids)
+@@ -502,7 +502,7 @@ static int get_cryptodev_digests(const int **cnids)
          return (0);
      }
      memset(&sess, 0, sizeof(sess));
@@ -35,7 +35,7 @@ index 2791ca3..f172173 100644
      for (i = 0; digests[i].id && count < CRYPTO_ALGORITHM_MAX; i++) {
          if (digests[i].nid == NID_undef)
              continue;
-@@ -633,14 +633,14 @@ cryptodev_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
+@@ -634,14 +634,14 @@ cryptodev_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
      cryp.ses = sess->ses;
      cryp.flags = 0;
      cryp.len = inl;
@@ -53,7 +53,7 @@ index 2791ca3..f172173 100644
          if (!ctx->encrypt) {
              iiv = in + inl - ctx->cipher->iv_len;
              memcpy(save_iv, iiv, ctx->cipher->iv_len);
-@@ -701,15 +701,15 @@ static int cryptodev_aead_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
+@@ -702,15 +702,15 @@ static int cryptodev_aead_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
      }
      cryp.ses = sess->ses;
      cryp.len = state->len;
@@ -72,7 +72,7 @@ index 2791ca3..f172173 100644
          if (!ctx->encrypt) {
              iiv = in + len - ctx->cipher->iv_len;
              memcpy(save_iv, iiv, ctx->cipher->iv_len);
-@@ -761,7 +761,7 @@ cryptodev_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,
+@@ -762,7 +762,7 @@ cryptodev_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,
      if ((state->d_fd = get_dev_crypto()) < 0)
          return (0);
  
@@ -81,7 +81,7 @@ index 2791ca3..f172173 100644
      sess->keylen = ctx->key_len;
      sess->cipher = cipher;
  
-@@ -804,7 +804,7 @@ static int cryptodev_init_aead_key(EVP_CIPHER_CTX *ctx,
+@@ -805,7 +805,7 @@ static int cryptodev_init_aead_key(EVP_CIPHER_CTX *ctx,
  
      memset(sess, 0, sizeof(struct session_op));
  
@@ -91,5 +91,5 @@ index 2791ca3..f172173 100644
      sess->cipher = cipher;
  
 -- 
-2.7.0
+2.7.3
 
diff --git a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0041-cryptodev-check-for-errors-inside-cryptodev_rsa_mod_.patch b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0041-cryptodev-check-for-errors-inside-cryptodev_rsa_mod_.patch
index 5525045..6c46061 100644
--- a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0041-cryptodev-check-for-errors-inside-cryptodev_rsa_mod_.patch
+++ b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0041-cryptodev-check-for-errors-inside-cryptodev_rsa_mod_.patch
@@ -1,4 +1,4 @@
-From f10d471839dff079a23d79d1b4ecb3e3e6529283 Mon Sep 17 00:00:00 2001
+From c714cb7a33e994ff2278149d4a7a20a21215a2f6 Mon Sep 17 00:00:00 2001
 From: Cristian Stoica <cristian.stoica@nxp.com>
 Date: Mon, 8 Feb 2016 17:04:25 +0200
 Subject: [PATCH 41/48] cryptodev: check for errors inside
@@ -10,10 +10,10 @@ Signed-off-by: Cristian Stoica <cristian.stoica@nxp.com>
  1 file changed, 18 insertions(+), 6 deletions(-)
 
 diff --git a/crypto/engine/eng_cryptodev.c b/crypto/engine/eng_cryptodev.c
-index f172173..695848d 100644
+index aac2740..e419bef 100644
 --- a/crypto/engine/eng_cryptodev.c
 +++ b/crypto/engine/eng_cryptodev.c
-@@ -2054,12 +2054,24 @@ cryptodev_rsa_mod_exp(BIGNUM *r0, const BIGNUM *I, RSA *rsa, BN_CTX *ctx)
+@@ -2067,12 +2067,24 @@ cryptodev_rsa_mod_exp(BIGNUM *r0, const BIGNUM *I, RSA *rsa, BN_CTX *ctx)
      kop.crk_status = 0;
      kop.crk_op = CRK_MOD_EXP_CRT;
      f_len = BN_num_bytes(rsa->n);
@@ -45,5 +45,5 @@ index f172173..695848d 100644
      kop.crk_param[0].crp_p = p;
      kop.crk_param[0].crp_nbits = p_len * 8;
 -- 
-2.7.0
+2.7.3
 
diff --git a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0042-cryptodev-check-for-errors-inside-cryptodev_rsa_mod_.patch b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0042-cryptodev-check-for-errors-inside-cryptodev_rsa_mod_.patch
index 218accb..4b9b086 100644
--- a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0042-cryptodev-check-for-errors-inside-cryptodev_rsa_mod_.patch
+++ b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0042-cryptodev-check-for-errors-inside-cryptodev_rsa_mod_.patch
@@ -1,4 +1,4 @@
-From 402a2e4da471728fa537462d7a13aa35955cd6d8 Mon Sep 17 00:00:00 2001
+From 7f444e52acada23977b89d42f8dd8ebd915ccd83 Mon Sep 17 00:00:00 2001
 From: Cristian Stoica <cristian.stoica@nxp.com>
 Date: Tue, 9 Feb 2016 11:47:52 +0200
 Subject: [PATCH 42/48] cryptodev: check for errors inside
@@ -10,10 +10,10 @@ Signed-off-by: Cristian Stoica <cristian.stoica@nxp.com>
  1 file changed, 25 insertions(+), 8 deletions(-)
 
 diff --git a/crypto/engine/eng_cryptodev.c b/crypto/engine/eng_cryptodev.c
-index 695848d..8e84972 100644
+index e419bef..7c391d6 100644
 --- a/crypto/engine/eng_cryptodev.c
 +++ b/crypto/engine/eng_cryptodev.c
-@@ -2109,25 +2109,42 @@ static int
+@@ -2122,25 +2122,42 @@ static int
  cryptodev_rsa_mod_exp_async(BIGNUM *r0, const BIGNUM *I, RSA *rsa,
                              BN_CTX *ctx, struct pkc_cookie_s *cookie)
  {
@@ -65,5 +65,5 @@ index 695848d..8e84972 100644
      kop->crk_param[0].crp_p = p;
      kop->crk_param[0].crp_nbits = p_len * 8;
 -- 
-2.7.0
+2.7.3
 
diff --git a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0043-cryptodev-check-for-errors-inside-cryptodev_dh_compu.patch b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0043-cryptodev-check-for-errors-inside-cryptodev_dh_compu.patch
index 931141d..879d5c2 100644
--- a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0043-cryptodev-check-for-errors-inside-cryptodev_dh_compu.patch
+++ b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0043-cryptodev-check-for-errors-inside-cryptodev_dh_compu.patch
@@ -1,4 +1,4 @@
-From c8a5f714d35c3bd63d2511ad69e0661a7d1d5dcd Mon Sep 17 00:00:00 2001
+From 73115f243f0a65326888537f125e31f28c9f570d Mon Sep 17 00:00:00 2001
 From: Cristian Stoica <cristian.stoica@nxp.com>
 Date: Tue, 9 Feb 2016 11:53:22 +0200
 Subject: [PATCH 43/48] cryptodev: check for errors inside
@@ -10,10 +10,10 @@ Signed-off-by: Cristian Stoica <cristian.stoica@nxp.com>
  1 file changed, 11 insertions(+), 4 deletions(-)
 
 diff --git a/crypto/engine/eng_cryptodev.c b/crypto/engine/eng_cryptodev.c
-index 8e84972..55b2047 100644
+index 7c391d6..753e326 100644
 --- a/crypto/engine/eng_cryptodev.c
 +++ b/crypto/engine/eng_cryptodev.c
-@@ -4043,11 +4043,15 @@ cryptodev_dh_compute_key(unsigned char *key, const BIGNUM *pub_key, DH *dh)
+@@ -4056,11 +4056,15 @@ cryptodev_dh_compute_key(unsigned char *key, const BIGNUM *pub_key, DH *dh)
      memset(&kop, 0, sizeof kop);
      kop.crk_op = CRK_DH_COMPUTE_KEY;
      /* inputs: dh->priv_key pub_key dh->p key */
@@ -33,7 +33,7 @@ index 8e84972..55b2047 100644
      kop.crk_param[1].crp_p = padded_pub_key;
      kop.crk_param[1].crp_nbits = p_len * 8;
      kop.crk_param[2].crp_p = p;
-@@ -4074,10 +4078,13 @@ cryptodev_dh_compute_key(unsigned char *key, const BIGNUM *pub_key, DH *dh)
+@@ -4087,10 +4091,13 @@ cryptodev_dh_compute_key(unsigned char *key, const BIGNUM *pub_key, DH *dh)
      kop.crk_param[3].crp_p = NULL;
      zapparams(&kop);
      return (dhret);
@@ -48,5 +48,5 @@ index 8e84972..55b2047 100644
      }
      return (dhret);
 -- 
-2.7.0
+2.7.3
 
diff --git a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0044-cryptodev-check-for-errors-inside-cryptodev_dh_compu.patch b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0044-cryptodev-check-for-errors-inside-cryptodev_dh_compu.patch
index be99643..37bdff8 100644
--- a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0044-cryptodev-check-for-errors-inside-cryptodev_dh_compu.patch
+++ b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0044-cryptodev-check-for-errors-inside-cryptodev_dh_compu.patch
@@ -1,4 +1,4 @@
-From 42a1c45091ab7996c4411f3dd74539c908c63208 Mon Sep 17 00:00:00 2001
+From 0901ff383524e896424921f4e8a1ba7020e7613d Mon Sep 17 00:00:00 2001
 From: Cristian Stoica <cristian.stoica@nxp.com>
 Date: Tue, 9 Feb 2016 11:53:33 +0200
 Subject: [PATCH 44/48] cryptodev: check for errors inside
@@ -10,10 +10,10 @@ Signed-off-by: Cristian Stoica <cristian.stoica@nxp.com>
  1 file changed, 21 insertions(+), 8 deletions(-)
 
 diff --git a/crypto/engine/eng_cryptodev.c b/crypto/engine/eng_cryptodev.c
-index 55b2047..e0f9d4b 100644
+index 753e326..b9c7ff3 100644
 --- a/crypto/engine/eng_cryptodev.c
 +++ b/crypto/engine/eng_cryptodev.c
-@@ -4095,19 +4095,28 @@ static int
+@@ -4108,19 +4108,28 @@ static int
  cryptodev_dh_compute_key_async(unsigned char *key, const BIGNUM *pub_key,
                                 DH *dh, struct pkc_cookie_s *cookie)
  {
@@ -47,7 +47,7 @@ index 55b2047..e0f9d4b 100644
      kop->crk_param[1].crp_p = padded_pub_key;
      kop->crk_param[1].crp_nbits = p_len * 8;
      kop->crk_param[2].crp_p = p;
-@@ -4119,16 +4128,20 @@ cryptodev_dh_compute_key_async(unsigned char *key, const BIGNUM *pub_key,
+@@ -4132,16 +4141,20 @@ cryptodev_dh_compute_key_async(unsigned char *key, const BIGNUM *pub_key,
      kop->crk_param[3].crp_nbits = p_len * 8;
      kop->crk_oparams = 1;
  
@@ -72,5 +72,5 @@ index 55b2047..e0f9d4b 100644
          /* Call user cookie handler */
          cookie->pkc_callback(cookie, 0);
 -- 
-2.7.0
+2.7.3
 
diff --git a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0045-cryptodev-change-signature-for-conversion-functions.patch b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0045-cryptodev-change-signature-for-conversion-functions.patch
index 11f1a54..4489b43 100644
--- a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0045-cryptodev-change-signature-for-conversion-functions.patch
+++ b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0045-cryptodev-change-signature-for-conversion-functions.patch
@@ -1,4 +1,4 @@
-From 528e4965e536d31cdccb11abe5e04db28a1008a8 Mon Sep 17 00:00:00 2001
+From 6ca53b6d6519d52021e642230bb51ae7834b3e67 Mon Sep 17 00:00:00 2001
 From: Cristian Stoica <cristian.stoica@nxp.com>
 Date: Tue, 9 Feb 2016 12:11:32 +0200
 Subject: [PATCH 45/48] cryptodev: change signature for conversion functions
@@ -12,10 +12,10 @@ Signed-off-by: Cristian Stoica <cristian.stoica@nxp.com>
  1 file changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/crypto/engine/eng_cryptodev.c b/crypto/engine/eng_cryptodev.c
-index e0f9d4b..3024a68 100644
+index b9c7ff3..58e539c 100644
 --- a/crypto/engine/eng_cryptodev.c
 +++ b/crypto/engine/eng_cryptodev.c
-@@ -145,7 +145,7 @@ const EVP_CIPHER cryptodev_tls12_aes_256_cbc_hmac_sha1;
+@@ -146,7 +146,7 @@ const EVP_CIPHER cryptodev_tls12_aes_256_cbc_hmac_sha1;
  const EVP_CIPHER cryptodev_tls12_aes_128_cbc_hmac_sha256;
  const EVP_CIPHER cryptodev_tls12_aes_256_cbc_hmac_sha256;
  
@@ -24,7 +24,7 @@ index e0f9d4b..3024a68 100644
  {
      int len;
      unsigned char *p;
-@@ -167,7 +167,7 @@ inline int spcf_bn2bin(BIGNUM *bn, unsigned char **bin, int *bin_len)
+@@ -168,7 +168,7 @@ inline int spcf_bn2bin(BIGNUM *bn, unsigned char **bin, int *bin_len)
      return 0;
  }
  
@@ -34,5 +34,5 @@ index e0f9d4b..3024a68 100644
      int len;
      unsigned char *p;
 -- 
-2.7.0
+2.7.3
 
diff --git a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0046-cryptodev-add-explicit-cast-for-known-BIGNUM-values.patch b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0046-cryptodev-add-explicit-cast-for-known-BIGNUM-values.patch
index e7a5aa3..d8b56de 100644
--- a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0046-cryptodev-add-explicit-cast-for-known-BIGNUM-values.patch
+++ b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0046-cryptodev-add-explicit-cast-for-known-BIGNUM-values.patch
@@ -1,4 +1,4 @@
-From b27823ac9f460c96a72d9003e2e134c1288ac85f Mon Sep 17 00:00:00 2001
+From 8f6e948f5f6bb2b517a5436dd6294e7e5536cf8f Mon Sep 17 00:00:00 2001
 From: Cristian Stoica <cristian.stoica@nxp.com>
 Date: Tue, 9 Feb 2016 12:13:59 +0200
 Subject: [PATCH 46/48] cryptodev: add explicit cast for known BIGNUM values
@@ -9,10 +9,10 @@ Signed-off-by: Cristian Stoica <cristian.stoica@nxp.com>
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/crypto/engine/eng_cryptodev.c b/crypto/engine/eng_cryptodev.c
-index 3024a68..539be62 100644
+index 58e539c..ddd3462 100644
 --- a/crypto/engine/eng_cryptodev.c
 +++ b/crypto/engine/eng_cryptodev.c
-@@ -4014,7 +4014,7 @@ static int cryptodev_dh_keygen(DH *dh)
+@@ -4027,7 +4027,7 @@ static int cryptodev_dh_keygen(DH *dh)
      }
  
      /* pub_key is or prime length while priv key is of length of order */
@@ -22,5 +22,5 @@ index 3024a68..539be62 100644
  
      dh->pub_key = BN_bin2bn(w, q_len, pub_key);
 -- 
-2.7.0
+2.7.3
 
diff --git a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0047-cryptodev-treat-all-build-warnings-as-errors.patch b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0047-cryptodev-treat-all-build-warnings-as-errors.patch
index 2163998..7cfad9c 100644
--- a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0047-cryptodev-treat-all-build-warnings-as-errors.patch
+++ b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0047-cryptodev-treat-all-build-warnings-as-errors.patch
@@ -1,4 +1,4 @@
-From 596735ad86a3dae987e19c21ef22259179966fc6 Mon Sep 17 00:00:00 2001
+From e50560cb9a201c0b0130bb29d4c99121a8ec97ba Mon Sep 17 00:00:00 2001
 From: Cristian Stoica <cristian.stoica@nxp.com>
 Date: Mon, 8 Feb 2016 15:15:02 +0200
 Subject: [PATCH 47/48] cryptodev: treat all build warnings as errors
@@ -24,5 +24,5 @@ index 426388e..010f21d 100644
  GENERAL=Makefile
  TEST= enginetest.c
 -- 
-2.7.0
+2.7.3
 
diff --git a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0048-fix-maclen-is-used-uninitialized-warning-on-some-com.patch b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0048-fix-maclen-is-used-uninitialized-warning-on-some-com.patch
index d7b84e6..57ff7f1 100644
--- a/recipes-connectivity/openssl/openssl-qoriq/qoriq/0048-fix-maclen-is-used-uninitialized-warning-on-some-com.patch
+++ b/recipes-connectivity/openssl/openssl-qoriq/qoriq/0048-fix-maclen-is-used-uninitialized-warning-on-some-com.patch
@@ -1,4 +1,4 @@
-From 116bd4f6f1ee5acdb997d414902d9646b24df1be Mon Sep 17 00:00:00 2001
+From c79e7a4a818ea86bf6045197173d5c4e243d1f4f Mon Sep 17 00:00:00 2001
 From: Cristian Stoica <cristian.stoica@nxp.com>
 Date: Wed, 6 Apr 2016 15:22:58 +0300
 Subject: [PATCH 48/48] fix 'maclen is used uninitialized' warning on some
@@ -10,10 +10,10 @@ Signed-off-by: Cristian Stoica <cristian.stoica@nxp.com>
  1 file changed, 4 insertions(+)
 
 diff --git a/crypto/engine/eng_cryptodev.c b/crypto/engine/eng_cryptodev.c
-index 539be62..35b71b0 100644
+index ddd3462..2266b26 100644
 --- a/crypto/engine/eng_cryptodev.c
 +++ b/crypto/engine/eng_cryptodev.c
-@@ -905,6 +905,10 @@ static int cryptodev_cbc_hmac_sha1_ctrl(EVP_CIPHER_CTX *ctx, int type,
+@@ -906,6 +906,10 @@ static int cryptodev_cbc_hmac_sha1_ctrl(EVP_CIPHER_CTX *ctx, int type,
                  maclen = SHA256_DIGEST_LENGTH;
                  aad_needs_fix = true;
                  break;
@@ -25,5 +25,5 @@ index 539be62..35b71b0 100644
  
              /* Correct length for AAD Length field */
 -- 
-2.7.0
+2.7.3
 
diff --git a/recipes-connectivity/openssl/openssl-qoriq_1.0.2h.bb b/recipes-connectivity/openssl/openssl-qoriq_1.0.2h.bb
deleted file mode 100644
index 1c66fb9..0000000
--- a/recipes-connectivity/openssl/openssl-qoriq_1.0.2h.bb
+++ /dev/null
@@ -1,113 +0,0 @@
-require openssl-qoriq.inc
-
-DISABLE_STATIC = ""
-RRECOMMENDS_libcrypto += "cryptodev-module"
-COMPATIBLE_MACHINE = "(qoriq)"
-
-# For target side versions of openssl enable support for OCF Linux driver
-# if they are available.
-DEPENDS += "cryptodev-linux"
-
-CFLAG += "-DHAVE_CRYPTODEV -DUSE_CRYPTODEV_DIGESTS"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=27ffa5d74bb5a337056c14b2ef93fbf6"
-
-export DIRS = "crypto ssl apps engines"
-export OE_LDFLAGS="${LDFLAGS}"
-
-SRC_URI += "file://find.pl;subdir=openssl-${PV}/util/ \
-            file://run-ptest \
-            file://openssl-c_rehash.sh \
-            file://configure-targets.patch \
-            file://shared-libs.patch \
-            file://oe-ldflags.patch \
-            file://engines-install-in-libdir-ssl.patch \
-            file://debian1.0.2/block_diginotar.patch \
-            file://debian1.0.2/block_digicert_malaysia.patch \
-            file://debian/ca.patch \
-            file://debian/c_rehash-compat.patch \
-            file://debian/debian-targets.patch \
-            file://debian/man-dir.patch \
-            file://debian/man-section.patch \
-            file://debian/no-rpath.patch \
-            file://debian/no-symbolic.patch \
-            file://debian/pic.patch \
-            file://debian1.0.2/version-script.patch \
-            file://openssl_fix_for_x32.patch \
-            file://fix-cipher-des-ede3-cfb1.patch \
-            file://openssl-avoid-NULL-pointer-dereference-in-EVP_DigestInit_ex.patch \
-            file://openssl-fix-des.pod-error.patch \
-            file://Makefiles-ptest.patch \
-            file://ptest-deps.patch \
-            file://openssl-1.0.2a-x32-asm.patch \
-            file://ptest_makefile_deps.patch  \
-            file://configure-musl-target.patch \
-            file://parallel.patch \
-            file://CVE-2016-2177.patch \
-            file://CVE-2016-2178.patch \
-           "
-SRC_URI += "file://0001-remove-double-initialization-of-cryptodev-engine.patch \
-	file://0002-eng_cryptodev-add-support-for-TLS-algorithms-offload.patch \
-	file://0003-cryptodev-fix-algorithm-registration.patch \
-	file://0004-ECC-Support-header-for-Cryptodev-Engine.patch \
-	file://0005-Initial-support-for-PKC-in-cryptodev-engine.patch \
-	file://0006-Added-hwrng-dev-file-as-source-of-RNG.patch \
-	file://0007-Asynchronous-interface-added-for-PKC-cryptodev-inter.patch \
-	file://0008-Add-RSA-keygen-operation-and-support-gendsa-command-.patch \
-	file://0009-RSA-Keygen-Fix.patch \
-	file://0010-Removed-local-copy-of-curve_t-type.patch \
-	file://0011-Modulus-parameter-is-not-populated-by-dhparams.patch \
-	file://0012-SW-Backoff-mechanism-for-dsa-keygen.patch \
-	file://0013-Fixed-DH-keygen-pair-generator.patch \
-	file://0014-cryptodev-add-support-for-aes-gcm-algorithm-offloadi.patch \
-	file://0015-eng_cryptodev-extend-TLS-offload-with-3des_cbc_hmac_.patch \
-	file://0016-eng_cryptodev-add-support-for-TLSv1.1-record-offload.patch \
-	file://0017-eng_cryptodev-add-support-for-TLSv1.2-record-offload.patch \
-	file://0018-cryptodev-drop-redundant-function.patch \
-	file://0019-cryptodev-do-not-zero-the-buffer-before-use.patch \
-	file://0020-cryptodev-clean-up-code-layout.patch \
-	file://0021-cryptodev-do-not-cache-file-descriptor-in-open.patch \
-	file://0022-cryptodev-put_dev_crypto-should-be-an-int.patch \
-	file://0023-cryptodev-simplify-cryptodev-pkc-support-code.patch \
-	file://0024-cryptodev-clarify-code-remove-assignments-from-condi.patch \
-	file://0025-cryptodev-clean-up-context-state-before-anything-els.patch \
-	file://0026-cryptodev-remove-code-duplication-in-digest-operatio.patch \
-	file://0027-cryptodev-put-all-digest-ioctls-into-a-single-functi.patch \
-	file://0028-cryptodev-fix-debug-print-messages.patch \
-	file://0029-cryptodev-use-CIOCHASH-ioctl-for-digest-operations.patch \
-	file://0030-cryptodev-reduce-duplicated-efforts-for-searching-in.patch \
-	file://0031-cryptodev-remove-not-used-local-variables.patch \
-	file://0032-cryptodev-hide-not-used-variable-behind-ifndef.patch \
-	file://0033-cryptodev-fix-function-declaration-typo.patch \
-	file://0034-cryptodev-fix-incorrect-function-signature.patch \
-	file://0035-cryptodev-fix-warnings-on-excess-elements-in-struct-.patch \
-	file://0036-cryptodev-fix-free-on-error-path.patch \
-	file://0037-cryptodev-fix-return-value-on-error.patch \
-	file://0038-cryptodev-match-types-with-cryptodev.h.patch \
-	file://0039-cryptodev-explicitly-discard-const-qualifier.patch \
-	file://0040-cryptodev-replace-caddr_t-with-void.patch \
-	file://0041-cryptodev-check-for-errors-inside-cryptodev_rsa_mod_.patch \
-	file://0042-cryptodev-check-for-errors-inside-cryptodev_rsa_mod_.patch \
-	file://0043-cryptodev-check-for-errors-inside-cryptodev_dh_compu.patch \
-	file://0044-cryptodev-check-for-errors-inside-cryptodev_dh_compu.patch \
-	file://0045-cryptodev-change-signature-for-conversion-functions.patch \
-	file://0046-cryptodev-add-explicit-cast-for-known-BIGNUM-values.patch \
-	file://0047-cryptodev-treat-all-build-warnings-as-errors.patch \
-	file://0048-fix-maclen-is-used-uninitialized-warning-on-some-com.patch \
-"
-
-SRC_URI[md5sum] = "9392e65072ce4b614c1392eefc1f23d0"
-SRC_URI[sha256sum] = "1d4007e53aad94a5b2002fe045ee7bb0b3d98f1a47f8b2bc851dcd1c74332919"
-
-PACKAGES =+ "${PN}-engines"
-FILES_${PN}-engines = "${libdir}/ssl/engines/*.so ${libdir}/engines"
-
-# The crypto_use_bigint patch means that perl's bignum module needs to be
-# installed, but some distributions (for example Fedora 23) don't ship it by
-# default.  As the resulting error is very misleading check for bignum before
-# building.
-do_configure_prepend() {
-	if ! perl -Mbigint -e true; then
-		bbfatal "The perl module 'bignum' was not found but this is required to build openssl.  Please install this module (often packaged as perl-bignum) and re-run bitbake."
-	fi
-}
diff --git a/recipes-connectivity/openssl/openssl-qoriq_1.0.2k.bb b/recipes-connectivity/openssl/openssl-qoriq_1.0.2k.bb
new file mode 100644
index 0000000..9ba150a
--- /dev/null
+++ b/recipes-connectivity/openssl/openssl-qoriq_1.0.2k.bb
@@ -0,0 +1,103 @@
+require openssl-qoriq.inc
+
+
+DISABLE_STATIC = ""
+DEPENDS += "cryptodev-linux"
+RRECOMMENDS_libcrypto += "cryptodev-module"
+CFLAG += "-DHAVE_CRYPTODEV -DUSE_CRYPTODEV_DIGESTS"
+COMPATIBLE_MACHINE = "(qoriq)"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=27ffa5d74bb5a337056c14b2ef93fbf6"
+
+export DIRS = "crypto ssl apps engines"
+export OE_LDFLAGS="${LDFLAGS}"
+
+SRC_URI += "file://find.pl \
+            file://run-ptest \
+            file://configure-targets.patch \
+            file://shared-libs.patch \
+            file://oe-ldflags.patch \
+            file://engines-install-in-libdir-ssl.patch \
+            file://debian1.0.2/block_diginotar.patch \
+            file://debian1.0.2/block_digicert_malaysia.patch \
+            file://no-rpath.patch \
+            file://openssl_fix_for_x32.patch \
+            file://fix-cipher-des-ede3-cfb1.patch \
+            file://openssl-fix-des.pod-error.patch \
+            file://Makefiles-ptest.patch \
+            file://ptest-deps.patch \
+            file://crypto_use_bigint_in_x86-64_perl.patch \
+            file://openssl-1.0.2a-x32-asm.patch \
+            file://ptest_makefile_deps.patch  \
+           "
+SRC_URI += "file://0001-remove-double-initialization-of-cryptodev-engine.patch \
+	file://0002-eng_cryptodev-add-support-for-TLS-algorithms-offload.patch \
+	file://0003-cryptodev-fix-algorithm-registration.patch \
+	file://0004-ECC-Support-header-for-Cryptodev-Engine.patch \
+	file://0005-Initial-support-for-PKC-in-cryptodev-engine.patch \
+	file://0006-Added-hwrng-dev-file-as-source-of-RNG.patch \
+	file://0007-Asynchronous-interface-added-for-PKC-cryptodev-inter.patch \
+	file://0008-Add-RSA-keygen-operation-and-support-gendsa-command-.patch \
+	file://0009-RSA-Keygen-Fix.patch \
+	file://0010-Removed-local-copy-of-curve_t-type.patch \
+	file://0011-Modulus-parameter-is-not-populated-by-dhparams.patch \
+	file://0012-SW-Backoff-mechanism-for-dsa-keygen.patch \
+	file://0013-Fixed-DH-keygen-pair-generator.patch \
+	file://0014-cryptodev-add-support-for-aes-gcm-algorithm-offloadi.patch \
+	file://0015-eng_cryptodev-extend-TLS-offload-with-3des_cbc_hmac_.patch \
+	file://0016-eng_cryptodev-add-support-for-TLSv1.1-record-offload.patch \
+	file://0017-eng_cryptodev-add-support-for-TLSv1.2-record-offload.patch \
+	file://0018-cryptodev-drop-redundant-function.patch \
+	file://0019-cryptodev-do-not-zero-the-buffer-before-use.patch \
+	file://0020-cryptodev-clean-up-code-layout.patch \
+	file://0021-cryptodev-do-not-cache-file-descriptor-in-open.patch \
+	file://0022-cryptodev-put_dev_crypto-should-be-an-int.patch \
+	file://0023-cryptodev-simplify-cryptodev-pkc-support-code.patch \
+	file://0024-cryptodev-clarify-code-remove-assignments-from-condi.patch \
+	file://0025-cryptodev-clean-up-context-state-before-anything-els.patch \
+	file://0026-cryptodev-remove-code-duplication-in-digest-operatio.patch \
+	file://0027-cryptodev-put-all-digest-ioctls-into-a-single-functi.patch \
+	file://0028-cryptodev-fix-debug-print-messages.patch \
+	file://0029-cryptodev-use-CIOCHASH-ioctl-for-digest-operations.patch \
+	file://0030-cryptodev-reduce-duplicated-efforts-for-searching-in.patch \
+	file://0031-cryptodev-remove-not-used-local-variables.patch \
+	file://0032-cryptodev-hide-not-used-variable-behind-ifndef.patch \
+	file://0033-cryptodev-fix-function-declaration-typo.patch \
+	file://0034-cryptodev-fix-incorrect-function-signature.patch \
+	file://0035-cryptodev-fix-warnings-on-excess-elements-in-struct-.patch \
+	file://0036-cryptodev-fix-free-on-error-path.patch \
+	file://0037-cryptodev-fix-return-value-on-error.patch \
+	file://0038-cryptodev-match-types-with-cryptodev.h.patch \
+	file://0039-cryptodev-explicitly-discard-const-qualifier.patch \
+	file://0040-cryptodev-replace-caddr_t-with-void.patch \
+	file://0041-cryptodev-check-for-errors-inside-cryptodev_rsa_mod_.patch \
+	file://0042-cryptodev-check-for-errors-inside-cryptodev_rsa_mod_.patch \
+	file://0043-cryptodev-check-for-errors-inside-cryptodev_dh_compu.patch \
+	file://0044-cryptodev-check-for-errors-inside-cryptodev_dh_compu.patch \
+	file://0045-cryptodev-change-signature-for-conversion-functions.patch \
+	file://0046-cryptodev-add-explicit-cast-for-known-BIGNUM-values.patch \
+	file://0047-cryptodev-treat-all-build-warnings-as-errors.patch \
+	file://0048-fix-maclen-is-used-uninitialized-warning-on-some-com.patch \
+"
+
+SRC_URI[md5sum] = "f965fc0bf01bf882b31314b61391ae65"
+SRC_URI[sha256sum] = "6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0"
+
+PACKAGES =+ " \
+	${PN}-engines \
+	${PN}-engines-dbg \
+	"
+
+FILES_${PN}-engines = "${libdir}/ssl/engines/*.so ${libdir}/engines"
+FILES_${PN}-engines-dbg = "${libdir}/ssl/engines/.debug"
+
+# The crypto_use_bigint patch means that perl's bignum module needs to be
+# installed, but some distributions (for example Fedora 23) don't ship it by
+# default.  As the resulting error is very misleading check for bignum before
+# building.
+do_configure_prepend() {
+	if ! perl -Mbigint -e true; then
+		bbfatal "The perl module 'bignum' was not found but this is required to build openssl.  Please install this module (often packaged as perl-bignum) and re-run bitbake."
+	fi
+	cp ${WORKDIR}/find.pl ${S}/util/find.pl
+}
-- 
1.9.0



^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [[PATCH v2 21/29] cryptodev: update to 6c2b61c
  2017-04-26  3:28 [[PATCH v2 01/29] cst :update to a292f9d Chunrong Guo
                   ` (18 preceding siblings ...)
  2017-04-26  3:28 ` [[PATCH v2 20/29] openssl-qoriq: upgrade to 1.0.2k Chunrong Guo
@ 2017-04-26  3:28 ` Chunrong Guo
  2017-04-26  3:28 ` [[PATCH v2 22/29] aiopsl: add recipes Chunrong Guo
                   ` (7 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: Chunrong Guo @ 2017-04-26  3:28 UTC (permalink / raw)
  To: meta-freescale; +Cc: zongchun.yu, chunrong.guo

From: Chunrong Guo <chunrong.guo@nxp.com>

   **include the following changes
	6c2b61c - update copyright notes
	f79d523 - fix: reset finish condition before test start
	e8f7a91 - Merge remote-tracking branch 'upstream/master'
	6818263 - Fix ablkcipher algorithms usage in v4.8+ kernels
	26e167f - zc: Use the power of #elif
	e49fe25 - adjust to API changes in kernel >=4.10
	2b29be8 - adjust to API changes in kernel >=4.10
	c3afb40 - add support for rsa speed tests
	c9b7a80 - close the session after every test
	ba49470 - add support for authenc(hmac(sha1), cbc(aes)) speed tests
	690cd62 - Merge branch 'master' into hpe2016
        5adf04e - Merge remote-tracking branch 'upstream/master'
        840c7ba - remove not used variable
        2dbbb23 - do more strict code checking to avoid maintenance issues
        88223e4 - avoid implicit conversion between signed and unsigned char
        8db6905 - use buf_align macro to reduce code duplication
        b6d0e0f - rename header file to clarify purpose
        1fd6062 - fix warnings of "implicit declaration of function" in async_speed
        ff3c8ab - remove not used local variables
        25a1276 - fix incorrect return code in case of error from openssl_cioccrypt
	e7ef4ea - Merge pull request #17 from michaelweiser/gup_flags
	99c6d21 - fix ignored SIGALRM signals on some platforms
	71975fa - setting KERNEL_DIR is not necessary to build tests
	a96ff97 - fix issues with install target
	07748d3 - Merge branch 'master' into hpe2016
	cc89148 - Fix ablkcipher algorithms usage in v4.8+ kernels
	4d6e4fb - Merge remote-tracking branch 'upstream/master'
	f126e48 - Adjust to another change in the user page API
	4257fce - add -async option to run_crypto_tests.sh
	f953164 - merge sync and async benchmarks into a single program
	e7af57b - add % to cpu idle for convenience
	1883c95 - add a wrapper script for running all tests
	998b66b - add notes about configured limits in SEC driver
	b1a35f3 - fix ignored SIGALRM signals on some platforms
	b754517 - use the same algorithm names in sync_speed as in async_speed
	8baefa4 - force LC_TIME value to avoid mpstat not using ISO8601 format
	d0978b5 - add sync speed tests with the same format as async ones
	15d890b - graceful exit if cryptodev is not built with ASYNC flags
	9a595bf - fix typo, use consistent spacing
	9461878 - remove output line because it does not add clarity to the results
	b09c17f - the C standard used by cryptodev is C90 with GNU extensions
	447808d - exit early if cryptodev tests are not installed
	493afd3 - fix incorrect handling of error cases...
	e0d2c88 - make default output tabular
	abc007a - really fix (again...) the mpstat issue
	2696cd5 - use $(...) instead of `...` for consistency
	e8fb004 - fix the scale of the runtime value
	119151b - remove old results to avoid incorrect reports
	71ac3d5 - fix the reported unit
	8c47a0c - setting KERNEL_DIR is not necessary to build tests
	182b307 - fix issues with install target
	5021828 - do more strict code checking to avoid maintenance issues
	ab239d7 - return error code of the test if there is one
	b5228f2 - remove not used local variables
	90d67ce - avoid implicit conversion between signed and unsigned char
	4b442ca - fix build warnings on implicit function declarations
	2821b92 - add a little space in the output for clarity
	9d0ef05 - more precision in running mpstat
	0180e2b - fix some issues with parsing mpstat output
	4257fce - add -async option to run_crypto_tests.sh
	f953164 - merge sync and async benchmarks into a single program
	e7af57b - add % to cpu idle for convenience
	7d7a733 - sanity check on /dev/crypto availability
	137c0c4 - gracefull stop for async speed tests
	600eb70 - fix: set min value when allocating alligned memory buffers
	18408c9 - add multithreaded wrapper for async speed test
	854cc84 - rename algorithm names for clarity
	216f235 - honor the -m flag in async_speed
	1023ede - add flag to report in a machine friendly format
	219a8b4 - enable async code by default
	9def784 - Merge remote-tracking branch 'radualexe/new_tests`
	149dc1c - add basic optargs support for async_speed test
	9595499 - add support for crc32c hash sync speed test
	83e3840 - add support for aes-256-xts sync speed test
	fff72ae - add support for sha2-256 hash async speed test
	b961800 - add support for sha1 hash async speed test
	fea5006 - add support for crc32c hash async speed test
	8768fad - add aes-256-xts support for async speed test

Signed-off-by: Chunrong Guo <B40290@freescale.com>
---
 recipes-kernel/cryptodev/cryptodev-qoriq_1.8.inc   |   63 +
 ...-aes-256-xts-support-for-async-speed-test.patch |   64 +
 ...-support-for-crc32c-hash-async-speed-test.patch |   92 +
 ...dd-support-for-sha1-hash-async-speed-test.patch |   47 +
 ...upport-for-sha2-256-hash-async-speed-test.patch |   47 +
 ...d-support-for-aes-256-xts-sync-speed-test.patch |   48 +
 ...d-support-for-crc32c-hash-sync-speed-test.patch |   63 +
 ...asic-optargs-support-for-async_speed-test.patch |  439 +++++
 .../0051-enable-async-code-by-default.patch        |   37 +
 ...ag-to-report-in-a-machine-friendly-format.patch |   55 +
 .../0053-honor-the-m-flag-in-async_speed.patch     |  137 ++
 .../0054-rename-algorithm-names-for-clarity.patch  |   57 +
 ...ultithreaded-wrapper-for-async-speed-test.patch |  173 ++
 ...-value-when-allocating-alligned-memory-bu.patch |   58 +
 ...0057-gracefull-stop-for-async-speed-tests.patch |   64 +
 ...8-sanity-check-on-dev-crypto-availability.patch |   26 +
 ...ix-some-issues-with-parsing-mpstat-output.patch |   42 +
 .../0060-more-precision-in-running-mpstat.patch    |   55 +
 ...-a-little-space-in-the-output-for-clarity.patch |   27 +
 ...arnings-on-implicit-function-declarations.patch |  129 ++
 ...cit-conversion-between-signed-and-unsigne.patch |  698 ++++++++
 .../0064-remove-not-used-local-variables.patch     |  129 ++
 ...rn-error-code-of-the-test-if-there-is-one.patch |   68 +
 ...ict-code-checking-to-avoid-maintenance-is.patch |   25 +
 .../0067-fix-issues-with-install-target.patch      |   52 +
 ...ERNEL_DIR-is-not-necessary-to-build-tests.patch |   24 +
 .../sdk_patches/0069-fix-the-reported-unit.patch   |   29 +
 ...ve-old-results-to-avoid-incorrect-reports.patch |   27 +
 .../0071-fix-the-scale-of-the-runtime-value.patch  |   29 +
 .../0072-use-.-instead-of-.-for-consistency.patch  |   82 +
 .../0073-really-fix-again.-the-mpstat-issue.patch  |   34 +
 .../0074-make-default-output-tabular.patch         |   83 +
 ...075-fix-incorrect-handling-of-error-cases.patch |   27 +
 ...arly-if-cryptodev-tests-are-not-installed.patch |   48 +
 ...ard-used-by-cryptodev-is-C90-with-GNU-ext.patch |   66 +
 ...ut-line-because-it-does-not-add-clarity-t.patch |   32 +
 .../0079-fix-typo-use-consistent-spacing.patch     |   28 +
 ...it-if-cryptodev-is-not-built-with-ASYNC-f.patch |   31 +
 ...eed-tests-with-the-same-format-as-async-o.patch |  718 ++++++++
 ...ME-value-to-avoid-mpstat-not-using-ISO860.patch |   31 +
 ...e-algorithm-names-in-sync_speed-as-in-asy.patch |   58 +
 ...ignored-SIGALRM-signals-on-some-platforms.patch |   44 +
 ...tes-about-configured-limits-in-SEC-driver.patch |   56 +
 ...dd-a-wrapper-script-for-running-all-tests.patch |   58 +
 .../0087-add-to-cpu-idle-for-convenience.patch     |   26 +
 ...and-async-benchmarks-into-a-single-progra.patch | 1858 ++++++++++++++++++++
 ...9-add-async-option-to-run_crypto_tests.sh.patch |   62 +
 ...90-Adjust-to-recent-user-page-API-changes.patch |   55 +
 .../0091-Fix-test-compile-time-warnings.patch      |   65 +
 ...rt-skcipher-in-addition-to-ablkcipher-API.patch |  281 +++
 ...lkcipher-algorithms-usage-in-v4.8-kernels.patch |  147 ++
 ...st-to-another-change-in-the-user-page-API.patch |   36 +
 ...095-rename-header-file-to-clarify-purpose.patch |  173 ++
 ...uf_align-macro-to-reduce-code-duplication.patch |  248 +++
 ...cit-conversion-between-signed-and-unsigne.patch |  304 ++++
 ...uce-tests-Makefile-distance-with-upstream.patch |   25 +
 ...-for-authenc-hmac-sha1-cbc-aes-speed-test.patch |  288 +++
 .../0100-close-the-session-after-every-test.patch  |  108 ++
 .../0101-add-support-for-rsa-speed-tests.patch     |  179 ++
 ...0102-adjust-to-API-changes-in-kernel-4.10.patch |   57 +
 .../0103-zc-Use-the-power-of-elif.patch            |   51 +
 ...-reset-finish-condition-before-test-start.patch |   29 +
 .../sdk_patches/0105-update-copyright-notes.patch  |   77 +
 ...talling-header-file-provided-by-another-p.patch |   19 +-
 ...date-the-install-path-for-cryptodev-tests.patch |   28 +
 65 files changed, 8303 insertions(+), 13 deletions(-)
 create mode 100644 recipes-kernel/cryptodev/sdk_patches/0044-add-aes-256-xts-support-for-async-speed-test.patch
 create mode 100644 recipes-kernel/cryptodev/sdk_patches/0045-add-support-for-crc32c-hash-async-speed-test.patch
 create mode 100644 recipes-kernel/cryptodev/sdk_patches/0046-add-support-for-sha1-hash-async-speed-test.patch
 create mode 100644 recipes-kernel/cryptodev/sdk_patches/0047-add-support-for-sha2-256-hash-async-speed-test.patch
 create mode 100644 recipes-kernel/cryptodev/sdk_patches/0048-add-support-for-aes-256-xts-sync-speed-test.patch
 create mode 100644 recipes-kernel/cryptodev/sdk_patches/0049-add-support-for-crc32c-hash-sync-speed-test.patch
 create mode 100644 recipes-kernel/cryptodev/sdk_patches/0050-add-basic-optargs-support-for-async_speed-test.patch
 create mode 100644 recipes-kernel/cryptodev/sdk_patches/0051-enable-async-code-by-default.patch
 create mode 100644 recipes-kernel/cryptodev/sdk_patches/0052-add-flag-to-report-in-a-machine-friendly-format.patch
 create mode 100644 recipes-kernel/cryptodev/sdk_patches/0053-honor-the-m-flag-in-async_speed.patch
 create mode 100644 recipes-kernel/cryptodev/sdk_patches/0054-rename-algorithm-names-for-clarity.patch
 create mode 100644 recipes-kernel/cryptodev/sdk_patches/0055-add-multithreaded-wrapper-for-async-speed-test.patch
 create mode 100644 recipes-kernel/cryptodev/sdk_patches/0056-fix-set-min-value-when-allocating-alligned-memory-bu.patch
 create mode 100644 recipes-kernel/cryptodev/sdk_patches/0057-gracefull-stop-for-async-speed-tests.patch
 create mode 100644 recipes-kernel/cryptodev/sdk_patches/0058-sanity-check-on-dev-crypto-availability.patch
 create mode 100644 recipes-kernel/cryptodev/sdk_patches/0059-fix-some-issues-with-parsing-mpstat-output.patch
 create mode 100644 recipes-kernel/cryptodev/sdk_patches/0060-more-precision-in-running-mpstat.patch
 create mode 100644 recipes-kernel/cryptodev/sdk_patches/0061-add-a-little-space-in-the-output-for-clarity.patch
 create mode 100644 recipes-kernel/cryptodev/sdk_patches/0062-fix-build-warnings-on-implicit-function-declarations.patch
 create mode 100644 recipes-kernel/cryptodev/sdk_patches/0063-avoid-implicit-conversion-between-signed-and-unsigne.patch
 create mode 100644 recipes-kernel/cryptodev/sdk_patches/0064-remove-not-used-local-variables.patch
 create mode 100644 recipes-kernel/cryptodev/sdk_patches/0065-return-error-code-of-the-test-if-there-is-one.patch
 create mode 100644 recipes-kernel/cryptodev/sdk_patches/0066-do-more-strict-code-checking-to-avoid-maintenance-is.patch
 create mode 100644 recipes-kernel/cryptodev/sdk_patches/0067-fix-issues-with-install-target.patch
 create mode 100644 recipes-kernel/cryptodev/sdk_patches/0068-setting-KERNEL_DIR-is-not-necessary-to-build-tests.patch
 create mode 100644 recipes-kernel/cryptodev/sdk_patches/0069-fix-the-reported-unit.patch
 create mode 100644 recipes-kernel/cryptodev/sdk_patches/0070-remove-old-results-to-avoid-incorrect-reports.patch
 create mode 100644 recipes-kernel/cryptodev/sdk_patches/0071-fix-the-scale-of-the-runtime-value.patch
 create mode 100644 recipes-kernel/cryptodev/sdk_patches/0072-use-.-instead-of-.-for-consistency.patch
 create mode 100644 recipes-kernel/cryptodev/sdk_patches/0073-really-fix-again.-the-mpstat-issue.patch
 create mode 100644 recipes-kernel/cryptodev/sdk_patches/0074-make-default-output-tabular.patch
 create mode 100644 recipes-kernel/cryptodev/sdk_patches/0075-fix-incorrect-handling-of-error-cases.patch
 create mode 100644 recipes-kernel/cryptodev/sdk_patches/0076-exit-early-if-cryptodev-tests-are-not-installed.patch
 create mode 100644 recipes-kernel/cryptodev/sdk_patches/0077-the-C-standard-used-by-cryptodev-is-C90-with-GNU-ext.patch
 create mode 100644 recipes-kernel/cryptodev/sdk_patches/0078-remove-output-line-because-it-does-not-add-clarity-t.patch
 create mode 100644 recipes-kernel/cryptodev/sdk_patches/0079-fix-typo-use-consistent-spacing.patch
 create mode 100644 recipes-kernel/cryptodev/sdk_patches/0080-graceful-exit-if-cryptodev-is-not-built-with-ASYNC-f.patch
 create mode 100644 recipes-kernel/cryptodev/sdk_patches/0081-add-sync-speed-tests-with-the-same-format-as-async-o.patch
 create mode 100644 recipes-kernel/cryptodev/sdk_patches/0082-force-LC_TIME-value-to-avoid-mpstat-not-using-ISO860.patch
 create mode 100644 recipes-kernel/cryptodev/sdk_patches/0083-use-the-same-algorithm-names-in-sync_speed-as-in-asy.patch
 create mode 100644 recipes-kernel/cryptodev/sdk_patches/0084-fix-ignored-SIGALRM-signals-on-some-platforms.patch
 create mode 100644 recipes-kernel/cryptodev/sdk_patches/0085-add-notes-about-configured-limits-in-SEC-driver.patch
 create mode 100644 recipes-kernel/cryptodev/sdk_patches/0086-add-a-wrapper-script-for-running-all-tests.patch
 create mode 100644 recipes-kernel/cryptodev/sdk_patches/0087-add-to-cpu-idle-for-convenience.patch
 create mode 100644 recipes-kernel/cryptodev/sdk_patches/0088-merge-sync-and-async-benchmarks-into-a-single-progra.patch
 create mode 100644 recipes-kernel/cryptodev/sdk_patches/0089-add-async-option-to-run_crypto_tests.sh.patch
 create mode 100644 recipes-kernel/cryptodev/sdk_patches/0090-Adjust-to-recent-user-page-API-changes.patch
 create mode 100644 recipes-kernel/cryptodev/sdk_patches/0091-Fix-test-compile-time-warnings.patch
 create mode 100644 recipes-kernel/cryptodev/sdk_patches/0092-Support-skcipher-in-addition-to-ablkcipher-API.patch
 create mode 100644 recipes-kernel/cryptodev/sdk_patches/0093-Fix-ablkcipher-algorithms-usage-in-v4.8-kernels.patch
 create mode 100644 recipes-kernel/cryptodev/sdk_patches/0094-Adjust-to-another-change-in-the-user-page-API.patch
 create mode 100644 recipes-kernel/cryptodev/sdk_patches/0095-rename-header-file-to-clarify-purpose.patch
 create mode 100644 recipes-kernel/cryptodev/sdk_patches/0096-use-buf_align-macro-to-reduce-code-duplication.patch
 create mode 100644 recipes-kernel/cryptodev/sdk_patches/0097-avoid-implicit-conversion-between-signed-and-unsigne.patch
 create mode 100644 recipes-kernel/cryptodev/sdk_patches/0098-reduce-tests-Makefile-distance-with-upstream.patch
 create mode 100644 recipes-kernel/cryptodev/sdk_patches/0099-add-support-for-authenc-hmac-sha1-cbc-aes-speed-test.patch
 create mode 100644 recipes-kernel/cryptodev/sdk_patches/0100-close-the-session-after-every-test.patch
 create mode 100644 recipes-kernel/cryptodev/sdk_patches/0101-add-support-for-rsa-speed-tests.patch
 create mode 100644 recipes-kernel/cryptodev/sdk_patches/0102-adjust-to-API-changes-in-kernel-4.10.patch
 create mode 100644 recipes-kernel/cryptodev/sdk_patches/0103-zc-Use-the-power-of-elif.patch
 create mode 100644 recipes-kernel/cryptodev/sdk_patches/0104-fix-reset-finish-condition-before-test-start.patch
 create mode 100644 recipes-kernel/cryptodev/sdk_patches/0105-update-copyright-notes.patch
 create mode 100644 recipes-kernel/cryptodev/yocto_patches/0003-update-the-install-path-for-cryptodev-tests.patch

diff --git a/recipes-kernel/cryptodev/cryptodev-qoriq_1.8.inc b/recipes-kernel/cryptodev/cryptodev-qoriq_1.8.inc
index 4c7cb93..b55a33c 100644
--- a/recipes-kernel/cryptodev/cryptodev-qoriq_1.8.inc
+++ b/recipes-kernel/cryptodev/cryptodev-qoriq_1.8.inc
@@ -64,7 +64,70 @@ file://0040-fix-structure-init-in-sha_speed-test.patch \
 file://0041-add-separate-target-for-building-tests.patch \
 file://0042-fix-destination-for-staged-installs.patch \
 file://0043-add-install-target-for-tests.patch \
+file://0044-add-aes-256-xts-support-for-async-speed-test.patch \
+file://0045-add-support-for-crc32c-hash-async-speed-test.patch \
+file://0046-add-support-for-sha1-hash-async-speed-test.patch \
+file://0047-add-support-for-sha2-256-hash-async-speed-test.patch \
+file://0048-add-support-for-aes-256-xts-sync-speed-test.patch \
+file://0049-add-support-for-crc32c-hash-sync-speed-test.patch \
+file://0050-add-basic-optargs-support-for-async_speed-test.patch \
+file://0051-enable-async-code-by-default.patch \
+file://0052-add-flag-to-report-in-a-machine-friendly-format.patch \
+file://0053-honor-the-m-flag-in-async_speed.patch \
+file://0054-rename-algorithm-names-for-clarity.patch \
+file://0055-add-multithreaded-wrapper-for-async-speed-test.patch \
+file://0056-fix-set-min-value-when-allocating-alligned-memory-bu.patch \
+file://0057-gracefull-stop-for-async-speed-tests.patch \
+file://0058-sanity-check-on-dev-crypto-availability.patch \
+file://0059-fix-some-issues-with-parsing-mpstat-output.patch \
+file://0060-more-precision-in-running-mpstat.patch \
+file://0061-add-a-little-space-in-the-output-for-clarity.patch \
+file://0062-fix-build-warnings-on-implicit-function-declarations.patch \
+file://0063-avoid-implicit-conversion-between-signed-and-unsigne.patch \
+file://0064-remove-not-used-local-variables.patch \
+file://0065-return-error-code-of-the-test-if-there-is-one.patch \
+file://0066-do-more-strict-code-checking-to-avoid-maintenance-is.patch \
+file://0067-fix-issues-with-install-target.patch \
+file://0068-setting-KERNEL_DIR-is-not-necessary-to-build-tests.patch \
+file://0069-fix-the-reported-unit.patch \
+file://0070-remove-old-results-to-avoid-incorrect-reports.patch \
+file://0071-fix-the-scale-of-the-runtime-value.patch \
+file://0072-use-.-instead-of-.-for-consistency.patch \
+file://0073-really-fix-again.-the-mpstat-issue.patch \
+file://0074-make-default-output-tabular.patch \
+file://0075-fix-incorrect-handling-of-error-cases.patch \
+file://0076-exit-early-if-cryptodev-tests-are-not-installed.patch \
+file://0077-the-C-standard-used-by-cryptodev-is-C90-with-GNU-ext.patch \
+file://0078-remove-output-line-because-it-does-not-add-clarity-t.patch \
+file://0079-fix-typo-use-consistent-spacing.patch \
+file://0080-graceful-exit-if-cryptodev-is-not-built-with-ASYNC-f.patch \
+file://0081-add-sync-speed-tests-with-the-same-format-as-async-o.patch \
+file://0082-force-LC_TIME-value-to-avoid-mpstat-not-using-ISO860.patch \
+file://0083-use-the-same-algorithm-names-in-sync_speed-as-in-asy.patch \
+file://0084-fix-ignored-SIGALRM-signals-on-some-platforms.patch \
+file://0085-add-notes-about-configured-limits-in-SEC-driver.patch \
+file://0086-add-a-wrapper-script-for-running-all-tests.patch \
+file://0087-add-to-cpu-idle-for-convenience.patch \
+file://0088-merge-sync-and-async-benchmarks-into-a-single-progra.patch \
+file://0089-add-async-option-to-run_crypto_tests.sh.patch \
+file://0090-Adjust-to-recent-user-page-API-changes.patch \
+file://0091-Fix-test-compile-time-warnings.patch \
+file://0092-Support-skcipher-in-addition-to-ablkcipher-API.patch \
+file://0093-Fix-ablkcipher-algorithms-usage-in-v4.8-kernels.patch \
+file://0094-Adjust-to-another-change-in-the-user-page-API.patch \
+file://0095-rename-header-file-to-clarify-purpose.patch \
+file://0096-use-buf_align-macro-to-reduce-code-duplication.patch \
+file://0097-avoid-implicit-conversion-between-signed-and-unsigne.patch \
+file://0098-reduce-tests-Makefile-distance-with-upstream.patch \
+file://0099-add-support-for-authenc-hmac-sha1-cbc-aes-speed-test.patch \
+file://0100-close-the-session-after-every-test.patch \
+file://0101-add-support-for-rsa-speed-tests.patch \
+file://0102-adjust-to-API-changes-in-kernel-4.10.patch \
+file://0103-zc-Use-the-power-of-elif.patch \
+file://0104-fix-reset-finish-condition-before-test-start.patch \
+file://0105-update-copyright-notes.patch \
 "
+SRC_URI_append = " file://0003-update-the-install-path-for-cryptodev-tests.patch"
 
 # NOTE: remove this patch and all traces of DISTRO_FEATURE c29x_pkc
 # if pkc-host does not need customized cryptodev patches anymore
diff --git a/recipes-kernel/cryptodev/sdk_patches/0044-add-aes-256-xts-support-for-async-speed-test.patch b/recipes-kernel/cryptodev/sdk_patches/0044-add-aes-256-xts-support-for-async-speed-test.patch
new file mode 100644
index 0000000..8a3c4f2
--- /dev/null
+++ b/recipes-kernel/cryptodev/sdk_patches/0044-add-aes-256-xts-support-for-async-speed-test.patch
@@ -0,0 +1,64 @@
+From 6a89ac4c49068d4225f4c1cc94a1d20b3d174b3f Mon Sep 17 00:00:00 2001
+From: Radu Alexe <raduandrei.alexe@freescale.com>
+Date: Sat, 22 Oct 2016 21:55:25 +0300
+Subject: [PATCH 044/104] add aes-256-xts support for async speed test
+
+Signed-off-by: Radu Alexe <raduandrei.alexe@freescale.com>
+---
+ ioctl.c             |  3 +++
+ tests/async_speed.c | 25 +++++++++++++++++++++++++
+ 2 files changed, 28 insertions(+)
+
+diff --git a/ioctl.c b/ioctl.c
+index 8d81b56..ca3c5ac 100644
+--- a/ioctl.c
++++ b/ioctl.c
+@@ -172,6 +172,9 @@ crypto_create_session(struct fcrypt *fcr, struct session_op *sop)
+ 	case CRYPTO_AES_ECB:
+ 		alg_name = "ecb(aes)";
+ 		break;
++	case CRYPTO_AES_XTS:
++		alg_name = "xts(aes)";
++		break;
+ 	case CRYPTO_CAMELLIA_CBC:
+ 		alg_name = "cbc(camellia)";
+ 		break;
+diff --git a/tests/async_speed.c b/tests/async_speed.c
+index 1188599..39a3d23 100644
+--- a/tests/async_speed.c
++++ b/tests/async_speed.c
+@@ -211,6 +211,31 @@ int main(void)
+ 			break;
+ 	}
+ 
++	fprintf(stderr, "\nTesting AES-256-XTS cipher: \n");
++	memset(&sess, 0, sizeof(sess));
++	sess.cipher = CRYPTO_AES_XTS;
++	sess.keylen = 32;
++	memset(keybuf, 0x42, sess.keylen);
++	sess.key = (unsigned char *)keybuf;
++	if (ioctl(fdc, CIOCGSESSION, &sess)) {
++		perror("ioctl(CIOCGSESSION)");
++		return 1;
++	}
++#ifdef CIOCGSESSINFO
++	siop.ses = sess.ses;
++	if (ioctl(fdc, CIOCGSESSINFO, &siop)) {
++		perror("ioctl(CIOCGSESSION)");
++		return 1;
++	}
++	alignmask = siop.alignmask;
++#endif
++
++	for (i = 256; i <= (64 * 1024); i *= 2) {
++		if (encrypt_data(&sess, fdc, i, alignmask))
++			break;
++	}
++
++end:
+ 	close(fdc);
+ 	close(fd);
+ 	return 0;
+-- 
+2.10.2
+
diff --git a/recipes-kernel/cryptodev/sdk_patches/0045-add-support-for-crc32c-hash-async-speed-test.patch b/recipes-kernel/cryptodev/sdk_patches/0045-add-support-for-crc32c-hash-async-speed-test.patch
new file mode 100644
index 0000000..b1a790e
--- /dev/null
+++ b/recipes-kernel/cryptodev/sdk_patches/0045-add-support-for-crc32c-hash-async-speed-test.patch
@@ -0,0 +1,92 @@
+From aa329106f586f8d055ceaa919e327ebc99bdd6e3 Mon Sep 17 00:00:00 2001
+From: Alexe Radu <radu.alexe@nxp.com>
+Date: Tue, 25 Oct 2016 11:15:37 +0300
+Subject: [PATCH 045/104] add support for crc32c hash async speed test
+
+Signed-off-by: Alexe Radu <radu.alexe@nxp.com>
+---
+ crypto/cryptodev.h  |  1 +
+ ioctl.c             |  4 ++++
+ tests/async_speed.c | 25 +++++++++++++++++++++++++
+ 3 files changed, 30 insertions(+)
+
+diff --git a/crypto/cryptodev.h b/crypto/cryptodev.h
+index 9ade102..05221a4 100644
+--- a/crypto/cryptodev.h
++++ b/crypto/cryptodev.h
+@@ -46,6 +46,7 @@ enum cryptodev_crypto_op_t {
+ 	CRYPTO_AES_XTS = 22,
+ 	CRYPTO_AES_ECB = 23,
+ 	CRYPTO_AES_GCM = 50,
++	CRYPTO_CRC32C,
+ 
+ 	CRYPTO_CAMELLIA_CBC = 101,
+ 	CRYPTO_RIPEMD160,
+diff --git a/ioctl.c b/ioctl.c
+index ca3c5ac..2e2bdeb 100644
+--- a/ioctl.c
++++ b/ioctl.c
+@@ -286,6 +286,10 @@ crypto_create_session(struct fcrypt *fcr, struct session_op *sop)
+ 		hash_name = "sha512";
+ 		hmac_mode = 0;
+ 		break;
++	case CRYPTO_CRC32C:
++		hash_name = "crc32c";
++		hmac_mode = 0;
++		break;
+ 	default:
+ 		ddebug(1, "bad mac: %d", sop->mac);
+ 		return -EINVAL;
+diff --git a/tests/async_speed.c b/tests/async_speed.c
+index 39a3d23..8978b4b 100644
+--- a/tests/async_speed.c
++++ b/tests/async_speed.c
+@@ -65,6 +65,7 @@ int encrypt_data(struct session_op *sess, int fdc, int chunksize, int alignmask)
+ {
+ 	struct crypt_op cop;
+ 	char *buffer[64], iv[32];
++	char mac[64][HASH_MAX_LEN];
+ 	static int val = 23;
+ 	struct timeval start, end;
+ 	double total = 0;
+@@ -114,6 +115,7 @@ int encrypt_data(struct session_op *sess, int fdc, int chunksize, int alignmask)
+ 			cop.iv = (unsigned char *)iv;
+ 			cop.op = COP_ENCRYPT;
+ 			cop.src = cop.dst = (unsigned char *)buffer[bufidx];
++			cop.mac = mac[bufidx];
+ 			bufidx = (bufidx + 1) % 64;
+ 
+ 			if (ioctl(fdc, CIOCASYNCCRYPT, &cop)) {
+@@ -235,6 +237,29 @@ int main(void)
+ 			break;
+ 	}
+ 
++	fprintf(stderr, "\nTesting CRC32C hash: \n");
++	memset(&sess, 0, sizeof(sess));
++	sess.mac = CRYPTO_CRC32C;
++	if (ioctl(fdc, CIOCGSESSION, &sess)) {
++		perror("ioctl(CIOCGSESSION)");
++		return 1;
++	}
++#ifdef CIOCGSESSINFO
++	siop.ses = sess.ses;
++	if (ioctl(fdc, CIOCGSESSINFO, &siop)) {
++		perror("ioctl(CIOCGSESSION)");
++		return 1;
++	}
++	printf("requested hash CRYPTO_CRC32C, got %s with driver %s\n",
++			siop.hash_info.cra_name, siop.hash_info.cra_driver_name);
++	alignmask = siop.alignmask;
++#endif
++
++	for (i = 256; i <= (64 * 1024); i *= 2) {
++		if (encrypt_data(&sess, fdc, i, alignmask))
++			break;
++	}
++
+ end:
+ 	close(fdc);
+ 	close(fd);
+-- 
+2.10.2
+
diff --git a/recipes-kernel/cryptodev/sdk_patches/0046-add-support-for-sha1-hash-async-speed-test.patch b/recipes-kernel/cryptodev/sdk_patches/0046-add-support-for-sha1-hash-async-speed-test.patch
new file mode 100644
index 0000000..fb902fb
--- /dev/null
+++ b/recipes-kernel/cryptodev/sdk_patches/0046-add-support-for-sha1-hash-async-speed-test.patch
@@ -0,0 +1,47 @@
+From c2fed59ef63a1b9da26e8a5452004b07aad39261 Mon Sep 17 00:00:00 2001
+From: Alexe Radu <radu.alexe@nxp.com>
+Date: Tue, 25 Oct 2016 11:21:47 +0300
+Subject: [PATCH 046/104] add support for sha1 hash async speed test
+
+Signed-off-by: Alexe Radu <radu.alexe@nxp.com>
+---
+ tests/async_speed.c | 23 +++++++++++++++++++++++
+ 1 file changed, 23 insertions(+)
+
+diff --git a/tests/async_speed.c b/tests/async_speed.c
+index 8978b4b..64d5603 100644
+--- a/tests/async_speed.c
++++ b/tests/async_speed.c
+@@ -260,6 +260,29 @@ int main(void)
+ 			break;
+ 	}
+ 
++	fprintf(stderr, "\nTesting SHA-1 hash: \n");
++	memset(&sess, 0, sizeof(sess));
++	sess.mac = CRYPTO_SHA1;
++	if (ioctl(fdc, CIOCGSESSION, &sess)) {
++		perror("ioctl(CIOCGSESSION)");
++		return 1;
++	}
++#ifdef CIOCGSESSINFO
++	siop.ses = sess.ses;
++	if (ioctl(fdc, CIOCGSESSINFO, &siop)) {
++		perror("ioctl(CIOCGSESSION)");
++		return 1;
++	}
++	printf("requested hash CRYPTO_SHA1, got %s with driver %s\n",
++			siop.hash_info.cra_name, siop.hash_info.cra_driver_name);
++	alignmask = siop.alignmask;
++#endif
++
++	for (i = 256; i <= (64 * 1024); i *= 2) {
++		if (encrypt_data(&sess, fdc, i, alignmask))
++			break;
++	}
++
+ end:
+ 	close(fdc);
+ 	close(fd);
+-- 
+2.10.2
+
diff --git a/recipes-kernel/cryptodev/sdk_patches/0047-add-support-for-sha2-256-hash-async-speed-test.patch b/recipes-kernel/cryptodev/sdk_patches/0047-add-support-for-sha2-256-hash-async-speed-test.patch
new file mode 100644
index 0000000..2721ea8
--- /dev/null
+++ b/recipes-kernel/cryptodev/sdk_patches/0047-add-support-for-sha2-256-hash-async-speed-test.patch
@@ -0,0 +1,47 @@
+From 14c5355aa23f970c7941afa460b2335f8e67445f Mon Sep 17 00:00:00 2001
+From: Alexe Radu <radu.alexe@nxp.com>
+Date: Tue, 25 Oct 2016 11:28:09 +0300
+Subject: [PATCH 047/104] add support for sha2-256 hash async speed test
+
+Signed-off-by: Alexe Radu <radu.alexe@nxp.com>
+---
+ tests/async_speed.c | 23 +++++++++++++++++++++++
+ 1 file changed, 23 insertions(+)
+
+diff --git a/tests/async_speed.c b/tests/async_speed.c
+index 64d5603..15ab80c 100644
+--- a/tests/async_speed.c
++++ b/tests/async_speed.c
+@@ -283,6 +283,29 @@ int main(void)
+ 			break;
+ 	}
+ 
++	fprintf(stderr, "\nTesting SHA2-256 hash: \n");
++	memset(&sess, 0, sizeof(sess));
++	sess.mac = CRYPTO_SHA2_256;
++	if (ioctl(fdc, CIOCGSESSION, &sess)) {
++		perror("ioctl(CIOCGSESSION)");
++		return 1;
++	}
++#ifdef CIOCGSESSINFO
++	siop.ses = sess.ses;
++	if (ioctl(fdc, CIOCGSESSINFO, &siop)) {
++		perror("ioctl(CIOCGSESSION)");
++		return 1;
++	}
++	printf("requested hash CRYPTO_SHA2_256, got %s with driver %s\n",
++			siop.hash_info.cra_name, siop.hash_info.cra_driver_name);
++	alignmask = siop.alignmask;
++#endif
++
++	for (i = 256; i <= (64 * 1024); i *= 2) {
++		if (encrypt_data(&sess, fdc, i, alignmask))
++			break;
++	}
++
+ end:
+ 	close(fdc);
+ 	close(fd);
+-- 
+2.10.2
+
diff --git a/recipes-kernel/cryptodev/sdk_patches/0048-add-support-for-aes-256-xts-sync-speed-test.patch b/recipes-kernel/cryptodev/sdk_patches/0048-add-support-for-aes-256-xts-sync-speed-test.patch
new file mode 100644
index 0000000..85301aa
--- /dev/null
+++ b/recipes-kernel/cryptodev/sdk_patches/0048-add-support-for-aes-256-xts-sync-speed-test.patch
@@ -0,0 +1,48 @@
+From 139268835b7d84472950e3ed866f41d79a0cb723 Mon Sep 17 00:00:00 2001
+From: Alexe Radu <radu.alexe@nxp.com>
+Date: Tue, 25 Oct 2016 12:05:13 +0300
+Subject: [PATCH 048/104] add support for aes-256-xts sync speed test
+
+Signed-off-by: Alexe Radu <radu.alexe@nxp.com>
+---
+ tests/speed.c | 24 ++++++++++++++++++++++++
+ 1 file changed, 24 insertions(+)
+
+diff --git a/tests/speed.c b/tests/speed.c
+index 81c5a65..16ad7b7 100644
+--- a/tests/speed.c
++++ b/tests/speed.c
+@@ -206,6 +206,30 @@ int main(int argc, char** argv)
+ 			break;
+ 	}
+ 
++	fprintf(stderr, "\nTesting AES-256-XTS cipher: \n");
++	memset(&sess, 0, sizeof(sess));
++	sess.cipher = CRYPTO_AES_XTS;
++	sess.keylen = 32;
++	memset(keybuf, 0x42, sess.keylen);
++	sess.key = (unsigned char *)keybuf;
++	if (ioctl(fdc, CIOCGSESSION, &sess)) {
++		perror("ioctl(CIOCGSESSION)");
++		return 1;
++	}
++#ifdef CIOCGSESSINFO
++	siop.ses = sess.ses;
++	if (ioctl(fdc, CIOCGSESSINFO, &siop)) {
++		perror("ioctl(CIOCGSESSINFO)");
++		return 1;
++	}
++	alignmask = siop.alignmask;
++#endif
++
++	for (i = 512; i <= (64 * 1024); i *= 2) {
++		if (encrypt_data(&sess, fdc, i, alignmask))
++			break;
++	}
++
+ 	close(fdc);
+ 	close(fd);
+ 	return 0;
+-- 
+2.10.2
+
diff --git a/recipes-kernel/cryptodev/sdk_patches/0049-add-support-for-crc32c-hash-sync-speed-test.patch b/recipes-kernel/cryptodev/sdk_patches/0049-add-support-for-crc32c-hash-sync-speed-test.patch
new file mode 100644
index 0000000..26279b6
--- /dev/null
+++ b/recipes-kernel/cryptodev/sdk_patches/0049-add-support-for-crc32c-hash-sync-speed-test.patch
@@ -0,0 +1,63 @@
+From af3d42a68f1e356d21e52e72f3f5ebc7cfd90e81 Mon Sep 17 00:00:00 2001
+From: Alexe Radu <radu.alexe@nxp.com>
+Date: Tue, 25 Oct 2016 12:13:58 +0300
+Subject: [PATCH 049/104] add support for crc32c hash sync speed test
+
+Signed-off-by: Alexe Radu <radu.alexe@nxp.com>
+---
+ tests/speed.c | 25 +++++++++++++++++++++++++
+ 1 file changed, 25 insertions(+)
+
+diff --git a/tests/speed.c b/tests/speed.c
+index 16ad7b7..bd6d2b2 100644
+--- a/tests/speed.c
++++ b/tests/speed.c
+@@ -74,6 +74,7 @@ int encrypt_data(struct session_op *sess, int fdc, int chunksize, int alignmask)
+ {
+ 	struct crypt_op cop;
+ 	char *buffer, iv[32];
++	char mac[HASH_MAX_LEN];
+ 	static int val = 23;
+ 	struct timeval start, end;
+ 	double total = 0;
+@@ -110,6 +111,7 @@ int encrypt_data(struct session_op *sess, int fdc, int chunksize, int alignmask)
+ 		cop.iv = (unsigned char *)iv;
+ 		cop.op = COP_ENCRYPT;
+ 		cop.src = cop.dst = (unsigned char *)buffer;
++		cop.mac = mac;
+ 
+ 		if (ioctl(fdc, CIOCCRYPT, &cop)) {
+ 			perror("ioctl(CIOCCRYPT)");
+@@ -230,6 +232,29 @@ int main(int argc, char** argv)
+ 			break;
+ 	}
+ 
++	fprintf(stderr, "\nTesting CRC32C hash: \n");
++	memset(&sess, 0, sizeof(sess));
++	sess.mac = CRYPTO_CRC32C;
++	if (ioctl(fdc, CIOCGSESSION, &sess)) {
++		perror("ioctl(CIOCGSESSION)");
++		return 1;
++	}
++#ifdef CIOCGSESSINFO
++	siop.ses = sess.ses;
++	if (ioctl(fdc, CIOCGSESSINFO, &siop)) {
++		perror("ioctl(CIOCGSESSINFO)");
++		return 1;
++	}
++	printf("requested hash CRYPTO_CRC32C, got %s with driver %s\n",
++			siop.hash_info.cra_name, siop.hash_info.cra_driver_name);
++	alignmask = siop.alignmask;
++#endif
++
++	for (i = 512; i <= (64 * 1024); i *= 2) {
++		if (encrypt_data(&sess, fdc, i, alignmask))
++			break;
++	}
++
+ 	close(fdc);
+ 	close(fd);
+ 	return 0;
+-- 
+2.10.2
+
diff --git a/recipes-kernel/cryptodev/sdk_patches/0050-add-basic-optargs-support-for-async_speed-test.patch b/recipes-kernel/cryptodev/sdk_patches/0050-add-basic-optargs-support-for-async_speed-test.patch
new file mode 100644
index 0000000..f54286a
--- /dev/null
+++ b/recipes-kernel/cryptodev/sdk_patches/0050-add-basic-optargs-support-for-async_speed-test.patch
@@ -0,0 +1,439 @@
+From 13cb1f2dcf8865b076a7e8290d8f864d91a2d7c7 Mon Sep 17 00:00:00 2001
+From: Cristian Stoica <cristian.stoica@nxp.com>
+Date: Mon, 24 Oct 2016 16:33:55 +0300
+Subject: [PATCH 050/104] add basic optargs support for async_speed test
+
+Signed-off-by: Cristian Stoica <cristian.stoica@nxp.com>
+---
+ tests/async_speed.c | 302 +++++++++++++++++++++++++++++++++++-----------------
+ 1 file changed, 202 insertions(+), 100 deletions(-)
+
+diff --git a/tests/async_speed.c b/tests/async_speed.c
+index 15ab80c..fff3414 100644
+--- a/tests/async_speed.c
++++ b/tests/async_speed.c
+@@ -27,9 +27,45 @@
+ #include <sys/types.h>
+ #include <signal.h>
+ #include <crypto/cryptodev.h>
++#include <stdbool.h>
++#include <unistd.h>
+ 
+ #ifdef ENABLE_ASYNC
+ 
++struct test_params {
++	bool tflag;
++	bool nflag;
++	int tvalue;
++	int nvalue;
++};
++
++const char usage_str[] = "Usage: %s [OPTION]... <cipher>|<hash>\n"
++	"Run benchmark test for cipher or hash\n\n"
++	"  -t <secs>\t" "time to run each test (default 10 secs)\n"
++	"  -n <bytes>\t" "size of the test buffer\n"
++	"  -h\t\t" "show this help\n"
++;
++
++int run_null(int fdc, struct test_params tp);
++int run_aes_cbc(int fdc, struct test_params tp);
++int run_aes_xts(int fdc, struct test_params tp);
++int run_crc32c(int fdc, struct test_params tp);
++int run_sha1(int fdc, struct test_params tp);
++int run_sha256(int fdc, struct test_params tp);
++
++#define ALG_COUNT	6
++struct {
++	char *name;
++	int (*func)(int, struct test_params);
++} ciphers[ALG_COUNT] = {
++	{"null",	run_null},
++	{"aes-cbc",	run_aes_cbc},
++	{"aes-xts",	run_aes_xts},
++	{"crc32c",	run_crc32c},
++	{"sha1",	run_sha1},
++	{"sha256",	run_sha256},
++};
++
+ static double udifftimeval(struct timeval start, struct timeval end)
+ {
+ 	return (double)(end.tv_usec - start.tv_usec) +
+@@ -61,7 +97,7 @@ static void value2human(double bytes, double time, double* data, double* speed,c
+ }
+ 
+ 
+-int encrypt_data(struct session_op *sess, int fdc, int chunksize, int alignmask)
++int encrypt_data(int fdc, struct test_params tp, struct session_op *sess)
+ {
+ 	struct crypt_op cop;
+ 	char *buffer[64], iv[32];
+@@ -72,31 +108,33 @@ int encrypt_data(struct session_op *sess, int fdc, int chunksize, int alignmask)
+ 	double secs, ddata, dspeed;
+ 	char metric[16];
+ 	int rc, wqueue = 0, bufidx = 0;
++	int alignmask;
+ 
+ 	memset(iv, 0x23, 32);
+ 
+-	printf("\tEncrypting in chunks of %d bytes: ", chunksize);
++	printf("\tEncrypting in chunks of %d bytes: ", tp.nvalue);
+ 	fflush(stdout);
+ 
++	alignmask = get_alignmask(fdc, sess);
+ 	for (rc = 0; rc < 64; rc++) {
+ 		if (alignmask) {
+-			if (posix_memalign((void **)(buffer + rc), alignmask + 1, chunksize)) {
++			if (posix_memalign((void **)(buffer + rc), alignmask + 1, tp.nvalue)) {
+ 				printf("posix_memalign() failed!\n");
+ 				return 1;
+ 			}
+ 		} else {
+-			if (!(buffer[rc] = malloc(chunksize))) {
++			if (!(buffer[rc] = malloc(tp.nvalue))) {
+ 				perror("malloc()");
+ 				return 1;
+ 			}
+ 		}
+-		memset(buffer[rc], val++, chunksize);
++		memset(buffer[rc], val++, tp.nvalue);
+ 	}
+ 	pfd.fd = fdc;
+ 	pfd.events = POLLOUT | POLLIN;
+ 
+ 	must_finish = 0;
+-	alarm(5);
++	alarm(tp.tvalue);
+ 
+ 	gettimeofday(&start, NULL);
+ 	do {
+@@ -111,7 +149,7 @@ int encrypt_data(struct session_op *sess, int fdc, int chunksize, int alignmask)
+ 		if (pfd.revents & POLLOUT) {
+ 			memset(&cop, 0, sizeof(cop));
+ 			cop.ses = sess->ses;
+-			cop.len = chunksize;
++			cop.len = tp.nvalue;
+ 			cop.iv = (unsigned char *)iv;
+ 			cop.op = COP_ENCRYPT;
+ 			cop.src = cop.dst = (unsigned char *)buffer[bufidx];
+@@ -146,25 +184,75 @@ int encrypt_data(struct session_op *sess, int fdc, int chunksize, int alignmask)
+ 	return 0;
+ }
+ 
+-int main(void)
++void usage(char *cmd_name)
+ {
+-	int fd, i, fdc = -1, alignmask = 0;
+-	struct session_op sess;
+-#ifdef CIOCGSESSINFO
+-	struct session_info_op siop;
+-#endif
+-	char keybuf[32];
++	printf(usage_str, cmd_name);
++}
+ 
+-	signal(SIGALRM, alarm_handler);
++int run_test(int id, struct test_params tp)
++{
++	int fd;
++	int fdc;
+ 
+-	if ((fd = open("/dev/crypto", O_RDWR, 0)) < 0) {
++	fd = open("/dev/crypto", O_RDWR, 0);
++	if (fd < 0) {
+ 		perror("open()");
+-		return 1;
++		return fd;
+ 	}
+ 	if (ioctl(fd, CRIOGET, &fdc)) {
+ 		perror("ioctl(CRIOGET)");
+-		return 1;
++		return -EINVAL;
++	}
++
++	ciphers[id].func(fdc, tp);
++
++	close(fdc);
++	close(fd);
++}
++
++int get_alignmask(int fdc, struct session_op *sess)
++{
++	int alignmask;
++
++#ifdef CIOCGSESSINFO
++	struct session_info_op siop;
++
++	siop.ses = sess->ses;
++	if (ioctl(fdc, CIOCGSESSINFO, &siop)) {
++		perror("ioctl(CIOCGSESSINFO)");
++		return -EINVAL;
++	}
++	alignmask = siop.alignmask;
++#else
++	alignmask = 0;
++#endif
++
++	return alignmask;
++}
++
++void do_test_vectors(int fdc, struct test_params tp, struct session_op *sess)
++{
++	int i;
++
++	if (tp.nflag) {
++		encrypt_data(fdc, tp, sess);
++	} else {
++		for (i = 256; i <= (64 * 1024); i *= 2) {
++			tp.nvalue = i;
++			if (encrypt_data(fdc, tp, sess)) {
++				break;
++			}
++		}
+ 	}
++}
++
++
++int run_null(int fdc, struct test_params tp)
++{
++	struct session_op sess;
++	char keybuf[32];
++	int alignmask;
++	int i;
+ 
+ 	fprintf(stderr, "Testing NULL cipher: \n");
+ 	memset(&sess, 0, sizeof(sess));
+@@ -173,21 +261,19 @@ int main(void)
+ 	sess.key = (unsigned char *)keybuf;
+ 	if (ioctl(fdc, CIOCGSESSION, &sess)) {
+ 		perror("ioctl(CIOCGSESSION)");
+-		return 1;
+-	}
+-#ifdef CIOCGSESSINFO
+-	siop.ses = sess.ses;
+-	if (ioctl(fdc, CIOCGSESSINFO, &siop)) {
+-		perror("ioctl(CIOCGSESSINFO)");
+-		return 1;
++		return -EINVAL;
+ 	}
+-	alignmask = siop.alignmask;
+-#endif
+ 
+-	for (i = 256; i <= (64 * 4096); i *= 2) {
+-		if (encrypt_data(&sess, fdc, i, alignmask))
+-			break;
+-	}
++	do_test_vectors(fdc, tp, &sess);
++	return 0;
++}
++
++int run_aes_cbc(int fdc, struct test_params tp)
++{
++	struct session_op sess;
++	char keybuf[32];
++	int alignmask;
++	int i;
+ 
+ 	fprintf(stderr, "\nTesting AES-128-CBC cipher: \n");
+ 	memset(&sess, 0, sizeof(sess));
+@@ -197,21 +283,17 @@ int main(void)
+ 	sess.key = (unsigned char *)keybuf;
+ 	if (ioctl(fdc, CIOCGSESSION, &sess)) {
+ 		perror("ioctl(CIOCGSESSION)");
+-		return 1;
+-	}
+-#ifdef CIOCGSESSINFO
+-	siop.ses = sess.ses;
+-	if (ioctl(fdc, CIOCGSESSINFO, &siop)) {
+-		perror("ioctl(CIOCGSESSINFO)");
+-		return 1;
++		return -EINVAL;
+ 	}
+-	alignmask = siop.alignmask;
+-#endif
+ 
+-	for (i = 256; i <= (64 * 1024); i *= 2) {
+-		if (encrypt_data(&sess, fdc, i, alignmask))
+-			break;
+-	}
++	do_test_vectors(fdc, tp, &sess);
++	return 0;
++}
++
++int run_aes_xts(int fdc, struct test_params tp)
++{
++	struct session_op sess;
++	char keybuf[32];
+ 
+ 	fprintf(stderr, "\nTesting AES-256-XTS cipher: \n");
+ 	memset(&sess, 0, sizeof(sess));
+@@ -221,21 +303,16 @@ int main(void)
+ 	sess.key = (unsigned char *)keybuf;
+ 	if (ioctl(fdc, CIOCGSESSION, &sess)) {
+ 		perror("ioctl(CIOCGSESSION)");
+-		return 1;
++		return -EINVAL;
+ 	}
+-#ifdef CIOCGSESSINFO
+-	siop.ses = sess.ses;
+-	if (ioctl(fdc, CIOCGSESSINFO, &siop)) {
+-		perror("ioctl(CIOCGSESSION)");
+-		return 1;
+-	}
+-	alignmask = siop.alignmask;
+-#endif
+ 
+-	for (i = 256; i <= (64 * 1024); i *= 2) {
+-		if (encrypt_data(&sess, fdc, i, alignmask))
+-			break;
+-	}
++	do_test_vectors(fdc, tp, &sess);
++	return 0;
++}
++
++int run_crc32c(int fdc, struct test_params tp)
++{
++	struct session_op sess;
+ 
+ 	fprintf(stderr, "\nTesting CRC32C hash: \n");
+ 	memset(&sess, 0, sizeof(sess));
+@@ -244,21 +321,14 @@ int main(void)
+ 		perror("ioctl(CIOCGSESSION)");
+ 		return 1;
+ 	}
+-#ifdef CIOCGSESSINFO
+-	siop.ses = sess.ses;
+-	if (ioctl(fdc, CIOCGSESSINFO, &siop)) {
+-		perror("ioctl(CIOCGSESSION)");
+-		return 1;
+-	}
+-	printf("requested hash CRYPTO_CRC32C, got %s with driver %s\n",
+-			siop.hash_info.cra_name, siop.hash_info.cra_driver_name);
+-	alignmask = siop.alignmask;
+-#endif
+ 
+-	for (i = 256; i <= (64 * 1024); i *= 2) {
+-		if (encrypt_data(&sess, fdc, i, alignmask))
+-			break;
+-	}
++	do_test_vectors(fdc, tp, &sess);
++	return 0;
++}
++
++int run_sha1(int fdc, struct test_params tp)
++{
++	struct session_op sess;
+ 
+ 	fprintf(stderr, "\nTesting SHA-1 hash: \n");
+ 	memset(&sess, 0, sizeof(sess));
+@@ -267,21 +337,14 @@ int main(void)
+ 		perror("ioctl(CIOCGSESSION)");
+ 		return 1;
+ 	}
+-#ifdef CIOCGSESSINFO
+-	siop.ses = sess.ses;
+-	if (ioctl(fdc, CIOCGSESSINFO, &siop)) {
+-		perror("ioctl(CIOCGSESSION)");
+-		return 1;
+-	}
+-	printf("requested hash CRYPTO_SHA1, got %s with driver %s\n",
+-			siop.hash_info.cra_name, siop.hash_info.cra_driver_name);
+-	alignmask = siop.alignmask;
+-#endif
+ 
+-	for (i = 256; i <= (64 * 1024); i *= 2) {
+-		if (encrypt_data(&sess, fdc, i, alignmask))
+-			break;
+-	}
++	do_test_vectors(fdc, tp, &sess);
++	return 0;
++}
++
++int run_sha256(int fdc, struct test_params tp)
++{
++	struct session_op sess;
+ 
+ 	fprintf(stderr, "\nTesting SHA2-256 hash: \n");
+ 	memset(&sess, 0, sizeof(sess));
+@@ -290,25 +353,64 @@ int main(void)
+ 		perror("ioctl(CIOCGSESSION)");
+ 		return 1;
+ 	}
+-#ifdef CIOCGSESSINFO
+-	siop.ses = sess.ses;
+-	if (ioctl(fdc, CIOCGSESSINFO, &siop)) {
+-		perror("ioctl(CIOCGSESSION)");
+-		return 1;
+-	}
+-	printf("requested hash CRYPTO_SHA2_256, got %s with driver %s\n",
+-			siop.hash_info.cra_name, siop.hash_info.cra_driver_name);
+-	alignmask = siop.alignmask;
+-#endif
+ 
+-	for (i = 256; i <= (64 * 1024); i *= 2) {
+-		if (encrypt_data(&sess, fdc, i, alignmask))
++	do_test_vectors(fdc, tp, &sess);
++	return 0;
++}
++
++int main(int argc, char **argv)
++{
++	int i;
++	int c;
++	int index;
++	bool alg_flag;
++	char *alg_name;
++	struct test_params tp;
++
++	tp.tflag = false;
++	tp.nflag = false;
++	alg_flag = false;
++	opterr = 0;
++	while ((c = getopt(argc, argv, "hn:t:")) != -1) {
++		switch (c) {
++		case 'n':
++			tp.nvalue = atoi(optarg);
++			tp.nflag = true;
++			break;
++		case 't':
++			tp.tvalue = atoi(optarg);
++			tp.tflag = true;
+ 			break;
++		case 'h': /* no break */
++		default:
++			usage(argv[0]);
++			exit(1);
++		}
++	}
++
++	/* the name of a specific test asked on the command line */
++	if (optind < argc) {
++		alg_name = argv[optind];
++		alg_flag = true;
++	}
++
++	/* default test time */
++	if (!tp.tflag) {
++		tp.tvalue = 5;
++	}
++
++	signal(SIGALRM, alarm_handler);
++
++	for (i = 0; i < ALG_COUNT; i++) {
++		if (alg_flag) {
++			if (strcmp(alg_name, ciphers[i].name) == 0) {
++				run_test(i, tp);
++			}
++		} else {
++			run_test(i, tp);
++		}
+ 	}
+ 
+-end:
+-	close(fdc);
+-	close(fd);
+ 	return 0;
+ }
+ 
+-- 
+2.10.2
+
diff --git a/recipes-kernel/cryptodev/sdk_patches/0051-enable-async-code-by-default.patch b/recipes-kernel/cryptodev/sdk_patches/0051-enable-async-code-by-default.patch
new file mode 100644
index 0000000..cfe4cd9
--- /dev/null
+++ b/recipes-kernel/cryptodev/sdk_patches/0051-enable-async-code-by-default.patch
@@ -0,0 +1,37 @@
+From 6b31215e77b89fd7bd4dcfb6e4e3a9ee53e7731d Mon Sep 17 00:00:00 2001
+From: Cristian Stoica <cristian.stoica@nxp.com>
+Date: Tue, 25 Oct 2016 15:03:19 +0300
+Subject: [PATCH 051/104] enable async code by default
+
+Signed-off-by: Cristian Stoica <cristian.stoica@nxp.com>
+---
+ Makefile       | 2 +-
+ tests/Makefile | 1 +
+ 2 files changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index 9871a8e..3934e1f 100644
+--- a/Makefile
++++ b/Makefile
+@@ -3,7 +3,7 @@
+ # disabled by default. To re-enable it uncomment the
+ # corresponding CFLAG.
+ #
+-CRYPTODEV_CFLAGS ?= #-DENABLE_ASYNC
++CRYPTODEV_CFLAGS += -DENABLE_ASYNC
+ KBUILD_CFLAGS += -I$(src) $(CRYPTODEV_CFLAGS)
+ KERNEL_DIR ?= /lib/modules/$(shell uname -r)/build
+ VERSION = 1.8
+diff --git a/tests/Makefile b/tests/Makefile
+index 5e3111d..683f40b 100644
+--- a/tests/Makefile
++++ b/tests/Makefile
+@@ -1,4 +1,5 @@
+ KERNEL_DIR ?= /lib/modules/$(shell uname -r)/build
++CRYPTODEV_CFLAGS += -DENABLE_ASYNC
+ KBUILD_CFLAGS += -I.. $(CRYPTODEV_CFLAGS)
+ CFLAGS += -I.. $(CRYPTODEV_CFLAGS)
+ 
+-- 
+2.10.2
+
diff --git a/recipes-kernel/cryptodev/sdk_patches/0052-add-flag-to-report-in-a-machine-friendly-format.patch b/recipes-kernel/cryptodev/sdk_patches/0052-add-flag-to-report-in-a-machine-friendly-format.patch
new file mode 100644
index 0000000..c2b88a5
--- /dev/null
+++ b/recipes-kernel/cryptodev/sdk_patches/0052-add-flag-to-report-in-a-machine-friendly-format.patch
@@ -0,0 +1,55 @@
+From 6d2e0927c2ed2795267d7652d9413d7e01da202e Mon Sep 17 00:00:00 2001
+From: Cristian Stoica <cristian.stoica@nxp.com>
+Date: Tue, 25 Oct 2016 16:54:06 +0300
+Subject: [PATCH 052/104] add flag to report in a machine friendly format
+
+Signed-off-by: Cristian Stoica <cristian.stoica@nxp.com>
+---
+ tests/async_speed.c | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/tests/async_speed.c b/tests/async_speed.c
+index fff3414..1941750 100644
+--- a/tests/async_speed.c
++++ b/tests/async_speed.c
+@@ -35,6 +35,7 @@
+ struct test_params {
+ 	bool tflag;
+ 	bool nflag;
++	bool mflag;
+ 	int tvalue;
+ 	int nvalue;
+ };
+@@ -43,6 +44,7 @@ const char usage_str[] = "Usage: %s [OPTION]... <cipher>|<hash>\n"
+ 	"Run benchmark test for cipher or hash\n\n"
+ 	"  -t <secs>\t" "time to run each test (default 10 secs)\n"
+ 	"  -n <bytes>\t" "size of the test buffer\n"
++	"  -m\t\t" "output in a machine readable format\n"
+ 	"  -h\t\t" "show this help\n"
+ ;
+ 
+@@ -369,9 +371,10 @@ int main(int argc, char **argv)
+ 
+ 	tp.tflag = false;
+ 	tp.nflag = false;
++	tp.mflag = false;
+ 	alg_flag = false;
+ 	opterr = 0;
+-	while ((c = getopt(argc, argv, "hn:t:")) != -1) {
++	while ((c = getopt(argc, argv, "hn:t:m")) != -1) {
+ 		switch (c) {
+ 		case 'n':
+ 			tp.nvalue = atoi(optarg);
+@@ -381,6 +384,9 @@ int main(int argc, char **argv)
+ 			tp.tvalue = atoi(optarg);
+ 			tp.tflag = true;
+ 			break;
++		case 'm':
++			tp.mflag = true;
++			break;
+ 		case 'h': /* no break */
+ 		default:
+ 			usage(argv[0]);
+-- 
+2.10.2
+
diff --git a/recipes-kernel/cryptodev/sdk_patches/0053-honor-the-m-flag-in-async_speed.patch b/recipes-kernel/cryptodev/sdk_patches/0053-honor-the-m-flag-in-async_speed.patch
new file mode 100644
index 0000000..4653920
--- /dev/null
+++ b/recipes-kernel/cryptodev/sdk_patches/0053-honor-the-m-flag-in-async_speed.patch
@@ -0,0 +1,137 @@
+From 9aae91f24b42a9a812cd0518c0c4ef3f548d64d1 Mon Sep 17 00:00:00 2001
+From: Cristian Stoica <cristian.stoica@nxp.com>
+Date: Tue, 25 Oct 2016 17:02:29 +0300
+Subject: [PATCH 053/104] honor the -m flag in async_speed
+
+Signed-off-by: Cristian Stoica <cristian.stoica@nxp.com>
+---
+ tests/async_speed.c | 36 ++++++++++++++++++++++++------------
+ 1 file changed, 24 insertions(+), 12 deletions(-)
+
+diff --git a/tests/async_speed.c b/tests/async_speed.c
+index 1941750..73ec9d2 100644
+--- a/tests/async_speed.c
++++ b/tests/async_speed.c
+@@ -29,6 +29,8 @@
+ #include <crypto/cryptodev.h>
+ #include <stdbool.h>
+ #include <unistd.h>
++#include <stdint.h>
++#include <inttypes.h>
+ 
+ #ifdef ENABLE_ASYNC
+ 
+@@ -85,7 +87,7 @@ static void alarm_handler(int signo)
+ 
+ static char *units[] = { "", "Ki", "Mi", "Gi", "Ti", 0};
+ 
+-static void value2human(double bytes, double time, double* data, double* speed,char* metric)
++static void value2human(uint64_t bytes, double time, double* data, double* speed,char* metric)
+ {
+ 	int unit = 0;
+ 
+@@ -98,6 +100,11 @@ static void value2human(double bytes, double time, double* data, double* speed,c
+ 	sprintf(metric, "%sB", units[unit]);
+ }
+ 
++static void value2machine(uint64_t bytes, double time, double* speed)
++{
++	*speed = bytes / time;
++}
++
+ 
+ int encrypt_data(int fdc, struct test_params tp, struct session_op *sess)
+ {
+@@ -106,7 +113,7 @@ int encrypt_data(int fdc, struct test_params tp, struct session_op *sess)
+ 	char mac[64][HASH_MAX_LEN];
+ 	static int val = 23;
+ 	struct timeval start, end;
+-	double total = 0;
++	uint64_t total = 0;
+ 	double secs, ddata, dspeed;
+ 	char metric[16];
+ 	int rc, wqueue = 0, bufidx = 0;
+@@ -114,8 +121,10 @@ int encrypt_data(int fdc, struct test_params tp, struct session_op *sess)
+ 
+ 	memset(iv, 0x23, 32);
+ 
+-	printf("\tEncrypting in chunks of %d bytes: ", tp.nvalue);
+-	fflush(stdout);
++	if (!tp.mflag) {
++		printf("\tBuffer size %d bytes: ", tp.nvalue);
++		fflush(stdout);
++	}
+ 
+ 	alignmask = get_alignmask(fdc, sess);
+ 	for (rc = 0; rc < 64; rc++) {
+@@ -177,9 +186,14 @@ int encrypt_data(int fdc, struct test_params tp, struct session_op *sess)
+ 
+ 	secs = udifftimeval(start, end)/ 1000000.0;
+ 
+-	value2human(total, secs, &ddata, &dspeed, metric);
+-	printf ("done. %.2f %s in %.2f secs: ", ddata, metric, secs);
+-	printf ("%.2f %s/sec\n", dspeed, metric);
++	if (tp.mflag) {
++		value2machine(total, secs, &dspeed);
++		printf("%" PRIu64 "\t%.2f\t%.2f\n", total, secs, dspeed);
++	} else {
++		value2human(total, secs, &ddata, &dspeed, metric);
++		printf ("done. %.2f %s in %.2f secs: ", ddata, metric, secs);
++		printf ("%.2f %s/sec\n", dspeed, metric);
++	}
+ 
+ 	for (rc = 0; rc < 64; rc++)
+ 		free(buffer[rc]);
+@@ -206,6 +220,9 @@ int run_test(int id, struct test_params tp)
+ 		return -EINVAL;
+ 	}
+ 
++	if (!tp.mflag) {
++		fprintf(stderr, "Testing %s:\n", ciphers[id].name);
++	}
+ 	ciphers[id].func(fdc, tp);
+ 
+ 	close(fdc);
+@@ -277,7 +294,6 @@ int run_aes_cbc(int fdc, struct test_params tp)
+ 	int alignmask;
+ 	int i;
+ 
+-	fprintf(stderr, "\nTesting AES-128-CBC cipher: \n");
+ 	memset(&sess, 0, sizeof(sess));
+ 	sess.cipher = CRYPTO_AES_CBC;
+ 	sess.keylen = 16;
+@@ -297,7 +313,6 @@ int run_aes_xts(int fdc, struct test_params tp)
+ 	struct session_op sess;
+ 	char keybuf[32];
+ 
+-	fprintf(stderr, "\nTesting AES-256-XTS cipher: \n");
+ 	memset(&sess, 0, sizeof(sess));
+ 	sess.cipher = CRYPTO_AES_XTS;
+ 	sess.keylen = 32;
+@@ -316,7 +331,6 @@ int run_crc32c(int fdc, struct test_params tp)
+ {
+ 	struct session_op sess;
+ 
+-	fprintf(stderr, "\nTesting CRC32C hash: \n");
+ 	memset(&sess, 0, sizeof(sess));
+ 	sess.mac = CRYPTO_CRC32C;
+ 	if (ioctl(fdc, CIOCGSESSION, &sess)) {
+@@ -332,7 +346,6 @@ int run_sha1(int fdc, struct test_params tp)
+ {
+ 	struct session_op sess;
+ 
+-	fprintf(stderr, "\nTesting SHA-1 hash: \n");
+ 	memset(&sess, 0, sizeof(sess));
+ 	sess.mac = CRYPTO_SHA1;
+ 	if (ioctl(fdc, CIOCGSESSION, &sess)) {
+@@ -348,7 +361,6 @@ int run_sha256(int fdc, struct test_params tp)
+ {
+ 	struct session_op sess;
+ 
+-	fprintf(stderr, "\nTesting SHA2-256 hash: \n");
+ 	memset(&sess, 0, sizeof(sess));
+ 	sess.mac = CRYPTO_SHA2_256;
+ 	if (ioctl(fdc, CIOCGSESSION, &sess)) {
+-- 
+2.10.2
+
diff --git a/recipes-kernel/cryptodev/sdk_patches/0054-rename-algorithm-names-for-clarity.patch b/recipes-kernel/cryptodev/sdk_patches/0054-rename-algorithm-names-for-clarity.patch
new file mode 100644
index 0000000..242f4a6
--- /dev/null
+++ b/recipes-kernel/cryptodev/sdk_patches/0054-rename-algorithm-names-for-clarity.patch
@@ -0,0 +1,57 @@
+From f71ba99a8943767c39df5104e86054c9c0e76fd8 Mon Sep 17 00:00:00 2001
+From: Cristian Stoica <cristian.stoica@nxp.com>
+Date: Tue, 25 Oct 2016 17:31:40 +0300
+Subject: [PATCH 054/104] rename algorithm names for clarity
+
+Signed-off-by: Cristian Stoica <cristian.stoica@nxp.com>
+---
+ tests/async_speed.c | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/tests/async_speed.c b/tests/async_speed.c
+index 73ec9d2..263ead7 100644
+--- a/tests/async_speed.c
++++ b/tests/async_speed.c
+@@ -51,8 +51,8 @@ const char usage_str[] = "Usage: %s [OPTION]... <cipher>|<hash>\n"
+ ;
+ 
+ int run_null(int fdc, struct test_params tp);
+-int run_aes_cbc(int fdc, struct test_params tp);
+-int run_aes_xts(int fdc, struct test_params tp);
++int run_aes_128_cbc(int fdc, struct test_params tp);
++int run_aes_256_xts(int fdc, struct test_params tp);
+ int run_crc32c(int fdc, struct test_params tp);
+ int run_sha1(int fdc, struct test_params tp);
+ int run_sha256(int fdc, struct test_params tp);
+@@ -63,8 +63,8 @@ struct {
+ 	int (*func)(int, struct test_params);
+ } ciphers[ALG_COUNT] = {
+ 	{"null",	run_null},
+-	{"aes-cbc",	run_aes_cbc},
+-	{"aes-xts",	run_aes_xts},
++	{"aes-128-cbc",	run_aes_128_cbc},
++	{"aes-256-xts",	run_aes_256_xts},
+ 	{"crc32c",	run_crc32c},
+ 	{"sha1",	run_sha1},
+ 	{"sha256",	run_sha256},
+@@ -287,7 +287,7 @@ int run_null(int fdc, struct test_params tp)
+ 	return 0;
+ }
+ 
+-int run_aes_cbc(int fdc, struct test_params tp)
++int run_aes_128_cbc(int fdc, struct test_params tp)
+ {
+ 	struct session_op sess;
+ 	char keybuf[32];
+@@ -308,7 +308,7 @@ int run_aes_cbc(int fdc, struct test_params tp)
+ 	return 0;
+ }
+ 
+-int run_aes_xts(int fdc, struct test_params tp)
++int run_aes_256_xts(int fdc, struct test_params tp)
+ {
+ 	struct session_op sess;
+ 	char keybuf[32];
+-- 
+2.10.2
+
diff --git a/recipes-kernel/cryptodev/sdk_patches/0055-add-multithreaded-wrapper-for-async-speed-test.patch b/recipes-kernel/cryptodev/sdk_patches/0055-add-multithreaded-wrapper-for-async-speed-test.patch
new file mode 100644
index 0000000..4129010
--- /dev/null
+++ b/recipes-kernel/cryptodev/sdk_patches/0055-add-multithreaded-wrapper-for-async-speed-test.patch
@@ -0,0 +1,173 @@
+From 789d3c5ecda60a6dc5d5b3597047ad65c412f10d Mon Sep 17 00:00:00 2001
+From: Cristian Stoica <cristian.stoica@nxp.com>
+Date: Tue, 25 Oct 2016 15:30:59 +0300
+Subject: [PATCH 055/104] add multithreaded wrapper for async speed test
+
+Signed-off-by: Cristian Stoica <cristian.stoica@nxp.com>
+---
+ tests/Makefile             |   1 +
+ tests/async_speed_multi.sh | 140 +++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 141 insertions(+)
+ create mode 100755 tests/async_speed_multi.sh
+
+diff --git a/tests/Makefile b/tests/Makefile
+index 683f40b..6424c11 100644
+--- a/tests/Makefile
++++ b/tests/Makefile
+@@ -40,6 +40,7 @@ install:
+ 	for prog in $(hostprogs); do \
+ 		install -m 755 $$prog $(DESTDIR)/$(bindir)/tests_cryptodev/; \
+ 	done
++	install -m 755 async_speed_multi.sh  $(DESTDIR)/$(bindir)
+ 
+ clean:
+ 	rm -f *.o *~ $(hostprogs)
+diff --git a/tests/async_speed_multi.sh b/tests/async_speed_multi.sh
+new file mode 100755
+index 0000000..761c0cb
+--- /dev/null
++++ b/tests/async_speed_multi.sh
+@@ -0,0 +1,140 @@
++#!/bin/bash
++#
++#    Copyright 2016 NXP Semiconductors
++#
++#    This program is free software: you can redistribute it and/or modify
++#    it under the terms of the GNU General Public License as published by
++#    the Free Software Foundation, either version 2 of the License, or
++#    (at your option) any later version.
++#
++#    This program is distributed in the hope that it will be useful,
++#    but WITHOUT ANY WARRANTY; without even the implied warranty of
++#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++#    GNU General Public License for more details.
++#
++#    You should have received a copy of the GNU General Public License
++#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
++
++
++
++# no user-configurable options below this line
++
++NUM_CORES=`nproc`
++OUT_BASENAME="async_speed"
++MPSTAT="mpstat"
++MPSTAT_OUT="mpstat_out"
++
++function usage
++{
++cat << EOF
++Usage: `basename $0` [OPTIONS] <alg_name>
++
++  -m <threads>    number of threads to run with (defaults to number of cores)
++  -t <secs>       time to run each test (default 10 secs)
++  -n <bytes>      size of the test buffer (default 256 bytes)
++  -h              show this help
++
++alg_name: null, aes-128-cbc, aes-256-xts, sha1, sha256, crc32c
++EOF
++}
++
++function SUM {
++	paste -sd+ - | bc -l
++}
++
++function get_cpu_idle
++{
++    header_line=`grep %idle ${MPSTAT_OUT} | head -n 1 | sed 's/\s\+/ /g'`
++    idle_column=`echo $header_line | wc -w`
++
++    all_cpu_idle=`grep all ${MPSTAT_OUT} | tail -n +2 | sed 's/\s\+/ /g' | cut -d' ' -f ${idle_column} | SUM`
++    mpstat_lines=`grep all ${MPSTAT_OUT} | tail -n +2 | wc -l`
++    
++    average_idle=`echo "scale=2; $all_cpu_idle / $mpstat_lines" | bc -l`
++    echo $average_idle
++}
++
++function run_parallel
++{
++    trap control_c SIGINT
++
++    OPTIONS="-t $tvalue -n $nvalue -m"
++    CMD="async_speed $OPTIONS $alg_name"
++
++    echo "Running $mvalue threads in parallel:"
++    echo "    $CMD"
++
++    $MPSTAT 1 $(($tvalue-1)) &> $MPSTAT_OUT &
++    MPSTAT_PID=$!
++
++    PIDS=""
++    start=`date +%s.%N`
++
++    for i in `seq 0 $(($mvalue-1))`
++    do
++	CMD_OUT="${OUT_BASENAME}_${i}"
++
++	$CMD &> $CMD_OUT &
++	PID=$!
++	AFFINITY=$(($i % $NUM_CORES))
++	taskset -pc $AFFINITY $PID > /dev/null
++
++	PIDS="$PID $PIDS"
++    done
++
++    wait $PIDS
++    end=`date +%s.%N`
++
++    wait $MPSTAT_PID
++
++    runtime=$(echo "scale=2; $end - $start" | bc -l )
++    total_data=`cat ${OUT_BASENAME}_* | cut -f 1 | SUM`
++    avg_speed=$(echo "scale=2; $total_data / $runtime / 1000000000" | bc -l)
++    cpu_idle=`get_cpu_idle`
++
++    echo
++    echo "buffer size  :   $nvalue"
++    echo "running time :   $runtime"
++    echo "avg_speed    :   $avg_speed GiB/s"
++    echo "all_cpu idle :   $cpu_idle %"
++    echo
++}
++
++function control_c
++{
++    killall async_speed > /dev/null
++    killall mpstat > /dev/null
++}
++
++function main
++{
++	while getopts hm:t:n: option
++	do
++		case "$option" in
++			m) mvalue="$OPTARG";;
++			t) tvalue="$OPTARG";;
++			n) nvalue="$OPTARG";;
++			*) usage $0; exit 1;;
++		esac
++	done
++
++	shift $((OPTIND-1))
++	alg_name=$1
++
++	[ -z "$tvalue" ] && tvalue=10      # 10 seconds per test by default
++	[ -z "$mvalue" ] && mvalue=`nproc` # thread count defaults to nproc
++	[ -z "$nvalue" ] && nvalue=256     # 256 bytes default buffer size
++
++	case "$alg_name" in
++	    "null"    |\
++	    "aes-128-cbc" |\
++	    "aes-256-xts" |\
++	    "sha1"    |\
++	    "sha256"  |\
++	    "crc32c"  ) run_parallel;;
++	    * ) usage && exit 1;;
++	esac
++}
++
++main "$@"
++
+-- 
+2.10.2
+
diff --git a/recipes-kernel/cryptodev/sdk_patches/0056-fix-set-min-value-when-allocating-alligned-memory-bu.patch b/recipes-kernel/cryptodev/sdk_patches/0056-fix-set-min-value-when-allocating-alligned-memory-bu.patch
new file mode 100644
index 0000000..d98e588
--- /dev/null
+++ b/recipes-kernel/cryptodev/sdk_patches/0056-fix-set-min-value-when-allocating-alligned-memory-bu.patch
@@ -0,0 +1,58 @@
+From ad7fee26da24fca57efee5ba10756e001769b2ce Mon Sep 17 00:00:00 2001
+From: Alexe Radu <radu.alexe@nxp.com>
+Date: Tue, 25 Oct 2016 16:46:11 +0300
+Subject: [PATCH 056/104] fix: set min value when allocating alligned memory
+ buffers
+
+The function "posix_memalign()" requires that the alignment be at least
+sizeof(void*). In some situations the alignmask for some crypto algorithms
+is smaller then the minimum required. For ex. on 64-bit platforms where
+the alignment may be 4 bytes.
+
+Signed-off-by: Alexe Radu <radu.alexe@nxp.com>
+Signed-off-by: Cristian Stoica <cristian.stoica@nxp.com>
+---
+ tests/async_speed.c | 4 ++++
+ tests/speed.c       | 2 ++
+ 2 files changed, 6 insertions(+)
+
+diff --git a/tests/async_speed.c b/tests/async_speed.c
+index 263ead7..b895a85 100644
+--- a/tests/async_speed.c
++++ b/tests/async_speed.c
+@@ -232,6 +232,7 @@ int run_test(int id, struct test_params tp)
+ int get_alignmask(int fdc, struct session_op *sess)
+ {
+ 	int alignmask;
++	int min_alignmask = sizeof(void*) - 1;
+ 
+ #ifdef CIOCGSESSINFO
+ 	struct session_info_op siop;
+@@ -242,6 +243,9 @@ int get_alignmask(int fdc, struct session_op *sess)
+ 		return -EINVAL;
+ 	}
+ 	alignmask = siop.alignmask;
++	if (alignmask < min_alignmask) {
++		alignmask = min_alignmask;
++	}
+ #else
+ 	alignmask = 0;
+ #endif
+diff --git a/tests/speed.c b/tests/speed.c
+index bd6d2b2..0b14c88 100644
+--- a/tests/speed.c
++++ b/tests/speed.c
+@@ -80,8 +80,10 @@ int encrypt_data(struct session_op *sess, int fdc, int chunksize, int alignmask)
+ 	double total = 0;
+ 	double secs, ddata, dspeed;
+ 	char metric[16];
++	int min_alignmask = sizeof(void*) - 1;
+ 
+ 	if (alignmask) {
++		alignmask = ((alignmask < min_alignmask) ? min_alignmask : alignmask);
+ 		if (posix_memalign((void **)&buffer, MAX(alignmask + 1, sizeof(void*)), chunksize)) {
+ 			printf("posix_memalign() failed! (mask %x, size: %d)\n", alignmask+1, chunksize);
+ 			return 1;
+-- 
+2.10.2
+
diff --git a/recipes-kernel/cryptodev/sdk_patches/0057-gracefull-stop-for-async-speed-tests.patch b/recipes-kernel/cryptodev/sdk_patches/0057-gracefull-stop-for-async-speed-tests.patch
new file mode 100644
index 0000000..5ba0578
--- /dev/null
+++ b/recipes-kernel/cryptodev/sdk_patches/0057-gracefull-stop-for-async-speed-tests.patch
@@ -0,0 +1,64 @@
+From f7e3566382bf22fc73c5a0edfde5c5349a92f8ea Mon Sep 17 00:00:00 2001
+From: Alexe Radu <radu.alexe@nxp.com>
+Date: Tue, 25 Oct 2016 18:35:13 +0300
+Subject: [PATCH 057/104] gracefull stop for async speed tests
+
+Signed-off-by: Alexe Radu <radu.alexe@nxp.com>
+Signed-off-by: Cristian Stoica <cristian.stoica@nxp.com>
+---
+ tests/async_speed.c | 16 ++++++++++++++++
+ 1 file changed, 16 insertions(+)
+
+diff --git a/tests/async_speed.c b/tests/async_speed.c
+index b895a85..e6bbeed 100644
+--- a/tests/async_speed.c
++++ b/tests/async_speed.c
+@@ -77,6 +77,7 @@ static double udifftimeval(struct timeval start, struct timeval end)
+ }
+ 
+ static int must_finish = 0;
++static int must_exit = 0;
+ static struct pollfd pfd;
+ 
+ static void alarm_handler(int signo)
+@@ -85,6 +86,12 @@ static void alarm_handler(int signo)
+ 	pfd.events = POLLIN;
+ }
+ 
++static void exit_handler(int signo)
++{
++	must_exit = 1;
++	printf("\nexit requested by user through ctrl+c \n");
++}
++
+ static char *units[] = { "", "Ki", "Mi", "Gi", "Ti", 0};
+ 
+ static void value2human(uint64_t bytes, double time, double* data, double* speed,char* metric)
+@@ -261,6 +268,10 @@ void do_test_vectors(int fdc, struct test_params tp, struct session_op *sess)
+ 		encrypt_data(fdc, tp, sess);
+ 	} else {
+ 		for (i = 256; i <= (64 * 1024); i *= 2) {
++			if (must_exit) {
++				break;
++			}
++
+ 			tp.nvalue = i;
+ 			if (encrypt_data(fdc, tp, sess)) {
+ 				break;
+@@ -422,8 +433,13 @@ int main(int argc, char **argv)
+ 	}
+ 
+ 	signal(SIGALRM, alarm_handler);
++	signal(SIGINT, exit_handler);
+ 
+ 	for (i = 0; i < ALG_COUNT; i++) {
++		if (must_exit) {
++			break;
++		}
++
+ 		if (alg_flag) {
+ 			if (strcmp(alg_name, ciphers[i].name) == 0) {
+ 				run_test(i, tp);
+-- 
+2.10.2
+
diff --git a/recipes-kernel/cryptodev/sdk_patches/0058-sanity-check-on-dev-crypto-availability.patch b/recipes-kernel/cryptodev/sdk_patches/0058-sanity-check-on-dev-crypto-availability.patch
new file mode 100644
index 0000000..6273330
--- /dev/null
+++ b/recipes-kernel/cryptodev/sdk_patches/0058-sanity-check-on-dev-crypto-availability.patch
@@ -0,0 +1,26 @@
+From b04d0b7ccb9150d4f16c712a830f8a4e3bdd2d05 Mon Sep 17 00:00:00 2001
+From: Cristian Stoica <cristian.stoica@nxp.com>
+Date: Wed, 26 Oct 2016 09:29:36 +0300
+Subject: [PATCH 058/104] sanity check on /dev/crypto availability
+
+Signed-off-by: Cristian Stoica <cristian.stoica@nxp.com>
+---
+ tests/async_speed_multi.sh | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/tests/async_speed_multi.sh b/tests/async_speed_multi.sh
+index 761c0cb..94c2312 100755
+--- a/tests/async_speed_multi.sh
++++ b/tests/async_speed_multi.sh
+@@ -108,6 +108,8 @@ function control_c
+ 
+ function main
+ {
++	[ ! -e "/dev/crypto" ] && sudo modprobe cryptodev || modprobe cryptodev || exit 1
++
+ 	while getopts hm:t:n: option
+ 	do
+ 		case "$option" in
+-- 
+2.10.2
+
diff --git a/recipes-kernel/cryptodev/sdk_patches/0059-fix-some-issues-with-parsing-mpstat-output.patch b/recipes-kernel/cryptodev/sdk_patches/0059-fix-some-issues-with-parsing-mpstat-output.patch
new file mode 100644
index 0000000..fd2feda
--- /dev/null
+++ b/recipes-kernel/cryptodev/sdk_patches/0059-fix-some-issues-with-parsing-mpstat-output.patch
@@ -0,0 +1,42 @@
+From 28c87b3dd5ed2ac90185b09bdc7233648d5d89b5 Mon Sep 17 00:00:00 2001
+From: Cristian Stoica <cristian.stoica@nxp.com>
+Date: Wed, 26 Oct 2016 09:14:28 +0300
+Subject: [PATCH 059/104] fix some issues with parsing mpstat output
+
+- mpstat with 'count' parameter will average the results for us on the
+  last line so we don't need to do this ourselves.
+- set time format to ISO to avoid incorrect parsing of the header line
+
+Signed-off-by: Cristian Stoica <cristian.stoica@nxp.com>
+---
+ tests/async_speed_multi.sh | 7 +++----
+ 1 file changed, 3 insertions(+), 4 deletions(-)
+
+diff --git a/tests/async_speed_multi.sh b/tests/async_speed_multi.sh
+index 94c2312..a28f72d 100755
+--- a/tests/async_speed_multi.sh
++++ b/tests/async_speed_multi.sh
+@@ -21,6 +21,7 @@
+ 
+ NUM_CORES=`nproc`
+ OUT_BASENAME="async_speed"
++S_TIME_FORMAT=ISO
+ MPSTAT="mpstat"
+ MPSTAT_OUT="mpstat_out"
+ 
+@@ -47,10 +48,8 @@ function get_cpu_idle
+     header_line=`grep %idle ${MPSTAT_OUT} | head -n 1 | sed 's/\s\+/ /g'`
+     idle_column=`echo $header_line | wc -w`
+ 
+-    all_cpu_idle=`grep all ${MPSTAT_OUT} | tail -n +2 | sed 's/\s\+/ /g' | cut -d' ' -f ${idle_column} | SUM`
+-    mpstat_lines=`grep all ${MPSTAT_OUT} | tail -n +2 | wc -l`
+-    
+-    average_idle=`echo "scale=2; $all_cpu_idle / $mpstat_lines" | bc -l`
++    average_idle=`grep Average ${MPSTAT_OUT} | sed 's/\s\+/ /g' | cut -d' ' -f ${idle_column} | tail -n 1`
++
+     echo $average_idle
+ }
+ 
+-- 
+2.10.2
+
diff --git a/recipes-kernel/cryptodev/sdk_patches/0060-more-precision-in-running-mpstat.patch b/recipes-kernel/cryptodev/sdk_patches/0060-more-precision-in-running-mpstat.patch
new file mode 100644
index 0000000..ae749bd
--- /dev/null
+++ b/recipes-kernel/cryptodev/sdk_patches/0060-more-precision-in-running-mpstat.patch
@@ -0,0 +1,55 @@
+From 26291db7df602d3d3d5601817229822b13904fe9 Mon Sep 17 00:00:00 2001
+From: Cristian Stoica <cristian.stoica@nxp.com>
+Date: Wed, 26 Oct 2016 09:48:44 +0300
+Subject: [PATCH 060/104] more precision in running mpstat
+
+Start mpstat one second later than the tests so we don't measure
+transient issues. Likewise, stop mpstat just before the tests terminate
+so we don't record incorrect CPU idle.
+
+Signed-off-by: Cristian Stoica <cristian.stoica@nxp.com>
+---
+ tests/async_speed_multi.sh | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/tests/async_speed_multi.sh b/tests/async_speed_multi.sh
+index a28f72d..5268c86 100755
+--- a/tests/async_speed_multi.sh
++++ b/tests/async_speed_multi.sh
+@@ -22,7 +22,6 @@
+ NUM_CORES=`nproc`
+ OUT_BASENAME="async_speed"
+ S_TIME_FORMAT=ISO
+-MPSTAT="mpstat"
+ MPSTAT_OUT="mpstat_out"
+ 
+ function usage
+@@ -47,7 +46,6 @@ function get_cpu_idle
+ {
+     header_line=`grep %idle ${MPSTAT_OUT} | head -n 1 | sed 's/\s\+/ /g'`
+     idle_column=`echo $header_line | wc -w`
+-
+     average_idle=`grep Average ${MPSTAT_OUT} | sed 's/\s\+/ /g' | cut -d' ' -f ${idle_column} | tail -n 1`
+ 
+     echo $average_idle
+@@ -63,7 +61,7 @@ function run_parallel
+     echo "Running $mvalue threads in parallel:"
+     echo "    $CMD"
+ 
+-    $MPSTAT 1 $(($tvalue-1)) &> $MPSTAT_OUT &
++    (sleep 1; mpstat 1 $(($tvalue-2))) &> $MPSTAT_OUT &
+     MPSTAT_PID=$!
+ 
+     PIDS=""
+@@ -126,6 +124,8 @@ function main
+ 	[ -z "$mvalue" ] && mvalue=`nproc` # thread count defaults to nproc
+ 	[ -z "$nvalue" ] && nvalue=256     # 256 bytes default buffer size
+ 
++	[ "$tvalue" -lt 5 ] && tvalue=5
++
+ 	case "$alg_name" in
+ 	    "null"    |\
+ 	    "aes-128-cbc" |\
+-- 
+2.10.2
+
diff --git a/recipes-kernel/cryptodev/sdk_patches/0061-add-a-little-space-in-the-output-for-clarity.patch b/recipes-kernel/cryptodev/sdk_patches/0061-add-a-little-space-in-the-output-for-clarity.patch
new file mode 100644
index 0000000..9e3ec84
--- /dev/null
+++ b/recipes-kernel/cryptodev/sdk_patches/0061-add-a-little-space-in-the-output-for-clarity.patch
@@ -0,0 +1,27 @@
+From 3bfdd0d1991a37c1adc82cc7e1938e2d9d175bd7 Mon Sep 17 00:00:00 2001
+From: Cristian Stoica <cristian.stoica@nxp.com>
+Date: Wed, 26 Oct 2016 10:01:57 +0300
+Subject: [PATCH 061/104] add a little space in the output for clarity
+
+Signed-off-by: Cristian Stoica <cristian.stoica@nxp.com>
+---
+ tests/async_speed_multi.sh | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/tests/async_speed_multi.sh b/tests/async_speed_multi.sh
+index 5268c86..331158b 100755
+--- a/tests/async_speed_multi.sh
++++ b/tests/async_speed_multi.sh
+@@ -58,7 +58,8 @@ function run_parallel
+     OPTIONS="-t $tvalue -n $nvalue -m"
+     CMD="async_speed $OPTIONS $alg_name"
+ 
+-    echo "Running $mvalue threads in parallel:"
++    echo
++    echo "Running $tvalue seconds $mvalue threads in parallel:"
+     echo "    $CMD"
+ 
+     (sleep 1; mpstat 1 $(($tvalue-2))) &> $MPSTAT_OUT &
+-- 
+2.10.2
+
diff --git a/recipes-kernel/cryptodev/sdk_patches/0062-fix-build-warnings-on-implicit-function-declarations.patch b/recipes-kernel/cryptodev/sdk_patches/0062-fix-build-warnings-on-implicit-function-declarations.patch
new file mode 100644
index 0000000..dba2575
--- /dev/null
+++ b/recipes-kernel/cryptodev/sdk_patches/0062-fix-build-warnings-on-implicit-function-declarations.patch
@@ -0,0 +1,129 @@
+From 0fd37b5225bd26182b20588b200a4fc0a3f415e5 Mon Sep 17 00:00:00 2001
+From: Cristian Stoica <cristian.stoica@nxp.com>
+Date: Wed, 26 Oct 2016 10:10:47 +0300
+Subject: [PATCH 062/104] fix build warnings on implicit function declarations
+
+Signed-off-by: Cristian Stoica <cristian.stoica@nxp.com>
+---
+ tests/Makefile          |  2 +-
+ tests/async_speed.c     | 47 +++++++++++++++++++++++------------------------
+ tests/hashcrypt_speed.c |  1 +
+ tests/sha_speed.c       |  1 +
+ tests/speed.c           |  1 +
+ 5 files changed, 27 insertions(+), 25 deletions(-)
+
+diff --git a/tests/Makefile b/tests/Makefile
+index 6424c11..14ae2c7 100644
+--- a/tests/Makefile
++++ b/tests/Makefile
+@@ -1,5 +1,5 @@
+ KERNEL_DIR ?= /lib/modules/$(shell uname -r)/build
+-CRYPTODEV_CFLAGS += -DENABLE_ASYNC
++CRYPTODEV_CFLAGS += -DENABLE_ASYNC -Wimplicit-function-declaration
+ KBUILD_CFLAGS += -I.. $(CRYPTODEV_CFLAGS)
+ CFLAGS += -I.. $(CRYPTODEV_CFLAGS)
+ 
+diff --git a/tests/async_speed.c b/tests/async_speed.c
+index e6bbeed..a1a1b7e 100644
+--- a/tests/async_speed.c
++++ b/tests/async_speed.c
+@@ -112,6 +112,29 @@ static void value2machine(uint64_t bytes, double time, double* speed)
+ 	*speed = bytes / time;
+ }
+ 
++int get_alignmask(int fdc, struct session_op *sess)
++{
++	int alignmask;
++	int min_alignmask = sizeof(void*) - 1;
++
++#ifdef CIOCGSESSINFO
++	struct session_info_op siop;
++
++	siop.ses = sess->ses;
++	if (ioctl(fdc, CIOCGSESSINFO, &siop)) {
++		perror("ioctl(CIOCGSESSINFO)");
++		return -EINVAL;
++	}
++	alignmask = siop.alignmask;
++	if (alignmask < min_alignmask) {
++		alignmask = min_alignmask;
++	}
++#else
++	alignmask = 0;
++#endif
++
++	return alignmask;
++}
+ 
+ int encrypt_data(int fdc, struct test_params tp, struct session_op *sess)
+ {
+@@ -236,30 +259,6 @@ int run_test(int id, struct test_params tp)
+ 	close(fd);
+ }
+ 
+-int get_alignmask(int fdc, struct session_op *sess)
+-{
+-	int alignmask;
+-	int min_alignmask = sizeof(void*) - 1;
+-
+-#ifdef CIOCGSESSINFO
+-	struct session_info_op siop;
+-
+-	siop.ses = sess->ses;
+-	if (ioctl(fdc, CIOCGSESSINFO, &siop)) {
+-		perror("ioctl(CIOCGSESSINFO)");
+-		return -EINVAL;
+-	}
+-	alignmask = siop.alignmask;
+-	if (alignmask < min_alignmask) {
+-		alignmask = min_alignmask;
+-	}
+-#else
+-	alignmask = 0;
+-#endif
+-
+-	return alignmask;
+-}
+-
+ void do_test_vectors(int fdc, struct test_params tp, struct session_op *sess)
+ {
+ 	int i;
+diff --git a/tests/hashcrypt_speed.c b/tests/hashcrypt_speed.c
+index e60b73d..045bf8e 100644
+--- a/tests/hashcrypt_speed.c
++++ b/tests/hashcrypt_speed.c
+@@ -25,6 +25,7 @@
+ #include <sys/time.h>
+ #include <sys/types.h>
+ #include <signal.h>
++#include <unistd.h>
+ #include <crypto/cryptodev.h>
+ 
+ #define MAX(x,y) ((x)>(y)?(x):(y))
+diff --git a/tests/sha_speed.c b/tests/sha_speed.c
+index 75d0f42..e5c6efe 100644
+--- a/tests/sha_speed.c
++++ b/tests/sha_speed.c
+@@ -25,6 +25,7 @@
+ #include <sys/time.h>
+ #include <sys/types.h>
+ #include <signal.h>
++#include <unistd.h>
+ 
+ #include <crypto/cryptodev.h>
+ 
+diff --git a/tests/speed.c b/tests/speed.c
+index 0b14c88..d2e1aed 100644
+--- a/tests/speed.c
++++ b/tests/speed.c
+@@ -24,6 +24,7 @@
+ #include <sys/time.h>
+ #include <sys/types.h>
+ #include <signal.h>
++#include <unistd.h>
+ 
+ #include <crypto/cryptodev.h>
+ 
+-- 
+2.10.2
+
diff --git a/recipes-kernel/cryptodev/sdk_patches/0063-avoid-implicit-conversion-between-signed-and-unsigne.patch b/recipes-kernel/cryptodev/sdk_patches/0063-avoid-implicit-conversion-between-signed-and-unsigne.patch
new file mode 100644
index 0000000..133d46c
--- /dev/null
+++ b/recipes-kernel/cryptodev/sdk_patches/0063-avoid-implicit-conversion-between-signed-and-unsigne.patch
@@ -0,0 +1,698 @@
+From 5f3a9153f7685f6dde29f7cd2d58534126c5b9af Mon Sep 17 00:00:00 2001
+From: Cristian Stoica <cristian.stoica@nxp.com>
+Date: Wed, 26 Oct 2016 10:45:40 +0300
+Subject: [PATCH 063/104] avoid implicit conversion between signed and unsigned
+ char
+
+Signed-off-by: Cristian Stoica <cristian.stoica@nxp.com>
+---
+ tests/async_cipher.c     | 36 ++++++++++++++--------------
+ tests/async_hmac.c       |  8 +++----
+ tests/async_speed.c      |  2 +-
+ tests/cipher-aead-srtp.c | 50 +++++++++++++++++++-------------------
+ tests/cipher-aead.c      | 48 ++++++++++++++++++-------------------
+ tests/cipher-gcm.c       | 62 ++++++++++++++++++++++++------------------------
+ tests/cipher.c           | 35 ++++++++++++++-------------
+ tests/cipher_comp.c      | 12 +++++-----
+ tests/fullspeed.c        |  3 ++-
+ tests/hash_comp.c        |  8 +++----
+ tests/hmac.c             |  8 +++----
+ tests/speed.c            |  3 ++-
+ 12 files changed, 138 insertions(+), 137 deletions(-)
+
+diff --git a/tests/async_cipher.c b/tests/async_cipher.c
+index 162a695..dd08403 100644
+--- a/tests/async_cipher.c
++++ b/tests/async_cipher.c
+@@ -9,7 +9,7 @@
+ #include <string.h>
+ #include <unistd.h>
+ #include <fcntl.h>
+-
++#include <stdint.h>
+ #include <sys/ioctl.h>
+ #include <crypto/cryptodev.h>
+ 
+@@ -26,10 +26,10 @@ static int debug = 0;
+ static int
+ test_crypto(int cfd)
+ {
+-	char plaintext_raw[DATA_SIZE + 63], *plaintext;
+-	char ciphertext_raw[DATA_SIZE + 63], *ciphertext;
+-	char iv[BLOCK_SIZE];
+-	char key[KEY_SIZE];
++	uint8_t plaintext_raw[DATA_SIZE + 63], *plaintext;
++	uint8_t ciphertext_raw[DATA_SIZE + 63], *ciphertext;
++	uint8_t iv[BLOCK_SIZE];
++	uint8_t key[KEY_SIZE];
+ 
+ 	struct session_op sess;
+ #ifdef CIOCGSESSINFO
+@@ -62,8 +62,8 @@ test_crypto(int cfd)
+ 		perror("ioctl(CIOCGSESSINFO)");
+ 		return 1;
+ 	}
+-	plaintext = (char *)(((unsigned long)plaintext_raw + siop.alignmask) & ~siop.alignmask);
+-	ciphertext = (char *)(((unsigned long)ciphertext_raw + siop.alignmask) & ~siop.alignmask);
++	plaintext = (uint8_t *)(((unsigned long)plaintext_raw + siop.alignmask) & ~siop.alignmask);
++	ciphertext = (uint8_t *)(((unsigned long)ciphertext_raw + siop.alignmask) & ~siop.alignmask);
+ #else
+ 	plaintext = plaintext_raw;
+ 	ciphertext = ciphertext_raw;
+@@ -127,15 +127,15 @@ test_crypto(int cfd)
+ 
+ static int test_aes(int cfd)
+ {
+-	char plaintext1_raw[BLOCK_SIZE + 63], *plaintext1;
+-	char ciphertext1[BLOCK_SIZE] = { 0xdf, 0x55, 0x6a, 0x33, 0x43, 0x8d, 0xb8, 0x7b, 0xc4, 0x1b, 0x17, 0x52, 0xc5, 0x5e, 0x5e, 0x49 };
+-	char iv1[BLOCK_SIZE];
+-	char key1[KEY_SIZE] = { 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
+-	char plaintext2_data[BLOCK_SIZE] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00 };
+-	char plaintext2_raw[BLOCK_SIZE + 63], *plaintext2;
+-	char ciphertext2[BLOCK_SIZE] = { 0xb7, 0x97, 0x2b, 0x39, 0x41, 0xc4, 0x4b, 0x90, 0xaf, 0xa7, 0xb2, 0x64, 0xbf, 0xba, 0x73, 0x87 };
+-	char iv2[BLOCK_SIZE];
+-	char key2[KEY_SIZE];
++	uint8_t plaintext1_raw[BLOCK_SIZE + 63], *plaintext1;
++	uint8_t ciphertext1[BLOCK_SIZE] = { 0xdf, 0x55, 0x6a, 0x33, 0x43, 0x8d, 0xb8, 0x7b, 0xc4, 0x1b, 0x17, 0x52, 0xc5, 0x5e, 0x5e, 0x49 };
++	uint8_t iv1[BLOCK_SIZE];
++	uint8_t key1[KEY_SIZE] = { 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
++	uint8_t plaintext2_data[BLOCK_SIZE] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00 };
++	uint8_t plaintext2_raw[BLOCK_SIZE + 63], *plaintext2;
++	uint8_t ciphertext2[BLOCK_SIZE] = { 0xb7, 0x97, 0x2b, 0x39, 0x41, 0xc4, 0x4b, 0x90, 0xaf, 0xa7, 0xb2, 0x64, 0xbf, 0xba, 0x73, 0x87 };
++	uint8_t iv2[BLOCK_SIZE];
++	uint8_t key2[KEY_SIZE];
+ 
+ 	struct session_op sess1, sess2;
+ #ifdef CIOCGSESSINFO
+@@ -162,7 +162,7 @@ static int test_aes(int cfd)
+ 		perror("ioctl(CIOCGSESSINFO)");
+ 		return 1;
+ 	}
+-	plaintext1 = (char *)(((unsigned long)plaintext1_raw + siop1.alignmask) & ~siop1.alignmask);
++	plaintext1 = (uint8_t *)(((unsigned long)plaintext1_raw + siop1.alignmask) & ~siop1.alignmask);
+ #else
+ 	plaintext1 = plaintext1_raw;
+ #endif
+@@ -185,7 +185,7 @@ static int test_aes(int cfd)
+ 		perror("ioctl(CIOCGSESSINFO)");
+ 		return 1;
+ 	}
+-	plaintext2 = (char *)(((unsigned long)plaintext2_raw + siop2.alignmask) & ~siop2.alignmask);
++	plaintext2 = (uint8_t *)(((unsigned long)plaintext2_raw + siop2.alignmask) & ~siop2.alignmask);
+ #else
+ 	plaintext2 = plaintext2_raw;
+ #endif
+diff --git a/tests/async_hmac.c b/tests/async_hmac.c
+index 97fd0c5..94a02c0 100644
+--- a/tests/async_hmac.c
++++ b/tests/async_hmac.c
+@@ -61,7 +61,7 @@ test_crypto(int cfd)
+ 
+ 	cryp.ses = sess.ses;
+ 	cryp.len = sizeof("what do ya want for nothing?")-1;
+-	cryp.src = "what do ya want for nothing?";
++	cryp.src = (uint8_t*)"what do ya want for nothing?";
+ 	cryp.mac = mac;
+ 	cryp.op = COP_ENCRYPT;
+ 
+@@ -98,7 +98,7 @@ test_crypto(int cfd)
+ 
+ 	cryp.ses = sess.ses;
+ 	cryp.len = sizeof("what do ya want for nothing?")-1;
+-	cryp.src = "what do ya want for nothing?";
++	cryp.src = (uint8_t*)"what do ya want for nothing?";
+ 	cryp.mac = mac;
+ 	cryp.op = COP_ENCRYPT;
+ 
+@@ -208,7 +208,7 @@ test_extras(int cfd)
+ 
+ 	cryp.ses = sess.ses;
+ 	cryp.len = sizeof("what do")-1;
+-	cryp.src = "what do";
++	cryp.src = (uint8_t*)"what do";
+ 	cryp.mac = mac;
+ 	cryp.op = COP_ENCRYPT;
+ 	cryp.flags = COP_FLAG_UPDATE;
+@@ -218,7 +218,7 @@ test_extras(int cfd)
+ 
+ 	cryp.ses = sess.ses;
+ 	cryp.len = sizeof(" ya want for nothing?")-1;
+-	cryp.src = " ya want for nothing?";
++	cryp.src = (uint8_t*)" ya want for nothing?";
+ 	cryp.mac = mac;
+ 	cryp.op = COP_ENCRYPT;
+ 	cryp.flags = COP_FLAG_FINAL;
+diff --git a/tests/async_speed.c b/tests/async_speed.c
+index a1a1b7e..dabbbc1 100644
+--- a/tests/async_speed.c
++++ b/tests/async_speed.c
+@@ -140,7 +140,7 @@ int encrypt_data(int fdc, struct test_params tp, struct session_op *sess)
+ {
+ 	struct crypt_op cop;
+ 	char *buffer[64], iv[32];
+-	char mac[64][HASH_MAX_LEN];
++	uint8_t mac[64][HASH_MAX_LEN];
+ 	static int val = 23;
+ 	struct timeval start, end;
+ 	uint64_t total = 0;
+diff --git a/tests/cipher-aead-srtp.c b/tests/cipher-aead-srtp.c
+index fae04e7..c44877d 100644
+--- a/tests/cipher-aead-srtp.c
++++ b/tests/cipher-aead-srtp.c
+@@ -77,13 +77,13 @@ int i;
+ static int
+ test_crypto(int cfd)
+ {
+-	char plaintext_raw[DATA_SIZE + 63], *plaintext;
+-	char ciphertext_raw[DATA_SIZE + 63], *ciphertext;
+-	char iv[BLOCK_SIZE];
+-	char key[KEY_SIZE];
+-	unsigned char sha1mac[20];
+-	unsigned char tag[20];
+-	unsigned char mackey[] = "\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b";
++	uint8_t plaintext_raw[DATA_SIZE + 63], *plaintext;
++	uint8_t ciphertext_raw[DATA_SIZE + 63], *ciphertext;
++	uint8_t iv[BLOCK_SIZE];
++	uint8_t key[KEY_SIZE];
++	uint8_t sha1mac[20];
++	uint8_t tag[20];
++	uint8_t mackey[] = "\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b";
+ 	int mackey_len = 16;
+ 
+ 	struct session_op sess;
+@@ -122,8 +122,8 @@ test_crypto(int cfd)
+ 		printf("requested cipher CRYPTO_AES_CBC/HMAC-SHA1, got %s with driver %s\n",
+ 			siop.cipher_info.cra_name, siop.cipher_info.cra_driver_name);
+ 
+-	plaintext = (char *)(((unsigned long)plaintext_raw + siop.alignmask) & ~siop.alignmask);
+-	ciphertext = (char *)(((unsigned long)ciphertext_raw + siop.alignmask) & ~siop.alignmask);
++	plaintext = (uint8_t *)(((unsigned long)plaintext_raw + siop.alignmask) & ~siop.alignmask);
++	ciphertext = (uint8_t *)(((unsigned long)ciphertext_raw + siop.alignmask) & ~siop.alignmask);
+ 
+ 	memset(plaintext, 0x15, HEADER_SIZE); /* header */
+ 	memset(&plaintext[HEADER_SIZE], 0x17, PLAINTEXT_SIZE); /* payload */
+@@ -225,12 +225,12 @@ test_crypto(int cfd)
+ static int
+ test_encrypt_decrypt(int cfd)
+ {
+-	char plaintext_raw[DATA_SIZE + 63], *plaintext;
+-	char ciphertext_raw[DATA_SIZE + 63], *ciphertext;
+-	char iv[BLOCK_SIZE];
+-	char key[KEY_SIZE];
+-	unsigned char tag[20];
+-	unsigned char mackey[] = "\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b";
++	uint8_t plaintext_raw[DATA_SIZE + 63], *plaintext;
++	uint8_t ciphertext_raw[DATA_SIZE + 63], *ciphertext;
++	uint8_t iv[BLOCK_SIZE];
++	uint8_t key[KEY_SIZE];
++	uint8_t tag[20];
++	uint8_t mackey[] = "\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b";
+ 	int mackey_len = 16;
+ 
+ 	struct session_op sess;
+@@ -265,8 +265,8 @@ test_encrypt_decrypt(int cfd)
+ //	printf("requested cipher CRYPTO_AES_CBC/HMAC-SHA1, got %s with driver %s\n",
+ //			siop.cipher_info.cra_name, siop.cipher_info.cra_driver_name);
+ 
+-	plaintext = (char *)(((unsigned long)plaintext_raw + siop.alignmask) & ~siop.alignmask);
+-	ciphertext = (char *)(((unsigned long)ciphertext_raw + siop.alignmask) & ~siop.alignmask);
++	plaintext = (uint8_t *)(((unsigned long)plaintext_raw + siop.alignmask) & ~siop.alignmask);
++	ciphertext = (uint8_t *)(((unsigned long)ciphertext_raw + siop.alignmask) & ~siop.alignmask);
+ 
+ 	memset(plaintext, 0x15, HEADER_SIZE); /* header */
+ 	memset(&plaintext[HEADER_SIZE], 0x17, PLAINTEXT_SIZE); /* payload */
+@@ -367,12 +367,12 @@ test_encrypt_decrypt(int cfd)
+ static int
+ test_encrypt_decrypt_error(int cfd, int err)
+ {
+-	char plaintext_raw[DATA_SIZE + 63], *plaintext;
+-	char ciphertext_raw[DATA_SIZE + 63], *ciphertext;
+-	char iv[BLOCK_SIZE];
+-	char key[KEY_SIZE];
+-	unsigned char tag[20];
+-	unsigned char mackey[] = "\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b";
++	uint8_t plaintext_raw[DATA_SIZE + 63], *plaintext;
++	uint8_t ciphertext_raw[DATA_SIZE + 63], *ciphertext;
++	uint8_t iv[BLOCK_SIZE];
++	uint8_t key[KEY_SIZE];
++	uint8_t tag[20];
++	uint8_t mackey[] = "\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b";
+ 	int mackey_len = 16;
+ 
+ 	struct session_op sess;
+@@ -407,8 +407,8 @@ test_encrypt_decrypt_error(int cfd, int err)
+ //	printf("requested cipher CRYPTO_AES_CBC/HMAC-SHA1, got %s with driver %s\n",
+ //			siop.cipher_info.cra_name, siop.cipher_info.cra_driver_name);
+ 
+-	plaintext = (char *)(((unsigned long)plaintext_raw + siop.alignmask) & ~siop.alignmask);
+-	ciphertext = (char *)(((unsigned long)ciphertext_raw + siop.alignmask) & ~siop.alignmask);
++	plaintext = (uint8_t *)(((unsigned long)plaintext_raw + siop.alignmask) & ~siop.alignmask);
++	ciphertext = (uint8_t *)(((unsigned long)ciphertext_raw + siop.alignmask) & ~siop.alignmask);
+ 
+ 	memset(plaintext, 0x15, HEADER_SIZE); /* header */
+ 	memset(&plaintext[HEADER_SIZE], 0x17, PLAINTEXT_SIZE); /* payload */
+diff --git a/tests/cipher-aead.c b/tests/cipher-aead.c
+index 164327f..da43aa6 100644
+--- a/tests/cipher-aead.c
++++ b/tests/cipher-aead.c
+@@ -89,12 +89,12 @@ int i;
+ static int
+ test_crypto(int cfd)
+ {
+-	char plaintext_raw[DATA_SIZE + 63], *plaintext;
+-	char ciphertext_raw[DATA_SIZE + 63], *ciphertext;
+-	char iv[BLOCK_SIZE];
+-	char key[KEY_SIZE];
+-	char auth[AUTH_SIZE];
+-	unsigned char sha1mac[20];
++	uint8_t plaintext_raw[DATA_SIZE + 63], *plaintext;
++	uint8_t ciphertext_raw[DATA_SIZE + 63], *ciphertext;
++	uint8_t iv[BLOCK_SIZE];
++	uint8_t key[KEY_SIZE];
++	uint8_t auth[AUTH_SIZE];
++	uint8_t sha1mac[20];
+ 	int pad, i;
+ 
+ 	struct session_op sess;
+@@ -133,8 +133,8 @@ test_crypto(int cfd)
+ 		printf("requested cipher CRYPTO_AES_CBC/HMAC-SHA1, got %s with driver %s\n",
+ 			siop.cipher_info.cra_name, siop.cipher_info.cra_driver_name);
+ 
+-	plaintext = (char *)(((unsigned long)plaintext_raw + siop.alignmask) & ~siop.alignmask);
+-	ciphertext = (char *)(((unsigned long)ciphertext_raw + siop.alignmask) & ~siop.alignmask);
++	plaintext = (uint8_t *)(((unsigned long)plaintext_raw + siop.alignmask) & ~siop.alignmask);
++	ciphertext = (uint8_t *)(((unsigned long)ciphertext_raw + siop.alignmask) & ~siop.alignmask);
+ 	memset(plaintext, 0x15, DATA_SIZE);
+ 
+ 	if (get_sha1_hmac(cfd, sess.mackey, sess.mackeylen, auth, sizeof(auth), plaintext, DATA_SIZE, sha1mac) != 0) {
+@@ -242,12 +242,12 @@ test_crypto(int cfd)
+ static int
+ test_encrypt_decrypt(int cfd)
+ {
+-	char plaintext_raw[DATA_SIZE + 63], *plaintext;
+-	char ciphertext_raw[DATA_SIZE + 63], *ciphertext;
+-	char iv[BLOCK_SIZE];
+-	char key[KEY_SIZE];
+-	char auth[AUTH_SIZE];
+-	unsigned char sha1mac[20];
++	uint8_t plaintext_raw[DATA_SIZE + 63], *plaintext;
++	uint8_t ciphertext_raw[DATA_SIZE + 63], *ciphertext;
++	uint8_t iv[BLOCK_SIZE];
++	uint8_t key[KEY_SIZE];
++	uint8_t auth[AUTH_SIZE];
++	uint8_t sha1mac[20];
+ 	int enc_len;
+ 
+ 	struct session_op sess;
+@@ -285,8 +285,8 @@ test_encrypt_decrypt(int cfd)
+ //	printf("requested cipher CRYPTO_AES_CBC/HMAC-SHA1, got %s with driver %s\n",
+ //			siop.cipher_info.cra_name, siop.cipher_info.cra_driver_name);
+ 
+-	plaintext = (char *)(((unsigned long)plaintext_raw + siop.alignmask) & ~siop.alignmask);
+-	ciphertext = (char *)(((unsigned long)ciphertext_raw + siop.alignmask) & ~siop.alignmask);
++	plaintext = (uint8_t *)(((unsigned long)plaintext_raw + siop.alignmask) & ~siop.alignmask);
++	ciphertext = (uint8_t *)(((unsigned long)ciphertext_raw + siop.alignmask) & ~siop.alignmask);
+ 
+ 	memset(plaintext, 0x15, DATA_SIZE);
+ 
+@@ -391,12 +391,12 @@ test_encrypt_decrypt(int cfd)
+ static int
+ test_encrypt_decrypt_error(int cfd, int err)
+ {
+-	char plaintext_raw[DATA_SIZE + 63], *plaintext;
+-	char ciphertext_raw[DATA_SIZE + 63], *ciphertext;
+-	char iv[BLOCK_SIZE];
+-	char key[KEY_SIZE];
+-	char auth[AUTH_SIZE];
+-	unsigned char sha1mac[20];
++	uint8_t plaintext_raw[DATA_SIZE + 63], *plaintext;
++	uint8_t ciphertext_raw[DATA_SIZE + 63], *ciphertext;
++	uint8_t iv[BLOCK_SIZE];
++	uint8_t key[KEY_SIZE];
++	uint8_t auth[AUTH_SIZE];
++	uint8_t sha1mac[20];
+ 	int enc_len;
+ 
+ 	struct session_op sess;
+@@ -434,8 +434,8 @@ test_encrypt_decrypt_error(int cfd, int err)
+ //	printf("requested cipher CRYPTO_AES_CBC/HMAC-SHA1, got %s with driver %s\n",
+ //			siop.cipher_info.cra_name, siop.cipher_info.cra_driver_name);
+ 
+-	plaintext = (char *)(((unsigned long)plaintext_raw + siop.alignmask) & ~siop.alignmask);
+-	ciphertext = (char *)(((unsigned long)ciphertext_raw + siop.alignmask) & ~siop.alignmask);
++	plaintext = (uint8_t *)(((unsigned long)plaintext_raw + siop.alignmask) & ~siop.alignmask);
++	ciphertext = (uint8_t *)(((unsigned long)ciphertext_raw + siop.alignmask) & ~siop.alignmask);
+ 	memset(plaintext, 0x15, DATA_SIZE);
+ 
+ 	if (get_sha1_hmac(cfd, sess.mackey, sess.mackeylen, auth, sizeof(auth), plaintext, DATA_SIZE, sha1mac) != 0) {
+diff --git a/tests/cipher-gcm.c b/tests/cipher-gcm.c
+index dfc3d84..3f6cc7b 100644
+--- a/tests/cipher-gcm.c
++++ b/tests/cipher-gcm.c
+@@ -45,45 +45,45 @@ struct aes_gcm_vectors_st {
+ 
+ struct aes_gcm_vectors_st aes_gcm_vectors[] = {
+ 	{
+-	 .key =
++	 .key = (uint8_t*)
+ 	 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00",
+ 	 .auth = NULL,
+ 	 .auth_size = 0,
+-	 .plaintext =
++	 .plaintext = (uint8_t*)
+ 	 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00",
+ 	 .plaintext_size = 16,
+-	 .ciphertext =
++	 .ciphertext = (uint8_t*)
+ 	 "\x03\x88\xda\xce\x60\xb6\xa3\x92\xf3\x28\xc2\xb9\x71\xb2\xfe\x78",
+-	 .iv = "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00",
+-	 .tag =
++	 .iv = (uint8_t*)"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00",
++	 .tag = (uint8_t*)
+ 	 "\xab\x6e\x47\xd4\x2c\xec\x13\xbd\xf5\x3a\x67\xb2\x12\x57\xbd\xdf"
+ 	},
+ 	{
+-	 .key =
++	 .key = (uint8_t*)
+ 	 "\xfe\xff\xe9\x92\x86\x65\x73\x1c\x6d\x6a\x8f\x94\x67\x30\x83\x08",
+ 	 .auth = NULL,
+ 	 .auth_size = 0,
+-	 .plaintext =
++	 .plaintext = (uint8_t*)
+ 	 "\xd9\x31\x32\x25\xf8\x84\x06\xe5\xa5\x59\x09\xc5\xaf\xf5\x26\x9a\x86\xa7\xa9\x53\x15\x34\xf7\xda\x2e\x4c\x30\x3d\x8a\x31\x8a\x72\x1c\x3c\x0c\x95\x95\x68\x09\x53\x2f\xcf\x0e\x24\x49\xa6\xb5\x25\xb1\x6a\xed\xf5\xaa\x0d\xe6\x57\xba\x63\x7b\x39\x1a\xaf\xd2\x55",
+ 	 .plaintext_size = 64,
+-	 .ciphertext =
++	 .ciphertext = (uint8_t*)
+ 	 "\x42\x83\x1e\xc2\x21\x77\x74\x24\x4b\x72\x21\xb7\x84\xd0\xd4\x9c\xe3\xaa\x21\x2f\x2c\x02\xa4\xe0\x35\xc1\x7e\x23\x29\xac\xa1\x2e\x21\xd5\x14\xb2\x54\x66\x93\x1c\x7d\x8f\x6a\x5a\xac\x84\xaa\x05\x1b\xa3\x0b\x39\x6a\x0a\xac\x97\x3d\x58\xe0\x91\x47\x3f\x59\x85",
+-	 .iv = "\xca\xfe\xba\xbe\xfa\xce\xdb\xad\xde\xca\xf8\x88",
+-	 .tag = "\x4d\x5c\x2a\xf3\x27\xcd\x64\xa6\x2c\xf3\x5a\xbd\x2b\xa6\xfa\xb4"
++	 .iv = (uint8_t*)"\xca\xfe\xba\xbe\xfa\xce\xdb\xad\xde\xca\xf8\x88",
++	 .tag = (uint8_t*)"\x4d\x5c\x2a\xf3\x27\xcd\x64\xa6\x2c\xf3\x5a\xbd\x2b\xa6\xfa\xb4"
+ 	},
+ 	{
+-	 .key =
++	 .key = (uint8_t*)
+ 	 "\xfe\xff\xe9\x92\x86\x65\x73\x1c\x6d\x6a\x8f\x94\x67\x30\x83\x08",
+-	 .auth =
++	 .auth = (uint8_t*)
+ 	 "\xfe\xed\xfa\xce\xde\xad\xbe\xef\xfe\xed\xfa\xce\xde\xad\xbe\xef\xab\xad\xda\xd2",
+ 	 .auth_size = 20,
+-	 .plaintext =
++	 .plaintext = (uint8_t*)
+ 	 "\xd9\x31\x32\x25\xf8\x84\x06\xe5\xa5\x59\x09\xc5\xaf\xf5\x26\x9a\x86\xa7\xa9\x53\x15\x34\xf7\xda\x2e\x4c\x30\x3d\x8a\x31\x8a\x72\x1c\x3c\x0c\x95\x95\x68\x09\x53\x2f\xcf\x0e\x24\x49\xa6\xb5\x25\xb1\x6a\xed\xf5\xaa\x0d\xe6\x57\xba\x63\x7b\x39",
+ 	 .plaintext_size = 60,
+-	 .ciphertext =
++	 .ciphertext = (uint8_t*)
+ 	 "\x42\x83\x1e\xc2\x21\x77\x74\x24\x4b\x72\x21\xb7\x84\xd0\xd4\x9c\xe3\xaa\x21\x2f\x2c\x02\xa4\xe0\x35\xc1\x7e\x23\x29\xac\xa1\x2e\x21\xd5\x14\xb2\x54\x66\x93\x1c\x7d\x8f\x6a\x5a\xac\x84\xaa\x05\x1b\xa3\x0b\x39\x6a\x0a\xac\x97\x3d\x58\xe0\x91",
+-	 .iv = "\xca\xfe\xba\xbe\xfa\xce\xdb\xad\xde\xca\xf8\x88",
+-	 .tag =
++	 .iv = (uint8_t*)"\xca\xfe\xba\xbe\xfa\xce\xdb\xad\xde\xca\xf8\x88",
++	 .tag = (uint8_t*)
+ 	 "\x5b\xc9\x4f\xbc\x32\x21\xa5\xdb\x94\xfa\xe9\x5a\xe7\x12\x1a\x47"
+ 	}
+ };
+@@ -94,7 +94,7 @@ struct aes_gcm_vectors_st aes_gcm_vectors[] = {
+ static int test_crypto(int cfd)
+ {
+ 	int i;
+-	int8_t tmp[128];
++	uint8_t tmp[128];
+ 
+ 	struct session_op sess;
+ 	struct crypt_auth_op cao;
+@@ -191,11 +191,11 @@ static int test_crypto(int cfd)
+  */
+ static int test_encrypt_decrypt(int cfd)
+ {
+-	char plaintext_raw[DATA_SIZE + 63], *plaintext;
+-	char ciphertext_raw[DATA_SIZE + 63], *ciphertext;
+-	char iv[BLOCK_SIZE];
+-	char key[KEY_SIZE];
+-	char auth[AUTH_SIZE];
++	uint8_t plaintext_raw[DATA_SIZE + 63], *plaintext;
++	uint8_t ciphertext_raw[DATA_SIZE + 63], *ciphertext;
++	uint8_t iv[BLOCK_SIZE];
++	uint8_t key[KEY_SIZE];
++	uint8_t auth[AUTH_SIZE];
+ 	int enc_len;
+ 
+ 	struct session_op sess;
+@@ -233,10 +233,10 @@ static int test_encrypt_decrypt(int cfd)
+ //                      siop.cipher_info.cra_name, siop.cipher_info.cra_driver_name);
+ 
+ 	plaintext =
+-	    (char *) (((unsigned long) plaintext_raw + siop.alignmask) &
++	    (uint8_t *) (((unsigned long) plaintext_raw + siop.alignmask) &
+ 		      ~siop.alignmask);
+ 	ciphertext =
+-	    (char *) (((unsigned long) ciphertext_raw + siop.alignmask) &
++	    (uint8_t *) (((unsigned long) ciphertext_raw + siop.alignmask) &
+ 		      ~siop.alignmask);
+ 
+ 	memset(plaintext, 0x15, DATA_SIZE);
+@@ -336,11 +336,11 @@ static int test_encrypt_decrypt(int cfd)
+ 
+ static int test_encrypt_decrypt_error(int cfd, int err)
+ {
+-	char plaintext_raw[DATA_SIZE + 63], *plaintext;
+-	char ciphertext_raw[DATA_SIZE + 63], *ciphertext;
+-	char iv[BLOCK_SIZE];
+-	char key[KEY_SIZE];
+-	char auth[AUTH_SIZE];
++	uint8_t plaintext_raw[DATA_SIZE + 63], *plaintext;
++	uint8_t ciphertext_raw[DATA_SIZE + 63], *ciphertext;
++	uint8_t iv[BLOCK_SIZE];
++	uint8_t key[KEY_SIZE];
++	uint8_t auth[AUTH_SIZE];
+ 	int enc_len;
+ 
+ 	struct session_op sess;
+@@ -386,10 +386,10 @@ static int test_encrypt_decrypt_error(int cfd, int err)
+ //                      siop.cipher_info.cra_name, siop.cipher_info.cra_driver_name);
+ 
+ 	plaintext =
+-	    (char *) (((unsigned long) plaintext_raw + siop.alignmask) &
++	    (uint8_t *) (((unsigned long) plaintext_raw + siop.alignmask) &
+ 		      ~siop.alignmask);
+ 	ciphertext =
+-	    (char *) (((unsigned long) ciphertext_raw + siop.alignmask) &
++	    (uint8_t *) (((unsigned long) ciphertext_raw + siop.alignmask) &
+ 		      ~siop.alignmask);
+ 
+ 	memset(plaintext, 0x15, DATA_SIZE);
+diff --git a/tests/cipher.c b/tests/cipher.c
+index 07144f2..f3ca2f0 100644
+--- a/tests/cipher.c
++++ b/tests/cipher.c
+@@ -8,6 +8,7 @@
+ #include <string.h>
+ #include <unistd.h>
+ #include <fcntl.h>
++#include <stdint.h>
+ 
+ #include <sys/ioctl.h>
+ #include <crypto/cryptodev.h>
+@@ -21,10 +22,10 @@ static int debug = 0;
+ static int
+ test_crypto(int cfd)
+ {
+-	char plaintext_raw[DATA_SIZE + 63], *plaintext;
+-	char ciphertext_raw[DATA_SIZE + 63], *ciphertext;
+-	char iv[BLOCK_SIZE];
+-	char key[KEY_SIZE];
++	uint8_t plaintext_raw[DATA_SIZE + 63], *plaintext;
++	uint8_t ciphertext_raw[DATA_SIZE + 63], *ciphertext;
++	uint8_t iv[BLOCK_SIZE];
++	uint8_t key[KEY_SIZE];
+ 
+ 	struct session_op sess;
+ #ifdef CIOCGSESSINFO
+@@ -57,8 +58,8 @@ test_crypto(int cfd)
+ 		printf("requested cipher CRYPTO_AES_CBC, got %s with driver %s\n",
+ 			siop.cipher_info.cra_name, siop.cipher_info.cra_driver_name);
+ 
+-	plaintext = (char *)(((unsigned long)plaintext_raw + siop.alignmask) & ~siop.alignmask);
+-	ciphertext = (char *)(((unsigned long)ciphertext_raw + siop.alignmask) & ~siop.alignmask);
++	plaintext = (uint8_t *)(((unsigned long)plaintext_raw + siop.alignmask) & ~siop.alignmask);
++	ciphertext = (uint8_t *)(((unsigned long)ciphertext_raw + siop.alignmask) & ~siop.alignmask);
+ #else
+ 	plaintext = plaintext_raw;
+ 	ciphertext = ciphertext_raw;
+@@ -143,15 +144,15 @@ test_crypto(int cfd)
+ 
+ static int test_aes(int cfd)
+ {
+-	char plaintext1_raw[BLOCK_SIZE + 63], *plaintext1;
+-	char ciphertext1[BLOCK_SIZE] = { 0xdf, 0x55, 0x6a, 0x33, 0x43, 0x8d, 0xb8, 0x7b, 0xc4, 0x1b, 0x17, 0x52, 0xc5, 0x5e, 0x5e, 0x49 };
+-	char iv1[BLOCK_SIZE];
+-	char key1[KEY_SIZE] = { 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
+-	char plaintext2_data[BLOCK_SIZE] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00 };
+-	char plaintext2_raw[BLOCK_SIZE + 63], *plaintext2;
+-	char ciphertext2[BLOCK_SIZE] = { 0xb7, 0x97, 0x2b, 0x39, 0x41, 0xc4, 0x4b, 0x90, 0xaf, 0xa7, 0xb2, 0x64, 0xbf, 0xba, 0x73, 0x87 };
+-	char iv2[BLOCK_SIZE];
+-	char key2[KEY_SIZE];
++	uint8_t plaintext1_raw[BLOCK_SIZE + 63], *plaintext1;
++	uint8_t ciphertext1[BLOCK_SIZE] = { 0xdf, 0x55, 0x6a, 0x33, 0x43, 0x8d, 0xb8, 0x7b, 0xc4, 0x1b, 0x17, 0x52, 0xc5, 0x5e, 0x5e, 0x49 };
++	uint8_t iv1[BLOCK_SIZE];
++	uint8_t key1[KEY_SIZE] = { 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
++	uint8_t plaintext2_data[BLOCK_SIZE] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00 };
++	uint8_t plaintext2_raw[BLOCK_SIZE + 63], *plaintext2;
++	uint8_t ciphertext2[BLOCK_SIZE] = { 0xb7, 0x97, 0x2b, 0x39, 0x41, 0xc4, 0x4b, 0x90, 0xaf, 0xa7, 0xb2, 0x64, 0xbf, 0xba, 0x73, 0x87 };
++	uint8_t iv2[BLOCK_SIZE];
++	uint8_t key2[KEY_SIZE];
+ 
+ 	struct session_op sess;
+ #ifdef CIOCGSESSINFO
+@@ -176,7 +177,7 @@ static int test_aes(int cfd)
+ 		perror("ioctl(CIOCGSESSINFO)");
+ 		return 1;
+ 	}
+-	plaintext1 = (char *)(((unsigned long)plaintext1_raw + siop.alignmask) & ~siop.alignmask);
++	plaintext1 = (uint8_t *)(((unsigned long)plaintext1_raw + siop.alignmask) & ~siop.alignmask);
+ #else
+ 	plaintext1 = plaintext1_raw;
+ #endif
+@@ -226,7 +227,7 @@ static int test_aes(int cfd)
+ 		printf("requested cipher CRYPTO_AES_CBC, got %s with driver %s\n",
+ 			siop.cipher_info.cra_name, siop.cipher_info.cra_driver_name);
+ 
+-	plaintext2 = (char *)(((unsigned long)plaintext2_raw + siop.alignmask) & ~siop.alignmask);
++	plaintext2 = (uint8_t *)(((unsigned long)plaintext2_raw + siop.alignmask) & ~siop.alignmask);
+ #else
+ 	plaintext2 = plaintext2_raw;
+ #endif
+diff --git a/tests/cipher_comp.c b/tests/cipher_comp.c
+index b2bc5af..03f67bf 100644
+--- a/tests/cipher_comp.c
++++ b/tests/cipher_comp.c
+@@ -24,12 +24,12 @@
+ static int
+ test_crypto(int cfd, struct session_op *sess, int datalen)
+ {
+-	char *data, *encrypted;
+-	char *encrypted_comp;
++	uint8_t *data, *encrypted;
++	uint8_t *encrypted_comp;
+ 
+-	char iv_in[BLOCK_SIZE];
+-	char iv[BLOCK_SIZE];
+-	char iv_comp[BLOCK_SIZE];
++	uint8_t iv_in[BLOCK_SIZE];
++	uint8_t iv[BLOCK_SIZE];
++	uint8_t iv_comp[BLOCK_SIZE];
+ 
+ 	struct crypt_op cryp;
+ 
+@@ -90,7 +90,7 @@ main(int argc, char **argv)
+ {
+ 	int fd;
+ 	struct session_op sess;
+-	unsigned char key[KEY_SIZE];
++	uint8_t key[KEY_SIZE];
+ 	int datalen = BLOCK_SIZE;
+ 	int datalen_end = MAX_DATALEN;
+ 	int i;
+diff --git a/tests/fullspeed.c b/tests/fullspeed.c
+index 611859d..c025130 100644
+--- a/tests/fullspeed.c
++++ b/tests/fullspeed.c
+@@ -25,6 +25,7 @@
+ #include <sys/types.h>
+ #include <signal.h>
+ #include <unistd.h>
++#include <stdint.h>
+ 
+ #include <crypto/cryptodev.h>
+ 
+@@ -74,7 +75,7 @@ static void value2human(int si, double bytes, double time, double* data, double*
+ int encrypt_data(int algo, void* keybuf, int key_size, int fdc, int chunksize)
+ {
+ 	struct crypt_op cop;
+-	char *buffer, iv[32];
++	uint8_t *buffer, iv[32];
+ 	static int val = 23;
+ 	struct timeval start, end;
+ 	double total = 0;
+diff --git a/tests/hash_comp.c b/tests/hash_comp.c
+index 9e700a1..e6a4346 100644
+--- a/tests/hash_comp.c
++++ b/tests/hash_comp.c
+@@ -30,11 +30,9 @@ static void printhex(unsigned char *buf, int buflen)
+ static int
+ test_crypto(int cfd, struct session_op *sess, int datalen)
+ {
+-	unsigned char *data;
+-
+-	unsigned char mac[AALG_MAX_RESULT_LEN];
+-
+-	unsigned char mac_comp[AALG_MAX_RESULT_LEN];
++	uint8_t *data;
++	uint8_t mac[AALG_MAX_RESULT_LEN];
++	uint8_t mac_comp[AALG_MAX_RESULT_LEN];
+ 
+ 	struct crypt_op cryp;
+ 
+diff --git a/tests/hmac.c b/tests/hmac.c
+index 1d9349e..80a2c42 100644
+--- a/tests/hmac.c
++++ b/tests/hmac.c
+@@ -69,7 +69,7 @@ test_crypto(int cfd)
+ 
+ 	cryp.ses = sess.ses;
+ 	cryp.len = sizeof("what do ya want for nothing?")-1;
+-	cryp.src = "what do ya want for nothing?";
++	cryp.src = (uint8_t*)"what do ya want for nothing?";
+ 	cryp.mac = mac;
+ 	cryp.op = COP_ENCRYPT;
+ 	if (ioctl(cfd, CIOCCRYPT, &cryp)) {
+@@ -113,7 +113,7 @@ test_crypto(int cfd)
+ 
+ 	cryp.ses = sess.ses;
+ 	cryp.len = sizeof("what do ya want for nothing?")-1;
+-	cryp.src = "what do ya want for nothing?";
++	cryp.src = (uint8_t*)"what do ya want for nothing?";
+ 	cryp.mac = mac;
+ 	cryp.op = COP_ENCRYPT;
+ 	if (ioctl(cfd, CIOCCRYPT, &cryp)) {
+@@ -246,7 +246,7 @@ test_extras(int cfd)
+ 
+ 	cryp.ses = sess.ses;
+ 	cryp.len = sizeof("what do")-1;
+-	cryp.src = "what do";
++	cryp.src = (uint8_t*)"what do";
+ 	cryp.mac = mac;
+ 	cryp.op = COP_ENCRYPT;
+ 	cryp.flags = COP_FLAG_UPDATE;
+@@ -257,7 +257,7 @@ test_extras(int cfd)
+ 
+ 	cryp.ses = sess.ses;
+ 	cryp.len = sizeof(" ya want for nothing?")-1;
+-	cryp.src = " ya want for nothing?";
++	cryp.src = (uint8_t*)" ya want for nothing?";
+ 	cryp.mac = mac;
+ 	cryp.op = COP_ENCRYPT;
+ 	cryp.flags = COP_FLAG_FINAL;
+diff --git a/tests/speed.c b/tests/speed.c
+index d2e1aed..0e2bbc3 100644
+--- a/tests/speed.c
++++ b/tests/speed.c
+@@ -25,6 +25,7 @@
+ #include <sys/types.h>
+ #include <signal.h>
+ #include <unistd.h>
++#include <stdint.h>
+ 
+ #include <crypto/cryptodev.h>
+ 
+@@ -75,7 +76,7 @@ int encrypt_data(struct session_op *sess, int fdc, int chunksize, int alignmask)
+ {
+ 	struct crypt_op cop;
+ 	char *buffer, iv[32];
+-	char mac[HASH_MAX_LEN];
++	uint8_t mac[HASH_MAX_LEN];
+ 	static int val = 23;
+ 	struct timeval start, end;
+ 	double total = 0;
+-- 
+2.10.2
+
diff --git a/recipes-kernel/cryptodev/sdk_patches/0064-remove-not-used-local-variables.patch b/recipes-kernel/cryptodev/sdk_patches/0064-remove-not-used-local-variables.patch
new file mode 100644
index 0000000..24eac13
--- /dev/null
+++ b/recipes-kernel/cryptodev/sdk_patches/0064-remove-not-used-local-variables.patch
@@ -0,0 +1,129 @@
+From c31ba5b149428cbbcd48fab649331a2d38003209 Mon Sep 17 00:00:00 2001
+From: Cristian Stoica <cristian.stoica@nxp.com>
+Date: Wed, 26 Oct 2016 10:47:07 +0300
+Subject: [PATCH 064/104] remove not used local variables
+
+Signed-off-by: Cristian Stoica <cristian.stoica@nxp.com>
+---
+ tests/async_hmac.c  | 2 --
+ tests/async_speed.c | 5 -----
+ tests/cipher_comp.c | 2 +-
+ tests/hash_comp.c   | 5 ++---
+ tests/hmac.c        | 2 --
+ tests/sha_speed.c   | 1 -
+ 6 files changed, 3 insertions(+), 14 deletions(-)
+
+diff --git a/tests/async_hmac.c b/tests/async_hmac.c
+index 94a02c0..85d19c6 100644
+--- a/tests/async_hmac.c
++++ b/tests/async_hmac.c
+@@ -185,8 +185,6 @@ test_extras(int cfd)
+ 	struct session_op sess;
+ 	struct crypt_op cryp;
+ 	uint8_t mac[AALG_MAX_RESULT_LEN];
+-	uint8_t oldmac[AALG_MAX_RESULT_LEN];
+-	uint8_t md5_hmac_out[] = "\x75\x0c\x78\x3e\x6a\xb0\xb5\x03\xea\xa8\x6e\x31\x0a\x5d\xb7\x38";
+ 	uint8_t sha1_out[] = "\x8f\x82\x03\x94\xf9\x53\x35\x18\x20\x45\xda\x24\xf3\x4d\xe5\x2b\xf8\xbc\x34\x32";
+ 	int i;
+ 
+diff --git a/tests/async_speed.c b/tests/async_speed.c
+index dabbbc1..f2b9772 100644
+--- a/tests/async_speed.c
++++ b/tests/async_speed.c
+@@ -284,8 +284,6 @@ int run_null(int fdc, struct test_params tp)
+ {
+ 	struct session_op sess;
+ 	char keybuf[32];
+-	int alignmask;
+-	int i;
+ 
+ 	fprintf(stderr, "Testing NULL cipher: \n");
+ 	memset(&sess, 0, sizeof(sess));
+@@ -305,8 +303,6 @@ int run_aes_128_cbc(int fdc, struct test_params tp)
+ {
+ 	struct session_op sess;
+ 	char keybuf[32];
+-	int alignmask;
+-	int i;
+ 
+ 	memset(&sess, 0, sizeof(sess));
+ 	sess.cipher = CRYPTO_AES_CBC;
+@@ -390,7 +386,6 @@ int main(int argc, char **argv)
+ {
+ 	int i;
+ 	int c;
+-	int index;
+ 	bool alg_flag;
+ 	char *alg_name;
+ 	struct test_params tp;
+diff --git a/tests/cipher_comp.c b/tests/cipher_comp.c
+index 03f67bf..dbf9977 100644
+--- a/tests/cipher_comp.c
++++ b/tests/cipher_comp.c
+@@ -33,7 +33,7 @@ test_crypto(int cfd, struct session_op *sess, int datalen)
+ 
+ 	struct crypt_op cryp;
+ 
+-	int ret = 0, fail = 0;
++	int ret = 0;
+ 
+ 	data = malloc(datalen);
+ 	encrypted = malloc(datalen);
+diff --git a/tests/hash_comp.c b/tests/hash_comp.c
+index e6a4346..73f85ed 100644
+--- a/tests/hash_comp.c
++++ b/tests/hash_comp.c
+@@ -36,7 +36,7 @@ test_crypto(int cfd, struct session_op *sess, int datalen)
+ 
+ 	struct crypt_op cryp;
+ 
+-	int ret = 0, fail = 0;
++	int ret = 0;
+ 
+ 	data = malloc(datalen);
+ 	memset(data, datalen & 0xff, datalen);
+@@ -66,7 +66,7 @@ test_crypto(int cfd, struct session_op *sess, int datalen)
+ 
+ 	if (memcmp(mac, mac_comp, AALG_MAX_RESULT_LEN)) {
+ 		printf("fail for datalen %d, MACs do not match!\n", datalen);
+-		fail = 1;
++		ret = 1;
+ 		printf("wrong mac: ");
+ 		printhex(mac, 20);
+ 		printf("right mac: ");
+@@ -88,7 +88,6 @@ main(int argc, char **argv)
+ 	struct session_op sess;
+ 	int datalen = BLOCK_SIZE;
+ 	int datalen_end = MAX_DATALEN;
+-	int i;
+ 
+ 	if (argc > 1) {
+ 		datalen = min(max(atoi(argv[1]), BLOCK_SIZE), MAX_DATALEN);
+diff --git a/tests/hmac.c b/tests/hmac.c
+index 80a2c42..3b248f3 100644
+--- a/tests/hmac.c
++++ b/tests/hmac.c
+@@ -212,8 +212,6 @@ test_extras(int cfd)
+ #endif
+ 	struct crypt_op cryp;
+ 	uint8_t mac[AALG_MAX_RESULT_LEN];
+-	uint8_t oldmac[AALG_MAX_RESULT_LEN];
+-	uint8_t md5_hmac_out[] = "\x75\x0c\x78\x3e\x6a\xb0\xb5\x03\xea\xa8\x6e\x31\x0a\x5d\xb7\x38";
+ 	uint8_t sha1_out[] = "\x8f\x82\x03\x94\xf9\x53\x35\x18\x20\x45\xda\x24\xf3\x4d\xe5\x2b\xf8\xbc\x34\x32";
+ 	int i;
+ 
+diff --git a/tests/sha_speed.c b/tests/sha_speed.c
+index e5c6efe..9f2c8cc 100644
+--- a/tests/sha_speed.c
++++ b/tests/sha_speed.c
+@@ -296,7 +296,6 @@ int main(void)
+ 	int fd;
+ 	int fdc;
+ 	int err;
+-	int i;
+ 	struct session_op sess;
+ 
+ 	signal(SIGALRM, alarm_handler);
+-- 
+2.10.2
+
diff --git a/recipes-kernel/cryptodev/sdk_patches/0065-return-error-code-of-the-test-if-there-is-one.patch b/recipes-kernel/cryptodev/sdk_patches/0065-return-error-code-of-the-test-if-there-is-one.patch
new file mode 100644
index 0000000..2775237
--- /dev/null
+++ b/recipes-kernel/cryptodev/sdk_patches/0065-return-error-code-of-the-test-if-there-is-one.patch
@@ -0,0 +1,68 @@
+From 58da37b93d2532e489514b810c63d735a165ff09 Mon Sep 17 00:00:00 2001
+From: Cristian Stoica <cristian.stoica@nxp.com>
+Date: Wed, 26 Oct 2016 10:47:58 +0300
+Subject: [PATCH 065/104] return error code of the test if there is one
+
+Signed-off-by: Cristian Stoica <cristian.stoica@nxp.com>
+---
+ tests/async_speed.c | 15 +++++++++++----
+ 1 file changed, 11 insertions(+), 4 deletions(-)
+
+diff --git a/tests/async_speed.c b/tests/async_speed.c
+index f2b9772..d843c02 100644
+--- a/tests/async_speed.c
++++ b/tests/async_speed.c
+@@ -239,6 +239,7 @@ int run_test(int id, struct test_params tp)
+ {
+ 	int fd;
+ 	int fdc;
++	int err;
+ 
+ 	fd = open("/dev/crypto", O_RDWR, 0);
+ 	if (fd < 0) {
+@@ -253,10 +254,12 @@ int run_test(int id, struct test_params tp)
+ 	if (!tp.mflag) {
+ 		fprintf(stderr, "Testing %s:\n", ciphers[id].name);
+ 	}
+-	ciphers[id].func(fdc, tp);
++	err = ciphers[id].func(fdc, tp);
+ 
+ 	close(fdc);
+ 	close(fd);
++
++	return err;
+ }
+ 
+ void do_test_vectors(int fdc, struct test_params tp, struct session_op *sess)
+@@ -384,6 +387,7 @@ int run_sha256(int fdc, struct test_params tp)
+ 
+ int main(int argc, char **argv)
+ {
++	int err = 0;
+ 	int i;
+ 	int c;
+ 	bool alg_flag;
+@@ -436,14 +440,17 @@ int main(int argc, char **argv)
+ 
+ 		if (alg_flag) {
+ 			if (strcmp(alg_name, ciphers[i].name) == 0) {
+-				run_test(i, tp);
++				err = run_test(i, tp);
+ 			}
+ 		} else {
+-			run_test(i, tp);
++			err = run_test(i, tp);
++			if (err != 0) {
++				break;
++			}
+ 		}
+ 	}
+ 
+-	return 0;
++	return err;
+ }
+ 
+ #else
+-- 
+2.10.2
+
diff --git a/recipes-kernel/cryptodev/sdk_patches/0066-do-more-strict-code-checking-to-avoid-maintenance-is.patch b/recipes-kernel/cryptodev/sdk_patches/0066-do-more-strict-code-checking-to-avoid-maintenance-is.patch
new file mode 100644
index 0000000..3255dd8
--- /dev/null
+++ b/recipes-kernel/cryptodev/sdk_patches/0066-do-more-strict-code-checking-to-avoid-maintenance-is.patch
@@ -0,0 +1,25 @@
+From af792c280ec5d76f473487cd1ed9335a6ec534de Mon Sep 17 00:00:00 2001
+From: Cristian Stoica <cristian.stoica@nxp.com>
+Date: Wed, 26 Oct 2016 10:49:36 +0300
+Subject: [PATCH 066/104] do more strict code checking to avoid maintenance
+ issues
+
+Signed-off-by: Cristian Stoica <cristian.stoica@nxp.com>
+---
+ tests/Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tests/Makefile b/tests/Makefile
+index 14ae2c7..a27cf9b 100644
+--- a/tests/Makefile
++++ b/tests/Makefile
+@@ -1,5 +1,5 @@
+ KERNEL_DIR ?= /lib/modules/$(shell uname -r)/build
+-CRYPTODEV_CFLAGS += -DENABLE_ASYNC -Wimplicit-function-declaration
++CRYPTODEV_CFLAGS += -DENABLE_ASYNC -Wall -Werror
+ KBUILD_CFLAGS += -I.. $(CRYPTODEV_CFLAGS)
+ CFLAGS += -I.. $(CRYPTODEV_CFLAGS)
+ 
+-- 
+2.10.2
+
diff --git a/recipes-kernel/cryptodev/sdk_patches/0067-fix-issues-with-install-target.patch b/recipes-kernel/cryptodev/sdk_patches/0067-fix-issues-with-install-target.patch
new file mode 100644
index 0000000..e60e90a
--- /dev/null
+++ b/recipes-kernel/cryptodev/sdk_patches/0067-fix-issues-with-install-target.patch
@@ -0,0 +1,52 @@
+From bd36f9cda9fb5eeebec23cc966a81e93b4fa8bf7 Mon Sep 17 00:00:00 2001
+From: Cristian Stoica <cristian.stoica@nxp.com>
+Date: Wed, 26 Oct 2016 12:53:11 +0300
+Subject: [PATCH 067/104] fix issues with install target
+
+Aparently, on some setups, 'sudo make' will clear the $PWD variable
+on the first Makefile expansion. This leads to failures of "sudo make
+install" or other issues when trying to preserve the environment with
+sudo -E.
+
+There are two solutions to this problem:
+1) Use $$PWD instead of $(PWD) to render `$PWD` as the actual string to
+be used on the secondary Makefile expansion.
+This is used (albeit inconsistently) in the Linux kernel guide for
+external modules:
+kernel https://www.kernel.org/doc/Documentation/kbuild/modules.txt
+
+2) A second solution is based on GNU make which sets CURDIR to the
+pathname of current working directory. This variable is never touched
+again by make.
+This solution is choosen for it is just as clear as the PWD one would
+have been had it worked in the first place.
+
+Signed-off-by: Cristian Stoica <cristian.stoica@nxp.com>
+
+
+
+--- a/Makefileold	2017-04-18 13:55:30.740561749 +0800
++++ b/Makefile	2017-04-18 13:58:04.348556431 +0800
+@@ -15,7 +15,7 @@
+ 
+ obj-m += cryptodev.o
+ 
+-KERNEL_MAKE_OPTS := -C $(KERNEL_DIR) M=$(PWD)
++KERNEL_MAKE_OPTS := -C $(KERNEL_DIR) M=$(CURDIR)
+ ifneq ($(ARCH),)
+ KERNEL_MAKE_OPTS += ARCH=$(ARCH)
+ endif
+@@ -32,11 +32,11 @@
+ install: modules_install
+ 
+ modules_install:
+-	$(MAKE) -C $(KERNEL_DIR) M=$(PWD) modules_install
++	$(MAKE) $(KERNEL_MAKE_OPTS) modules_install
+ 	install -m 644 -D crypto/cryptodev.h $(DESTDIR)/$(includedir)/crypto/cryptodev.h
+ 
+ clean:
+-	$(MAKE) -C $(KERNEL_DIR) M=$(PWD) clean
++	$(MAKE) $(KERNEL_MAKE_OPTS) clean
+ 	rm -f $(hostprogs) *~
+ 	CFLAGS=$(CRYPTODEV_CFLAGS) KERNEL_DIR=$(KERNEL_DIR) $(MAKE) -C tests clean
+ 
diff --git a/recipes-kernel/cryptodev/sdk_patches/0068-setting-KERNEL_DIR-is-not-necessary-to-build-tests.patch b/recipes-kernel/cryptodev/sdk_patches/0068-setting-KERNEL_DIR-is-not-necessary-to-build-tests.patch
new file mode 100644
index 0000000..07156a6
--- /dev/null
+++ b/recipes-kernel/cryptodev/sdk_patches/0068-setting-KERNEL_DIR-is-not-necessary-to-build-tests.patch
@@ -0,0 +1,24 @@
+From 39f0c5ae656f4b487a0950235e2371e4dd840594 Mon Sep 17 00:00:00 2001
+From: Cristian Stoica <cristian.stoica@nxp.com>
+Date: Wed, 26 Oct 2016 13:11:11 +0300
+Subject: [PATCH 068/104] setting KERNEL_DIR is not necessary to build tests
+
+Signed-off-by: Cristian Stoica <cristian.stoica@nxp.com>
+---
+ tests/Makefile | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/tests/Makefile b/tests/Makefile
+index a27cf9b..e7a60cb 100644
+--- a/tests/Makefile
++++ b/tests/Makefile
+@@ -1,6 +1,4 @@
+-KERNEL_DIR ?= /lib/modules/$(shell uname -r)/build
+ CRYPTODEV_CFLAGS += -DENABLE_ASYNC -Wall -Werror
+-KBUILD_CFLAGS += -I.. $(CRYPTODEV_CFLAGS)
+ CFLAGS += -I.. $(CRYPTODEV_CFLAGS)
+ 
+ comp_progs := cipher_comp hash_comp hmac_comp
+-- 
+2.10.2
+
diff --git a/recipes-kernel/cryptodev/sdk_patches/0069-fix-the-reported-unit.patch b/recipes-kernel/cryptodev/sdk_patches/0069-fix-the-reported-unit.patch
new file mode 100644
index 0000000..91a3c0d
--- /dev/null
+++ b/recipes-kernel/cryptodev/sdk_patches/0069-fix-the-reported-unit.patch
@@ -0,0 +1,29 @@
+From 99ce54741ccbbe8581ab83b73ab11d2dae4f01b1 Mon Sep 17 00:00:00 2001
+From: Cristian Stoica <cristian.stoica@nxp.com>
+Date: Wed, 26 Oct 2016 14:55:28 +0300
+Subject: [PATCH 069/104] fix the reported unit
+
+1GiB = 1024*1024*1024
+1GB  = 1000000000
+
+Signed-off-by: Cristian Stoica <cristian.stoica@nxp.com>
+---
+ tests/async_speed_multi.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tests/async_speed_multi.sh b/tests/async_speed_multi.sh
+index 331158b..bf5f1c6 100755
+--- a/tests/async_speed_multi.sh
++++ b/tests/async_speed_multi.sh
+@@ -93,7 +93,7 @@ function run_parallel
+     echo
+     echo "buffer size  :   $nvalue"
+     echo "running time :   $runtime"
+-    echo "avg_speed    :   $avg_speed GiB/s"
++    echo "avg_speed    :   $avg_speed GB/s"
+     echo "all_cpu idle :   $cpu_idle %"
+     echo
+ }
+-- 
+2.10.2
+
diff --git a/recipes-kernel/cryptodev/sdk_patches/0070-remove-old-results-to-avoid-incorrect-reports.patch b/recipes-kernel/cryptodev/sdk_patches/0070-remove-old-results-to-avoid-incorrect-reports.patch
new file mode 100644
index 0000000..270b69e
--- /dev/null
+++ b/recipes-kernel/cryptodev/sdk_patches/0070-remove-old-results-to-avoid-incorrect-reports.patch
@@ -0,0 +1,27 @@
+From 73748415251dbf3d6e3fc9531e38b8e61ff63e20 Mon Sep 17 00:00:00 2001
+From: Cristian Stoica <cristian.stoica@nxp.com>
+Date: Wed, 26 Oct 2016 15:09:04 +0300
+Subject: [PATCH 070/104] remove old results to avoid incorrect reports
+
+Signed-off-by: Cristian Stoica <cristian.stoica@nxp.com>
+---
+ tests/async_speed_multi.sh | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/tests/async_speed_multi.sh b/tests/async_speed_multi.sh
+index bf5f1c6..10b2348 100755
+--- a/tests/async_speed_multi.sh
++++ b/tests/async_speed_multi.sh
+@@ -108,6 +108,9 @@ function main
+ {
+ 	[ ! -e "/dev/crypto" ] && sudo modprobe cryptodev || modprobe cryptodev || exit 1
+ 
++	rm -f ${OUT_BASENAME}_*
++	rm -f ${MPSTAT_OUT}
++
+ 	while getopts hm:t:n: option
+ 	do
+ 		case "$option" in
+-- 
+2.10.2
+
diff --git a/recipes-kernel/cryptodev/sdk_patches/0071-fix-the-scale-of-the-runtime-value.patch b/recipes-kernel/cryptodev/sdk_patches/0071-fix-the-scale-of-the-runtime-value.patch
new file mode 100644
index 0000000..f52e09a
--- /dev/null
+++ b/recipes-kernel/cryptodev/sdk_patches/0071-fix-the-scale-of-the-runtime-value.patch
@@ -0,0 +1,29 @@
+From d9de6a0f342b2291e2f2d82b594fbb3b8ed7f468 Mon Sep 17 00:00:00 2001
+From: Cristian Stoica <cristian.stoica@nxp.com>
+Date: Thu, 27 Oct 2016 09:29:24 +0300
+Subject: [PATCH 071/104] fix the scale of the runtime value
+
+Subtraction operation does not honor the scale variable. Only
+division does.
+
+Signed-off-by: Cristian Stoica <cristian.stoica@nxp.com>
+---
+ tests/async_speed_multi.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tests/async_speed_multi.sh b/tests/async_speed_multi.sh
+index 10b2348..659be0e 100755
+--- a/tests/async_speed_multi.sh
++++ b/tests/async_speed_multi.sh
+@@ -85,7 +85,7 @@ function run_parallel
+ 
+     wait $MPSTAT_PID
+ 
+-    runtime=$(echo "scale=2; $end - $start" | bc -l )
++    runtime=$(echo "scale=2; ($end - $start) / 1" | bc -l )
+     total_data=`cat ${OUT_BASENAME}_* | cut -f 1 | SUM`
+     avg_speed=$(echo "scale=2; $total_data / $runtime / 1000000000" | bc -l)
+     cpu_idle=`get_cpu_idle`
+-- 
+2.10.2
+
diff --git a/recipes-kernel/cryptodev/sdk_patches/0072-use-.-instead-of-.-for-consistency.patch b/recipes-kernel/cryptodev/sdk_patches/0072-use-.-instead-of-.-for-consistency.patch
new file mode 100644
index 0000000..0cf2a0c
--- /dev/null
+++ b/recipes-kernel/cryptodev/sdk_patches/0072-use-.-instead-of-.-for-consistency.patch
@@ -0,0 +1,82 @@
+From abcf5983f6d69c5ff35e77fb79ea7afe2149411a Mon Sep 17 00:00:00 2001
+From: Cristian Stoica <cristian.stoica@nxp.com>
+Date: Thu, 27 Oct 2016 09:33:11 +0300
+Subject: [PATCH 072/104] use $(...) instead of `...` for consistency
+
+Signed-off-by: Cristian Stoica <cristian.stoica@nxp.com>
+---
+ tests/async_speed_multi.sh | 24 ++++++++++++------------
+ 1 file changed, 12 insertions(+), 12 deletions(-)
+
+diff --git a/tests/async_speed_multi.sh b/tests/async_speed_multi.sh
+index 659be0e..e10dc0d 100755
+--- a/tests/async_speed_multi.sh
++++ b/tests/async_speed_multi.sh
+@@ -19,7 +19,7 @@
+ 
+ # no user-configurable options below this line
+ 
+-NUM_CORES=`nproc`
++NUM_CORES=$(nproc)
+ OUT_BASENAME="async_speed"
+ S_TIME_FORMAT=ISO
+ MPSTAT_OUT="mpstat_out"
+@@ -44,9 +44,9 @@ function SUM {
+ 
+ function get_cpu_idle
+ {
+-    header_line=`grep %idle ${MPSTAT_OUT} | head -n 1 | sed 's/\s\+/ /g'`
+-    idle_column=`echo $header_line | wc -w`
+-    average_idle=`grep Average ${MPSTAT_OUT} | sed 's/\s\+/ /g' | cut -d' ' -f ${idle_column} | tail -n 1`
++    header_line=$(grep %idle ${MPSTAT_OUT} | head -n 1 | sed 's/\s\+/ /g')
++    idle_column=$(echo $header_line | wc -w)
++    average_idle=$(grep Average ${MPSTAT_OUT} | sed 's/\s\+/ /g' | cut -d' ' -f ${idle_column} | tail -n 1)
+ 
+     echo $average_idle
+ }
+@@ -66,9 +66,9 @@ function run_parallel
+     MPSTAT_PID=$!
+ 
+     PIDS=""
+-    start=`date +%s.%N`
++    start=$(date +%s.%N)
+ 
+-    for i in `seq 0 $(($mvalue-1))`
++    for i in $(seq 0 $(($mvalue-1)))
+     do
+ 	CMD_OUT="${OUT_BASENAME}_${i}"
+ 
+@@ -81,14 +81,14 @@ function run_parallel
+     done
+ 
+     wait $PIDS
+-    end=`date +%s.%N`
++    end=$(date +%s.%N)
+ 
+     wait $MPSTAT_PID
+ 
+     runtime=$(echo "scale=2; ($end - $start) / 1" | bc -l )
+-    total_data=`cat ${OUT_BASENAME}_* | cut -f 1 | SUM`
++    total_data=$(cat ${OUT_BASENAME}_* | cut -f 1 | SUM)
+     avg_speed=$(echo "scale=2; $total_data / $runtime / 1000000000" | bc -l)
+-    cpu_idle=`get_cpu_idle`
++    cpu_idle=$(get_cpu_idle)
+ 
+     echo
+     echo "buffer size  :   $nvalue"
+@@ -124,9 +124,9 @@ function main
+ 	shift $((OPTIND-1))
+ 	alg_name=$1
+ 
+-	[ -z "$tvalue" ] && tvalue=10      # 10 seconds per test by default
+-	[ -z "$mvalue" ] && mvalue=`nproc` # thread count defaults to nproc
+-	[ -z "$nvalue" ] && nvalue=256     # 256 bytes default buffer size
++	[ -z "$tvalue" ] && tvalue=10         # 10 seconds per test by default
++	[ -z "$mvalue" ] && mvalue=$NUM_CORES # thread count defaults to nproc
++	[ -z "$nvalue" ] && nvalue=256        # 256 bytes default buffer size
+ 
+ 	[ "$tvalue" -lt 5 ] && tvalue=5
+ 
+-- 
+2.10.2
+
diff --git a/recipes-kernel/cryptodev/sdk_patches/0073-really-fix-again.-the-mpstat-issue.patch b/recipes-kernel/cryptodev/sdk_patches/0073-really-fix-again.-the-mpstat-issue.patch
new file mode 100644
index 0000000..5410870
--- /dev/null
+++ b/recipes-kernel/cryptodev/sdk_patches/0073-really-fix-again.-the-mpstat-issue.patch
@@ -0,0 +1,34 @@
+From 787cbdf6b032964df00c4379d9a81ba4384a492e Mon Sep 17 00:00:00 2001
+From: Cristian Stoica <cristian.stoica@nxp.com>
+Date: Thu, 27 Oct 2016 10:06:08 +0300
+Subject: [PATCH 073/104] really fix (again...) the mpstat issue
+
+Signed-off-by: Cristian Stoica <cristian.stoica@nxp.com>
+---
+ tests/async_speed_multi.sh | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/tests/async_speed_multi.sh b/tests/async_speed_multi.sh
+index e10dc0d..22a12cb 100755
+--- a/tests/async_speed_multi.sh
++++ b/tests/async_speed_multi.sh
+@@ -21,7 +21,6 @@
+ 
+ NUM_CORES=$(nproc)
+ OUT_BASENAME="async_speed"
+-S_TIME_FORMAT=ISO
+ MPSTAT_OUT="mpstat_out"
+ 
+ function usage
+@@ -62,7 +61,7 @@ function run_parallel
+     echo "Running $tvalue seconds $mvalue threads in parallel:"
+     echo "    $CMD"
+ 
+-    (sleep 1; mpstat 1 $(($tvalue-2))) &> $MPSTAT_OUT &
++    (sleep 1; S_TIME_FORMAT=ISO mpstat 1 $(($tvalue-2))) &> $MPSTAT_OUT &
+     MPSTAT_PID=$!
+ 
+     PIDS=""
+-- 
+2.10.2
+
diff --git a/recipes-kernel/cryptodev/sdk_patches/0074-make-default-output-tabular.patch b/recipes-kernel/cryptodev/sdk_patches/0074-make-default-output-tabular.patch
new file mode 100644
index 0000000..16eadac
--- /dev/null
+++ b/recipes-kernel/cryptodev/sdk_patches/0074-make-default-output-tabular.patch
@@ -0,0 +1,83 @@
+From 826f2feb22f5391e985930af40782b2fb980e028 Mon Sep 17 00:00:00 2001
+From: Cristian Stoica <cristian.stoica@nxp.com>
+Date: Thu, 27 Oct 2016 10:12:25 +0300
+Subject: [PATCH 074/104] make default output tabular
+
+Signed-off-by: Cristian Stoica <cristian.stoica@nxp.com>
+---
+ tests/async_speed_multi.sh | 33 +++++++++++++++++++++++----------
+ 1 file changed, 23 insertions(+), 10 deletions(-)
+
+diff --git a/tests/async_speed_multi.sh b/tests/async_speed_multi.sh
+index 22a12cb..b509c25 100755
+--- a/tests/async_speed_multi.sh
++++ b/tests/async_speed_multi.sh
+@@ -31,6 +31,7 @@ Usage: `basename $0` [OPTIONS] <alg_name>
+   -m <threads>    number of threads to run with (defaults to number of cores)
+   -t <secs>       time to run each test (default 10 secs)
+   -n <bytes>      size of the test buffer (default 256 bytes)
++  -v              make output more verbose (default tabular)
+   -h              show this help
+ 
+ alg_name: null, aes-128-cbc, aes-256-xts, sha1, sha256, crc32c
+@@ -57,9 +58,12 @@ function run_parallel
+     OPTIONS="-t $tvalue -n $nvalue -m"
+     CMD="async_speed $OPTIONS $alg_name"
+ 
+-    echo
+-    echo "Running $tvalue seconds $mvalue threads in parallel:"
+-    echo "    $CMD"
++    if [ ! -z "$vvalue" ]
++    then
++       echo
++       echo "Running $tvalue seconds $mvalue threads in parallel:"
++       echo "    $CMD"
++    fi
+ 
+     (sleep 1; S_TIME_FORMAT=ISO mpstat 1 $(($tvalue-2))) &> $MPSTAT_OUT &
+     MPSTAT_PID=$!
+@@ -89,12 +93,20 @@ function run_parallel
+     avg_speed=$(echo "scale=2; $total_data / $runtime / 1000000000" | bc -l)
+     cpu_idle=$(get_cpu_idle)
+ 
+-    echo
+-    echo "buffer size  :   $nvalue"
+-    echo "running time :   $runtime"
+-    echo "avg_speed    :   $avg_speed GB/s"
+-    echo "all_cpu idle :   $cpu_idle %"
+-    echo
++    if [ ! -z "$vvalue" ]
++    then
++	echo
++	echo "buffer size  :   $nvalue"
++	echo "running time :   $runtime"
++	echo "avg_speed    :   $avg_speed GB/s"
++	echo "all_cpu idle :   $cpu_idle %"
++	echo
++    else
++	echo -e "algorithm\t""threads\t""runtime\t"\
++	     "buf_size\t""GB/s\t""%cpu_idle"
++	echo -e "${alg_name}\t${mvalue}\t${runtime}\t"\
++	     "${nvalue}\t${avg_speed}\t${cpu_idle}"
++    fi
+ }
+ 
+ function control_c
+@@ -110,12 +122,13 @@ function main
+ 	rm -f ${OUT_BASENAME}_*
+ 	rm -f ${MPSTAT_OUT}
+ 
+-	while getopts hm:t:n: option
++	while getopts vhm:t:n: option
+ 	do
+ 		case "$option" in
+ 			m) mvalue="$OPTARG";;
+ 			t) tvalue="$OPTARG";;
+ 			n) nvalue="$OPTARG";;
++			v) vvalue="verbose";;
+ 			*) usage $0; exit 1;;
+ 		esac
+ 	done
+-- 
+2.10.2
+
diff --git a/recipes-kernel/cryptodev/sdk_patches/0075-fix-incorrect-handling-of-error-cases.patch b/recipes-kernel/cryptodev/sdk_patches/0075-fix-incorrect-handling-of-error-cases.patch
new file mode 100644
index 0000000..79ca7d2
--- /dev/null
+++ b/recipes-kernel/cryptodev/sdk_patches/0075-fix-incorrect-handling-of-error-cases.patch
@@ -0,0 +1,27 @@
+From fbf88220797a95281457680a18e9241b3af1f3fb Mon Sep 17 00:00:00 2001
+From: Cristian Stoica <cristian.stoica@nxp.com>
+Date: Thu, 27 Oct 2016 10:27:16 +0300
+Subject: [PATCH 075/104] fix incorrect handling of error cases...
+
+Signed-off-by: Cristian Stoica <cristian.stoica@nxp.com>
+---
+ tests/async_speed_multi.sh | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/tests/async_speed_multi.sh b/tests/async_speed_multi.sh
+index b509c25..862f39d 100755
+--- a/tests/async_speed_multi.sh
++++ b/tests/async_speed_multi.sh
+@@ -117,7 +117,8 @@ function control_c
+ 
+ function main
+ {
+-	[ ! -e "/dev/crypto" ] && sudo modprobe cryptodev || modprobe cryptodev || exit 1
++	[ ! -e "/dev/crypto" ] &&
++		(sudo modprobe cryptodev || modprobe cryptodev || exit 1)
+ 
+ 	rm -f ${OUT_BASENAME}_*
+ 	rm -f ${MPSTAT_OUT}
+-- 
+2.10.2
+
diff --git a/recipes-kernel/cryptodev/sdk_patches/0076-exit-early-if-cryptodev-tests-are-not-installed.patch b/recipes-kernel/cryptodev/sdk_patches/0076-exit-early-if-cryptodev-tests-are-not-installed.patch
new file mode 100644
index 0000000..0570e1a
--- /dev/null
+++ b/recipes-kernel/cryptodev/sdk_patches/0076-exit-early-if-cryptodev-tests-are-not-installed.patch
@@ -0,0 +1,48 @@
+From 87214642cbfc6dbd43948940b5d1ce9528f451bd Mon Sep 17 00:00:00 2001
+From: Cristian Stoica <cristian.stoica@nxp.com>
+Date: Thu, 27 Oct 2016 10:46:01 +0300
+Subject: [PATCH 076/104] exit early if cryptodev tests are not installed
+
+Signed-off-by: Cristian Stoica <cristian.stoica@nxp.com>
+---
+ tests/async_speed_multi.sh | 10 +++++++++-
+ 1 file changed, 9 insertions(+), 1 deletion(-)
+
+diff --git a/tests/async_speed_multi.sh b/tests/async_speed_multi.sh
+index 862f39d..62c4759 100755
+--- a/tests/async_speed_multi.sh
++++ b/tests/async_speed_multi.sh
+@@ -20,6 +20,7 @@
+ # no user-configurable options below this line
+ 
+ NUM_CORES=$(nproc)
++CMD_BIN="async_speed"
+ OUT_BASENAME="async_speed"
+ MPSTAT_OUT="mpstat_out"
+ 
+@@ -56,7 +57,7 @@ function run_parallel
+     trap control_c SIGINT
+ 
+     OPTIONS="-t $tvalue -n $nvalue -m"
+-    CMD="async_speed $OPTIONS $alg_name"
++    CMD="$CMD_BIN $OPTIONS $alg_name"
+ 
+     if [ ! -z "$vvalue" ]
+     then
+@@ -120,6 +121,13 @@ function main
+ 	[ ! -e "/dev/crypto" ] &&
+ 		(sudo modprobe cryptodev || modprobe cryptodev || exit 1)
+ 
++	$(which ${CMD_BIN} &> /dev/null)
++	if (($? != 0))
++	then
++		echo "${CMD_BIN} test is not installed"
++		exit 1
++	fi
++
+ 	rm -f ${OUT_BASENAME}_*
+ 	rm -f ${MPSTAT_OUT}
+ 
+-- 
+2.10.2
+
diff --git a/recipes-kernel/cryptodev/sdk_patches/0077-the-C-standard-used-by-cryptodev-is-C90-with-GNU-ext.patch b/recipes-kernel/cryptodev/sdk_patches/0077-the-C-standard-used-by-cryptodev-is-C90-with-GNU-ext.patch
new file mode 100644
index 0000000..b4ab34c
--- /dev/null
+++ b/recipes-kernel/cryptodev/sdk_patches/0077-the-C-standard-used-by-cryptodev-is-C90-with-GNU-ext.patch
@@ -0,0 +1,66 @@
+From 76de6db1bc69b2239d8fb91fd65b74610cb8e22f Mon Sep 17 00:00:00 2001
+From: Cristian Stoica <cristian.stoica@nxp.com>
+Date: Thu, 27 Oct 2016 16:41:10 +0300
+Subject: [PATCH 077/104] the C standard used by cryptodev is C90 with GNU
+ extensions
+
+This avoids some problems with gcc>=5.0 which chaged the default to C11.
+The choice for gnu90 is based on the C standard used by Linux kernel which
+is gnu90 as well.
+
+Signed-off-by: Cristian Stoica <cristian.stoica@nxp.com>
+---
+ Makefile       | 6 +++---
+ lib/Makefile   | 2 +-
+ tests/Makefile | 2 +-
+ 3 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 90e86d9..80439f6 100644
+--- a/Makefile
++++ b/Makefile
+@@ -3,7 +3,7 @@
+ # disabled by default. To re-enable it uncomment the
+ # corresponding CFLAG.
+ #
+-CRYPTODEV_CFLAGS += -DENABLE_ASYNC
++CRYPTODEV_CFLAGS += -DENABLE_ASYNC -std=gnu90
+ KBUILD_CFLAGS += -I$(src) $(CRYPTODEV_CFLAGS)
+ KERNEL_DIR ?= /lib/modules/$(shell uname -r)/build
+ VERSION = 1.8
+@@ -38,10 +38,10 @@ modules_install:
+ clean:
+ 	$(MAKE) $(KERNEL_MAKE_OPTS) clean
+ 	rm -f $(hostprogs) *~
+-	CFLAGS=$(CRYPTODEV_CFLAGS) KERNEL_DIR=$(KERNEL_DIR) $(MAKE) -C tests clean
++	CFLAGS="$(CRYPTODEV_CFLAGS)" KERNEL_DIR="$(KERNEL_DIR)" $(MAKE) -C tests clean
+ 
+ check:
+-	CFLAGS=$(CRYPTODEV_CFLAGS) KERNEL_DIR=$(KERNEL_DIR) $(MAKE) -C tests check
++	CFLAGS="$(CRYPTODEV_CFLAGS)" KERNEL_DIR="$(KERNEL_DIR)" $(MAKE) -C tests check
+ 
+ testprogs:
+ 	KERNEL_DIR=$(KERNEL_DIR) $(MAKE) -C tests all
+diff --git a/lib/Makefile b/lib/Makefile
+index 3bedc34..0044613 100644
+--- a/lib/Makefile
++++ b/lib/Makefile
+@@ -1,4 +1,4 @@
+-CFLAGS=-g -O2 -Wall
++CFLAGS=-g -O2 -Wall -std=gnu90
+ 
+ all: benchmark
+ 
+diff --git a/tests/Makefile b/tests/Makefile
+index e7a60cb..23d67f9 100644
+--- a/tests/Makefile
++++ b/tests/Makefile
+@@ -1,4 +1,4 @@
+-CRYPTODEV_CFLAGS += -DENABLE_ASYNC -Wall -Werror
++CRYPTODEV_CFLAGS += -DENABLE_ASYNC -std=gnu90 -Wall -Werror
+ CFLAGS += -I.. $(CRYPTODEV_CFLAGS)
+ 
+ comp_progs := cipher_comp hash_comp hmac_comp
+-- 
+2.10.2
+
diff --git a/recipes-kernel/cryptodev/sdk_patches/0078-remove-output-line-because-it-does-not-add-clarity-t.patch b/recipes-kernel/cryptodev/sdk_patches/0078-remove-output-line-because-it-does-not-add-clarity-t.patch
new file mode 100644
index 0000000..3b474a3
--- /dev/null
+++ b/recipes-kernel/cryptodev/sdk_patches/0078-remove-output-line-because-it-does-not-add-clarity-t.patch
@@ -0,0 +1,32 @@
+From 0bd3dada58288792f587712c95a1f125a7655535 Mon Sep 17 00:00:00 2001
+From: Cristian Stoica <cristian.stoica@nxp.com>
+Date: Fri, 28 Oct 2016 09:05:26 +0300
+Subject: [PATCH 078/104] remove output line because it does not add clarity to
+ the results
+
+Signed-off-by: Cristian Stoica <cristian.stoica@nxp.com>
+---
+ tests/async_speed_multi.sh | 7 -------
+ 1 file changed, 7 deletions(-)
+
+diff --git a/tests/async_speed_multi.sh b/tests/async_speed_multi.sh
+index 62c4759..991e190 100755
+--- a/tests/async_speed_multi.sh
++++ b/tests/async_speed_multi.sh
+@@ -59,13 +59,6 @@ function run_parallel
+     OPTIONS="-t $tvalue -n $nvalue -m"
+     CMD="$CMD_BIN $OPTIONS $alg_name"
+ 
+-    if [ ! -z "$vvalue" ]
+-    then
+-       echo
+-       echo "Running $tvalue seconds $mvalue threads in parallel:"
+-       echo "    $CMD"
+-    fi
+-
+     (sleep 1; S_TIME_FORMAT=ISO mpstat 1 $(($tvalue-2))) &> $MPSTAT_OUT &
+     MPSTAT_PID=$!
+ 
+-- 
+2.10.2
+
diff --git a/recipes-kernel/cryptodev/sdk_patches/0079-fix-typo-use-consistent-spacing.patch b/recipes-kernel/cryptodev/sdk_patches/0079-fix-typo-use-consistent-spacing.patch
new file mode 100644
index 0000000..7003692
--- /dev/null
+++ b/recipes-kernel/cryptodev/sdk_patches/0079-fix-typo-use-consistent-spacing.patch
@@ -0,0 +1,28 @@
+From 9c8d7ce749931de6c7604b3b8be44d4a17bcd7d1 Mon Sep 17 00:00:00 2001
+From: Cristian Stoica <cristian.stoica@nxp.com>
+Date: Fri, 28 Oct 2016 09:11:13 +0300
+Subject: [PATCH 079/104] fix typo, use consistent spacing
+
+Signed-off-by: Cristian Stoica <cristian.stoica@nxp.com>
+---
+ tests/async_speed_multi.sh | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/tests/async_speed_multi.sh b/tests/async_speed_multi.sh
+index 991e190..125d45c 100755
+--- a/tests/async_speed_multi.sh
++++ b/tests/async_speed_multi.sh
+@@ -96,8 +96,8 @@ function run_parallel
+ 	echo "all_cpu idle :   $cpu_idle %"
+ 	echo
+     else
+-	echo -e "algorithm\t""threads\t""runtime\t"\
+-	     "buf_size\t""GB/s\t""%cpu_idle"
++	echo -e "algorithm\t""threads\t""run time\t"\
++	     "buffer size\t""GB/s\t""%cpu idle"
+ 	echo -e "${alg_name}\t${mvalue}\t${runtime}\t"\
+ 	     "${nvalue}\t${avg_speed}\t${cpu_idle}"
+     fi
+-- 
+2.10.2
+
diff --git a/recipes-kernel/cryptodev/sdk_patches/0080-graceful-exit-if-cryptodev-is-not-built-with-ASYNC-f.patch b/recipes-kernel/cryptodev/sdk_patches/0080-graceful-exit-if-cryptodev-is-not-built-with-ASYNC-f.patch
new file mode 100644
index 0000000..64450df
--- /dev/null
+++ b/recipes-kernel/cryptodev/sdk_patches/0080-graceful-exit-if-cryptodev-is-not-built-with-ASYNC-f.patch
@@ -0,0 +1,31 @@
+From 9a486f5ebf648971db9bdbd30f7e52251a659ddd Mon Sep 17 00:00:00 2001
+From: Cristian Stoica <cristian.stoica@nxp.com>
+Date: Fri, 28 Oct 2016 12:01:00 +0300
+Subject: [PATCH 080/104] graceful exit if cryptodev is not built with ASYNC
+ flags
+
+---
+ tests/async_speed_multi.sh | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/tests/async_speed_multi.sh b/tests/async_speed_multi.sh
+index 125d45c..f2a8ba6 100755
+--- a/tests/async_speed_multi.sh
++++ b/tests/async_speed_multi.sh
+@@ -82,6 +82,13 @@ function run_parallel
+ 
+     wait $MPSTAT_PID
+ 
++    grep "ioctl" ${OUT_BASENAME}_* &> /dev/null
++    if (($? == 0))
++    then
++	echo "cryptodev is not built with -DENABLE_ASYNC flag"
++	exit 1
++    fi
++
+     runtime=$(echo "scale=2; ($end - $start) / 1" | bc -l )
+     total_data=$(cat ${OUT_BASENAME}_* | cut -f 1 | SUM)
+     avg_speed=$(echo "scale=2; $total_data / $runtime / 1000000000" | bc -l)
+-- 
+2.10.2
+
diff --git a/recipes-kernel/cryptodev/sdk_patches/0081-add-sync-speed-tests-with-the-same-format-as-async-o.patch b/recipes-kernel/cryptodev/sdk_patches/0081-add-sync-speed-tests-with-the-same-format-as-async-o.patch
new file mode 100644
index 0000000..5e8893b
--- /dev/null
+++ b/recipes-kernel/cryptodev/sdk_patches/0081-add-sync-speed-tests-with-the-same-format-as-async-o.patch
@@ -0,0 +1,718 @@
+From b13160357e683b9d42ba513433b4c09456a8332b Mon Sep 17 00:00:00 2001
+From: Alexe Radu <radu.alexe@nxp.com>
+Date: Fri, 28 Oct 2016 13:39:50 +0300
+Subject: [PATCH 081/104] add sync speed tests with the same format as async
+ ones
+
+The file speed.c was removed because has the same functionality
+as sync_speed.c
+
+Signed-off-by: Alexe Radu <radu.alexe@nxp.com>
+---
+ tests/Makefile     |   4 +-
+ tests/speed.c      | 265 -----------------------------------
+ tests/sync_speed.c | 399 +++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 401 insertions(+), 267 deletions(-)
+ delete mode 100644 tests/speed.c
+ create mode 100644 tests/sync_speed.c
+
+diff --git a/tests/Makefile b/tests/Makefile
+index 23d67f9..400fb7a 100644
+--- a/tests/Makefile
++++ b/tests/Makefile
+@@ -3,14 +3,14 @@ CFLAGS += -I.. $(CRYPTODEV_CFLAGS)
+ 
+ comp_progs := cipher_comp hash_comp hmac_comp
+ 
+-hostprogs := cipher cipher-aead hmac speed async_cipher async_hmac \
++hostprogs := cipher cipher-aead hmac sync_speed async_cipher async_hmac \
+ 	async_speed sha_speed hashcrypt_speed fullspeed cipher-gcm \
+ 	cipher-aead-srtp $(comp_progs)
+ 
+ example-cipher-objs := cipher.o
+ example-cipher-aead-objs := cipher-aead.o
+ example-hmac-objs := hmac.o
+-example-speed-objs := speed.c
++example-speed-objs := sync_speed.o
+ example-fullspeed-objs := fullspeed.c
+ example-sha-speed-objs := sha_speed.c
+ example-async-cipher-objs := async_cipher.o
+diff --git a/tests/speed.c b/tests/speed.c
+deleted file mode 100644
+index 0e2bbc3..0000000
+--- a/tests/speed.c
++++ /dev/null
+@@ -1,265 +0,0 @@
+-/*  cryptodev_test - simple benchmark tool for cryptodev
+- *
+- *    Copyright (C) 2010 by Phil Sutter <phil.sutter@viprinet.com>
+- *
+- *  This program is free software; you can redistribute it and/or modify
+- *  it under the terms of the GNU General Public License as published by
+- *  the Free Software Foundation; either version 2 of the License, or
+- *  (at your option) any later version.
+- *
+- *  This program is distributed in the hope that it will be useful,
+- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+- *  GNU General Public License for more details.
+- *
+- *  You should have received a copy of the GNU General Public License
+- *  along with this program; if not, write to the Free Software
+- *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+- */
+-#include <fcntl.h>
+-#include <stdio.h>
+-#include <stdlib.h>
+-#include <string.h>
+-#include <sys/ioctl.h>
+-#include <sys/time.h>
+-#include <sys/types.h>
+-#include <signal.h>
+-#include <unistd.h>
+-#include <stdint.h>
+-
+-#include <crypto/cryptodev.h>
+-
+-static int si = 1; /* SI by default */
+-
+-static double udifftimeval(struct timeval start, struct timeval end)
+-{
+-	return (double)(end.tv_usec - start.tv_usec) +
+-	       (double)(end.tv_sec - start.tv_sec) * 1000 * 1000;
+-}
+-
+-static int must_finish = 0;
+-
+-static void alarm_handler(int signo)
+-{
+-        must_finish = 1;
+-}
+-
+-static char *units[] = { "", "Ki", "Mi", "Gi", "Ti", 0};
+-static char *si_units[] = { "", "K", "M", "G", "T", 0};
+-
+-static void value2human(int si, double bytes, double time, double* data, double* speed,char* metric)
+-{
+-	int unit = 0;
+-
+-	*data = bytes;
+-	
+-	if (si) {
+-		while (*data > 1000 && si_units[unit + 1]) {
+-			*data /= 1000;
+-			unit++;
+-		}
+-		*speed = *data / time;
+-		sprintf(metric, "%sB", si_units[unit]);
+-	} else {
+-		while (*data > 1024 && units[unit + 1]) {
+-			*data /= 1024;
+-			unit++;
+-		}
+-		*speed = *data / time;
+-		sprintf(metric, "%sB", units[unit]);
+-	}
+-}
+-
+-#define MAX(x,y) ((x)>(y)?(x):(y))
+-
+-int encrypt_data(struct session_op *sess, int fdc, int chunksize, int alignmask)
+-{
+-	struct crypt_op cop;
+-	char *buffer, iv[32];
+-	uint8_t mac[HASH_MAX_LEN];
+-	static int val = 23;
+-	struct timeval start, end;
+-	double total = 0;
+-	double secs, ddata, dspeed;
+-	char metric[16];
+-	int min_alignmask = sizeof(void*) - 1;
+-
+-	if (alignmask) {
+-		alignmask = ((alignmask < min_alignmask) ? min_alignmask : alignmask);
+-		if (posix_memalign((void **)&buffer, MAX(alignmask + 1, sizeof(void*)), chunksize)) {
+-			printf("posix_memalign() failed! (mask %x, size: %d)\n", alignmask+1, chunksize);
+-			return 1;
+-		}
+-	} else {
+-		if (!(buffer = malloc(chunksize))) {
+-			perror("malloc()");
+-			return 1;
+-		}
+-	}
+-
+-	memset(iv, 0x23, 32);
+-
+-	printf("\tEncrypting in chunks of %d bytes: ", chunksize);
+-	fflush(stdout);
+-
+-	memset(buffer, val++, chunksize);
+-
+-	must_finish = 0;
+-	alarm(5);
+-
+-	gettimeofday(&start, NULL);
+-	do {
+-		memset(&cop, 0, sizeof(cop));
+-		cop.ses = sess->ses;
+-		cop.len = chunksize;
+-		cop.iv = (unsigned char *)iv;
+-		cop.op = COP_ENCRYPT;
+-		cop.src = cop.dst = (unsigned char *)buffer;
+-		cop.mac = mac;
+-
+-		if (ioctl(fdc, CIOCCRYPT, &cop)) {
+-			perror("ioctl(CIOCCRYPT)");
+-			return 1;
+-		}
+-		total+=chunksize;
+-	} while(must_finish==0);
+-	gettimeofday(&end, NULL);
+-
+-	secs = udifftimeval(start, end)/ 1000000.0;
+-
+-	value2human(si, total, secs, &ddata, &dspeed, metric);
+-	printf ("done. %.2f %s in %.2f secs: ", ddata, metric, secs);
+-	printf ("%.2f %s/sec\n", dspeed, metric);
+-
+-	free(buffer);
+-	return 0;
+-}
+-
+-int main(int argc, char** argv)
+-{
+-	int fd, i, fdc = -1, alignmask = 0;
+-	struct session_op sess;
+-#ifdef CIOCGSESSINFO
+-	struct session_info_op siop;
+-#endif
+-	char keybuf[32];
+-
+-	signal(SIGALRM, alarm_handler);
+-	
+-	if (argc > 1) {
+-		if (strcmp(argv[1], "--help") == 0 || strcmp(argv[1], "-h") == 0) {
+-			printf("Usage: speed [--kib]\n");
+-			exit(0);
+-		}
+-		if (strcmp(argv[1], "--kib") == 0) {
+-			si = 0;
+-		}
+-	}
+-
+-	if ((fd = open("/dev/crypto", O_RDWR, 0)) < 0) {
+-		perror("open()");
+-		return 1;
+-	}
+-	if (ioctl(fd, CRIOGET, &fdc)) {
+-		perror("ioctl(CRIOGET)");
+-		return 1;
+-	}
+-
+-	fprintf(stderr, "Testing NULL cipher: \n");
+-	memset(&sess, 0, sizeof(sess));
+-	sess.cipher = CRYPTO_NULL;
+-	sess.keylen = 0;
+-	sess.key = (unsigned char *)keybuf;
+-	if (ioctl(fdc, CIOCGSESSION, &sess)) {
+-		perror("ioctl(CIOCGSESSION)");
+-		return 1;
+-	}
+-#ifdef CIOCGSESSINFO
+-	siop.ses = sess.ses;
+-	if (ioctl(fdc, CIOCGSESSINFO, &siop)) {
+-		perror("ioctl(CIOCGSESSINFO)");
+-		return 1;
+-	}
+-	alignmask = siop.alignmask;
+-#endif
+-
+-	for (i = 512; i <= (64 * 1024); i *= 2) {
+-		if (encrypt_data(&sess, fdc, i, alignmask))
+-			break;
+-	}
+-
+-	fprintf(stderr, "\nTesting AES-128-CBC cipher: \n");
+-	memset(&sess, 0, sizeof(sess));
+-	sess.cipher = CRYPTO_AES_CBC;
+-	sess.keylen = 16;
+-	memset(keybuf, 0x42, 16);
+-	sess.key = (unsigned char *)keybuf;
+-	if (ioctl(fdc, CIOCGSESSION, &sess)) {
+-		perror("ioctl(CIOCGSESSION)");
+-		return 1;
+-	}
+-#ifdef CIOCGSESSINFO
+-	siop.ses = sess.ses;
+-	if (ioctl(fdc, CIOCGSESSINFO, &siop)) {
+-		perror("ioctl(CIOCGSESSINFO)");
+-		return 1;
+-	}
+-	alignmask = siop.alignmask;
+-#endif
+-
+-	for (i = 512; i <= (64 * 1024); i *= 2) {
+-		if (encrypt_data(&sess, fdc, i, alignmask))
+-			break;
+-	}
+-
+-	fprintf(stderr, "\nTesting AES-256-XTS cipher: \n");
+-	memset(&sess, 0, sizeof(sess));
+-	sess.cipher = CRYPTO_AES_XTS;
+-	sess.keylen = 32;
+-	memset(keybuf, 0x42, sess.keylen);
+-	sess.key = (unsigned char *)keybuf;
+-	if (ioctl(fdc, CIOCGSESSION, &sess)) {
+-		perror("ioctl(CIOCGSESSION)");
+-		return 1;
+-	}
+-#ifdef CIOCGSESSINFO
+-	siop.ses = sess.ses;
+-	if (ioctl(fdc, CIOCGSESSINFO, &siop)) {
+-		perror("ioctl(CIOCGSESSINFO)");
+-		return 1;
+-	}
+-	alignmask = siop.alignmask;
+-#endif
+-
+-	for (i = 512; i <= (64 * 1024); i *= 2) {
+-		if (encrypt_data(&sess, fdc, i, alignmask))
+-			break;
+-	}
+-
+-	fprintf(stderr, "\nTesting CRC32C hash: \n");
+-	memset(&sess, 0, sizeof(sess));
+-	sess.mac = CRYPTO_CRC32C;
+-	if (ioctl(fdc, CIOCGSESSION, &sess)) {
+-		perror("ioctl(CIOCGSESSION)");
+-		return 1;
+-	}
+-#ifdef CIOCGSESSINFO
+-	siop.ses = sess.ses;
+-	if (ioctl(fdc, CIOCGSESSINFO, &siop)) {
+-		perror("ioctl(CIOCGSESSINFO)");
+-		return 1;
+-	}
+-	printf("requested hash CRYPTO_CRC32C, got %s with driver %s\n",
+-			siop.hash_info.cra_name, siop.hash_info.cra_driver_name);
+-	alignmask = siop.alignmask;
+-#endif
+-
+-	for (i = 512; i <= (64 * 1024); i *= 2) {
+-		if (encrypt_data(&sess, fdc, i, alignmask))
+-			break;
+-	}
+-
+-	close(fdc);
+-	close(fd);
+-	return 0;
+-}
+diff --git a/tests/sync_speed.c b/tests/sync_speed.c
+new file mode 100644
+index 0000000..b0cb9ad
+--- /dev/null
++++ b/tests/sync_speed.c
+@@ -0,0 +1,399 @@
++/*  cryptodev_test - simple benchmark tool for cryptodev
++ *
++ *    Copyright (C) 2010 by Phil Sutter <phil.sutter@viprinet.com>
++ *
++ *  This program is free software; you can redistribute it and/or modify
++ *  it under the terms of the GNU General Public License as published by
++ *  the Free Software Foundation; either version 2 of the License, or
++ *  (at your option) any later version.
++ *
++ *  This program is distributed in the hope that it will be useful,
++ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
++ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ *  GNU General Public License for more details.
++ *
++ *  You should have received a copy of the GNU General Public License
++ *  along with this program; if not, write to the Free Software
++ *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
++ */
++#include <errno.h>
++#include <fcntl.h>
++#include <poll.h>
++#include <stdio.h>
++#include <stdlib.h>
++#include <string.h>
++#include <sys/ioctl.h>
++#include <sys/time.h>
++#include <sys/types.h>
++#include <signal.h>
++#include <crypto/cryptodev.h>
++#include <stdbool.h>
++#include <unistd.h>
++
++struct test_params {
++	bool tflag;
++	bool nflag;
++	int tvalue;
++	int nvalue;
++};
++
++const char usage_str[] = "Usage: %s [OPTION]... <cipher>|<hash>\n"
++	"Run benchmark test for cipher or hash\n\n"
++	"  -t <secs>\t" "time to run each test (default 10 secs)\n"
++	"  -n <bytes>\t" "size of the test buffer\n"
++	"  -h\t\t" "show this help\n"
++;
++
++int run_null(int fdc, struct test_params tp);
++int run_aes_cbc(int fdc, struct test_params tp);
++int run_aes_xts(int fdc, struct test_params tp);
++int run_crc32c(int fdc, struct test_params tp);
++int run_sha1(int fdc, struct test_params tp);
++int run_sha256(int fdc, struct test_params tp);
++int get_alignmask(int fdc, struct session_op *sess);
++
++#define ALG_COUNT	6
++struct {
++	char *name;
++	int (*func)(int, struct test_params);
++} ciphers[ALG_COUNT] = {
++	{"null",	run_null},
++	{"aes-cbc",	run_aes_cbc},
++	{"aes-xts",	run_aes_xts},
++	{"crc32c",	run_crc32c},
++	{"sha1",	run_sha1},
++	{"sha256",	run_sha256},
++};
++
++static double udifftimeval(struct timeval start, struct timeval end)
++{
++	return (double)(end.tv_usec - start.tv_usec) +
++	       (double)(end.tv_sec - start.tv_sec) * 1000 * 1000;
++}
++
++static int must_finish = 0;
++static int must_exit = 0;
++
++static void alarm_handler(int signo)
++{
++        must_finish = 1;
++}
++
++static void exit_handler(int signo)
++{
++	must_exit = 1;
++	printf("\nexit requested by user through ctrl+c \n");
++}
++
++static char *units[] = { "", "Ki", "Mi", "Gi", "Ti", 0};
++
++static void value2human(double bytes, double time, double* data, double* speed,char* metric)
++{
++	int unit = 0;
++
++	*data = bytes;
++	while (*data > 1024 && units[unit + 1]) {
++		*data /= 1024;
++		unit++;
++	}
++	*speed = *data / time;
++	sprintf(metric, "%sB", units[unit]);
++}
++
++static int encrypt_data(int fdc, struct test_params tp, struct session_op *sess)
++{
++	struct crypt_op cop;
++	char *buffer, iv[32];
++	char mac[HASH_MAX_LEN];
++	static int val = 23;
++	struct timeval start, end;
++	double total = 0;
++	double secs, ddata, dspeed;
++	char metric[16];
++	int alignmask;
++	int min_alignmask = sizeof(void*) - 1;
++
++	memset(iv, 0x23, 32);
++
++	printf("\tEncrypting in chunks of %d bytes: ", tp.nvalue);
++	fflush(stdout);
++
++	alignmask = get_alignmask(fdc, sess);
++	if (alignmask) {
++		alignmask = ((alignmask < min_alignmask) ? min_alignmask : alignmask);
++		if (posix_memalign((void **)(&buffer), alignmask + 1, tp.nvalue)) {
++			printf("posix_memalign() failed!\n");
++			return 1;
++		}
++	} else {
++		if (!(buffer = malloc(tp.nvalue))) {
++			perror("malloc()");
++			return 1;
++		}
++	}
++	memset(buffer, val++, tp.nvalue);
++	
++	must_finish = 0;
++	alarm(tp.tvalue);
++
++	gettimeofday(&start, NULL);
++	do {
++		memset(&cop, 0, sizeof(cop));
++		cop.ses = sess->ses;
++		cop.len = tp.nvalue;
++		cop.iv = (unsigned char *)iv;
++		cop.op = COP_ENCRYPT;
++		cop.src = cop.dst = (unsigned char *)buffer;
++		cop.mac = (unsigned char *)mac;
++
++		if (ioctl(fdc, CIOCCRYPT, &cop)) {
++			perror("ioctl(CIOCCRYPT)");
++			return 1;
++		}
++		total += cop.len;
++	} while(!must_finish);
++	gettimeofday(&end, NULL);
++
++	secs = udifftimeval(start, end)/ 1000000.0;
++
++	value2human(total, secs, &ddata, &dspeed, metric);
++	printf ("done. %.2f %s in %.2f secs: ", ddata, metric, secs);
++	printf ("%.2f %s/sec\n", dspeed, metric);
++
++	free(buffer);
++	return 0;
++}
++
++void usage(char *cmd_name)
++{
++	printf(usage_str, cmd_name);
++}
++
++int run_test(int id, struct test_params tp)
++{
++	int fd;
++	int fdc;
++
++	fd = open("/dev/crypto", O_RDWR, 0);
++	if (fd < 0) {
++		perror("open()");
++		return fd;
++	}
++	if (ioctl(fd, CRIOGET, &fdc)) {
++		perror("ioctl(CRIOGET)");
++		return -EINVAL;
++	}
++
++	ciphers[id].func(fdc, tp);
++
++	close(fdc);
++	close(fd);
++
++	return 0;
++}
++
++int get_alignmask(int fdc, struct session_op *sess)
++{
++	int alignmask;
++
++#ifdef CIOCGSESSINFO
++	struct session_info_op siop;
++
++	siop.ses = sess->ses;
++	if (ioctl(fdc, CIOCGSESSINFO, &siop)) {
++		perror("ioctl(CIOCGSESSINFO)");
++		return -EINVAL;
++	}
++	alignmask = siop.alignmask;
++#else
++	alignmask = 0;
++#endif
++
++	return alignmask;
++}
++
++void do_test_vectors(int fdc, struct test_params tp, struct session_op *sess)
++{
++	int i;
++
++	if (tp.nflag) {
++		encrypt_data(fdc, tp, sess);
++	} else {
++		for (i = 256; i <= (64 * 1024); i *= 2) {
++			if (must_exit)
++				break;
++
++			tp.nvalue = i;
++			if (encrypt_data(fdc, tp, sess)) {
++				break;
++			}
++		}
++	}
++}
++
++
++int run_null(int fdc, struct test_params tp)
++{
++	struct session_op sess;
++	char keybuf[32];
++
++	fprintf(stderr, "Testing NULL cipher: \n");
++	memset(&sess, 0, sizeof(sess));
++	sess.cipher = CRYPTO_NULL;
++	sess.keylen = 0;
++	sess.key = (unsigned char *)keybuf;
++	if (ioctl(fdc, CIOCGSESSION, &sess)) {
++		perror("ioctl(CIOCGSESSION)");
++		return -EINVAL;
++	}
++
++	do_test_vectors(fdc, tp, &sess);
++	return 0;
++}
++
++int run_aes_cbc(int fdc, struct test_params tp)
++{
++	struct session_op sess;
++	char keybuf[32];
++
++	fprintf(stderr, "\nTesting AES-128-CBC cipher: \n");
++	memset(&sess, 0, sizeof(sess));
++	sess.cipher = CRYPTO_AES_CBC;
++	sess.keylen = 16;
++	memset(keybuf, 0x42, 16);
++	sess.key = (unsigned char *)keybuf;
++	if (ioctl(fdc, CIOCGSESSION, &sess)) {
++		perror("ioctl(CIOCGSESSION)");
++		return -EINVAL;
++	}
++
++	do_test_vectors(fdc, tp, &sess);
++	return 0;
++}
++
++int run_aes_xts(int fdc, struct test_params tp)
++{
++	struct session_op sess;
++	char keybuf[32];
++
++	fprintf(stderr, "\nTesting AES-256-XTS cipher: \n");
++	memset(&sess, 0, sizeof(sess));
++	sess.cipher = CRYPTO_AES_XTS;
++	sess.keylen = 32;
++	memset(keybuf, 0x42, sess.keylen);
++	sess.key = (unsigned char *)keybuf;
++	if (ioctl(fdc, CIOCGSESSION, &sess)) {
++		perror("ioctl(CIOCGSESSION)");
++		return -EINVAL;
++	}
++
++	do_test_vectors(fdc, tp, &sess);
++	return 0;
++}
++
++int run_crc32c(int fdc, struct test_params tp)
++{
++	struct session_op sess;
++
++	fprintf(stderr, "\nTesting CRC32C hash: \n");
++	memset(&sess, 0, sizeof(sess));
++	sess.mac = CRYPTO_CRC32C;
++	if (ioctl(fdc, CIOCGSESSION, &sess)) {
++		perror("ioctl(CIOCGSESSION)");
++		return 1;
++	}
++
++	do_test_vectors(fdc, tp, &sess);
++	return 0;
++}
++
++int run_sha1(int fdc, struct test_params tp)
++{
++	struct session_op sess;
++
++	fprintf(stderr, "\nTesting SHA-1 hash: \n");
++	memset(&sess, 0, sizeof(sess));
++	sess.mac = CRYPTO_SHA1;
++	if (ioctl(fdc, CIOCGSESSION, &sess)) {
++		perror("ioctl(CIOCGSESSION)");
++		return 1;
++	}
++
++	do_test_vectors(fdc, tp, &sess);
++	return 0;
++}
++
++int run_sha256(int fdc, struct test_params tp)
++{
++	struct session_op sess;
++
++	fprintf(stderr, "\nTesting SHA2-256 hash: \n");
++	memset(&sess, 0, sizeof(sess));
++	sess.mac = CRYPTO_SHA2_256;
++	if (ioctl(fdc, CIOCGSESSION, &sess)) {
++		perror("ioctl(CIOCGSESSION)");
++		return 1;
++	}
++
++	do_test_vectors(fdc, tp, &sess);
++	return 0;
++}
++
++int main(int argc, char **argv)
++{
++	int i;
++	int c;
++	bool alg_flag;
++	char *alg_name;
++	struct test_params tp;
++
++	tp.tflag = false;
++	tp.nflag = false;
++	alg_flag = false;
++	opterr = 0;
++	while ((c = getopt(argc, argv, "hn:t:")) != -1) {
++		switch (c) {
++		case 'n':
++			tp.nvalue = atoi(optarg);
++			tp.nflag = true;
++			break;
++		case 't':
++			tp.tvalue = atoi(optarg);
++			tp.tflag = true;
++			break;
++		case 'h': /* no break */
++		default:
++			usage(argv[0]);
++			exit(1);
++		}
++	}
++
++	/* the name of a specific test asked on the command line */
++	if (optind < argc) {
++		alg_name = argv[optind];
++		alg_flag = true;
++	}
++
++	/* default test time */
++	if (!tp.tflag) {
++		tp.tvalue = 5;
++	}
++
++	signal(SIGALRM, alarm_handler);
++	signal(SIGINT, exit_handler);
++
++	for (i = 0; i < ALG_COUNT; i++) {
++		if (must_exit)
++			break;
++
++		if (alg_flag) {
++			if (strcmp(alg_name, ciphers[i].name) == 0) {
++				run_test(i, tp);
++			}
++		} else {
++			run_test(i, tp);
++		}
++	}
++
++	return 0;
++}
+-- 
+2.10.2
+
diff --git a/recipes-kernel/cryptodev/sdk_patches/0082-force-LC_TIME-value-to-avoid-mpstat-not-using-ISO860.patch b/recipes-kernel/cryptodev/sdk_patches/0082-force-LC_TIME-value-to-avoid-mpstat-not-using-ISO860.patch
new file mode 100644
index 0000000..6f3df51
--- /dev/null
+++ b/recipes-kernel/cryptodev/sdk_patches/0082-force-LC_TIME-value-to-avoid-mpstat-not-using-ISO860.patch
@@ -0,0 +1,31 @@
+From eee8668c6f0e558e77533edb80c1ca7d4dc486e2 Mon Sep 17 00:00:00 2001
+From: Cristian Stoica <cristian.stoica@nxp.com>
+Date: Fri, 28 Oct 2016 17:00:29 +0300
+Subject: [PATCH 082/104] force LC_TIME value to avoid mpstat not using ISO8601
+ format
+
+(not everybody has this locale - silent warnings on some systems)
+
+Signed-off-by: Cristian Stoica <cristian.stoica@nxp.com>
+---
+ tests/async_speed_multi.sh | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/tests/async_speed_multi.sh b/tests/async_speed_multi.sh
+index f2a8ba6..1901620 100755
+--- a/tests/async_speed_multi.sh
++++ b/tests/async_speed_multi.sh
+@@ -24,6 +24,10 @@ CMD_BIN="async_speed"
+ OUT_BASENAME="async_speed"
+ MPSTAT_OUT="mpstat_out"
+ 
++# A bigger hammer for mpstat to use ISO8601 time format (fixed in 11.2.2)
++export LC_TIME=en_GB.UTF-8 &> /dev/null
++
++
+ function usage
+ {
+ cat << EOF
+-- 
+2.10.2
+
diff --git a/recipes-kernel/cryptodev/sdk_patches/0083-use-the-same-algorithm-names-in-sync_speed-as-in-asy.patch b/recipes-kernel/cryptodev/sdk_patches/0083-use-the-same-algorithm-names-in-sync_speed-as-in-asy.patch
new file mode 100644
index 0000000..13dde81
--- /dev/null
+++ b/recipes-kernel/cryptodev/sdk_patches/0083-use-the-same-algorithm-names-in-sync_speed-as-in-asy.patch
@@ -0,0 +1,58 @@
+From a6e777aba434533f726bc9d34b074b7f36429126 Mon Sep 17 00:00:00 2001
+From: Cristian Stoica <cristian.stoica@nxp.com>
+Date: Fri, 28 Oct 2016 17:23:27 +0300
+Subject: [PATCH 083/104] use the same algorithm names in sync_speed as in
+ async_speed
+
+Signed-off-by: Cristian Stoica <cristian.stoica@nxp.com>
+---
+ tests/sync_speed.c | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/tests/sync_speed.c b/tests/sync_speed.c
+index b0cb9ad..56cd3aa 100644
+--- a/tests/sync_speed.c
++++ b/tests/sync_speed.c
+@@ -45,8 +45,8 @@ const char usage_str[] = "Usage: %s [OPTION]... <cipher>|<hash>\n"
+ ;
+ 
+ int run_null(int fdc, struct test_params tp);
+-int run_aes_cbc(int fdc, struct test_params tp);
+-int run_aes_xts(int fdc, struct test_params tp);
++int run_aes_128_cbc(int fdc, struct test_params tp);
++int run_aes_256_xts(int fdc, struct test_params tp);
+ int run_crc32c(int fdc, struct test_params tp);
+ int run_sha1(int fdc, struct test_params tp);
+ int run_sha256(int fdc, struct test_params tp);
+@@ -58,8 +58,8 @@ struct {
+ 	int (*func)(int, struct test_params);
+ } ciphers[ALG_COUNT] = {
+ 	{"null",	run_null},
+-	{"aes-cbc",	run_aes_cbc},
+-	{"aes-xts",	run_aes_xts},
++	{"aes-128-cbc",	run_aes_128_cbc},
++	{"aes-256-xts",	run_aes_256_xts},
+ 	{"crc32c",	run_crc32c},
+ 	{"sha1",	run_sha1},
+ 	{"sha256",	run_sha256},
+@@ -251,7 +251,7 @@ int run_null(int fdc, struct test_params tp)
+ 	return 0;
+ }
+ 
+-int run_aes_cbc(int fdc, struct test_params tp)
++int run_aes_128_cbc(int fdc, struct test_params tp)
+ {
+ 	struct session_op sess;
+ 	char keybuf[32];
+@@ -271,7 +271,7 @@ int run_aes_cbc(int fdc, struct test_params tp)
+ 	return 0;
+ }
+ 
+-int run_aes_xts(int fdc, struct test_params tp)
++int run_aes_256_xts(int fdc, struct test_params tp)
+ {
+ 	struct session_op sess;
+ 	char keybuf[32];
+-- 
+2.10.2
+
diff --git a/recipes-kernel/cryptodev/sdk_patches/0084-fix-ignored-SIGALRM-signals-on-some-platforms.patch b/recipes-kernel/cryptodev/sdk_patches/0084-fix-ignored-SIGALRM-signals-on-some-platforms.patch
new file mode 100644
index 0000000..aa05f98
--- /dev/null
+++ b/recipes-kernel/cryptodev/sdk_patches/0084-fix-ignored-SIGALRM-signals-on-some-platforms.patch
@@ -0,0 +1,44 @@
+From 1bcef054cfc094e51c9c3cb1048b8bf909326082 Mon Sep 17 00:00:00 2001
+From: Cristian Stoica <cristian.stoica@nxp.com>
+Date: Fri, 28 Oct 2016 17:41:09 +0300
+Subject: [PATCH 084/104] fix ignored SIGALRM signals on some platforms
+
+Signed-off-by: Cristian Stoica <cristian.stoica@nxp.com>
+---
+ tests/async_speed.c | 4 ++--
+ tests/sync_speed.c  | 4 ++--
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/tests/async_speed.c b/tests/async_speed.c
+index d843c02..eb8468d 100644
+--- a/tests/async_speed.c
++++ b/tests/async_speed.c
+@@ -76,8 +76,8 @@ static double udifftimeval(struct timeval start, struct timeval end)
+ 	       (double)(end.tv_sec - start.tv_sec) * 1000 * 1000;
+ }
+ 
+-static int must_finish = 0;
+-static int must_exit = 0;
++static volatile int must_finish;
++static volatile int must_exit;
+ static struct pollfd pfd;
+ 
+ static void alarm_handler(int signo)
+diff --git a/tests/sync_speed.c b/tests/sync_speed.c
+index 56cd3aa..ba1d170 100644
+--- a/tests/sync_speed.c
++++ b/tests/sync_speed.c
+@@ -71,8 +71,8 @@ static double udifftimeval(struct timeval start, struct timeval end)
+ 	       (double)(end.tv_sec - start.tv_sec) * 1000 * 1000;
+ }
+ 
+-static int must_finish = 0;
+-static int must_exit = 0;
++static volatile int must_finish;
++static volatile int must_exit;
+ 
+ static void alarm_handler(int signo)
+ {
+-- 
+2.10.2
+
diff --git a/recipes-kernel/cryptodev/sdk_patches/0085-add-notes-about-configured-limits-in-SEC-driver.patch b/recipes-kernel/cryptodev/sdk_patches/0085-add-notes-about-configured-limits-in-SEC-driver.patch
new file mode 100644
index 0000000..23f4b54
--- /dev/null
+++ b/recipes-kernel/cryptodev/sdk_patches/0085-add-notes-about-configured-limits-in-SEC-driver.patch
@@ -0,0 +1,56 @@
+From b682119d432af1190699c56039f6584ac83ae7b9 Mon Sep 17 00:00:00 2001
+From: Cristian Stoica <cristian.stoica@nxp.com>
+Date: Fri, 28 Oct 2016 18:03:07 +0300
+Subject: [PATCH 085/104] add notes about configured limits in SEC driver
+
+Signed-off-by: Cristian Stoica <cristian.stoica@nxp.com>
+---
+ tests/async_speed.c        | 3 ++-
+ tests/async_speed_multi.sh | 2 ++
+ tests/sync_speed.c         | 3 ++-
+ 3 files changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/tests/async_speed.c b/tests/async_speed.c
+index eb8468d..d16d17e 100644
+--- a/tests/async_speed.c
++++ b/tests/async_speed.c
+@@ -47,7 +47,8 @@ const char usage_str[] = "Usage: %s [OPTION]... <cipher>|<hash>\n"
+ 	"  -t <secs>\t" "time to run each test (default 10 secs)\n"
+ 	"  -n <bytes>\t" "size of the test buffer\n"
+ 	"  -m\t\t" "output in a machine readable format\n"
+-	"  -h\t\t" "show this help\n"
++	"  -h\t\t" "show this help\n\n"
++	"Note: SEC driver is configured to support buffers smaller than 512K\n"
+ ;
+ 
+ int run_null(int fdc, struct test_params tp);
+diff --git a/tests/async_speed_multi.sh b/tests/async_speed_multi.sh
+index 1901620..f83e362 100755
+--- a/tests/async_speed_multi.sh
++++ b/tests/async_speed_multi.sh
+@@ -40,6 +40,8 @@ Usage: `basename $0` [OPTIONS] <alg_name>
+   -h              show this help
+ 
+ alg_name: null, aes-128-cbc, aes-256-xts, sha1, sha256, crc32c
++
++Note: SEC driver is configured to support buffers smaller than 512K
+ EOF
+ }
+ 
+diff --git a/tests/sync_speed.c b/tests/sync_speed.c
+index ba1d170..ceae645 100644
+--- a/tests/sync_speed.c
++++ b/tests/sync_speed.c
+@@ -41,7 +41,8 @@ const char usage_str[] = "Usage: %s [OPTION]... <cipher>|<hash>\n"
+ 	"Run benchmark test for cipher or hash\n\n"
+ 	"  -t <secs>\t" "time to run each test (default 10 secs)\n"
+ 	"  -n <bytes>\t" "size of the test buffer\n"
+-	"  -h\t\t" "show this help\n"
++	"  -h\t\t" "show this help\n\n"
++	"Note: SEC driver is configured to support buffers smaller than 512K\n"
+ ;
+ 
+ int run_null(int fdc, struct test_params tp);
+-- 
+2.10.2
+
diff --git a/recipes-kernel/cryptodev/sdk_patches/0086-add-a-wrapper-script-for-running-all-tests.patch b/recipes-kernel/cryptodev/sdk_patches/0086-add-a-wrapper-script-for-running-all-tests.patch
new file mode 100644
index 0000000..3e781aa
--- /dev/null
+++ b/recipes-kernel/cryptodev/sdk_patches/0086-add-a-wrapper-script-for-running-all-tests.patch
@@ -0,0 +1,58 @@
+From fc04b5a05fd4ab1fc0f581b52d52db7c709dfc6a Mon Sep 17 00:00:00 2001
+From: Cristian Stoica <cristian.stoica@nxp.com>
+Date: Fri, 28 Oct 2016 18:55:09 +0300
+Subject: [PATCH 086/104] add a wrapper script for running all tests
+
+Signed-off-by: Cristian Stoica <cristian.stoica@nxp.com>
+---
+ tests/Makefile            |  1 +
+ tests/run_crypto_tests.sh | 25 +++++++++++++++++++++++++
+ 2 files changed, 26 insertions(+)
+ create mode 100644 tests/run_crypto_tests.sh
+
+diff --git a/tests/Makefile b/tests/Makefile
+index 400fb7a..51469e8 100644
+--- a/tests/Makefile
++++ b/tests/Makefile
+@@ -39,6 +39,7 @@ install:
+ 		install -m 755 $$prog $(DESTDIR)/$(bindir)/tests_cryptodev/; \
+ 	done
+ 	install -m 755 async_speed_multi.sh  $(DESTDIR)/$(bindir)
++	install -m 755 run_crypto_tests.sh  $(DESTDIR)/$(bindir)
+ 
+ clean:
+ 	rm -f *.o *~ $(hostprogs)
+diff --git a/tests/run_crypto_tests.sh b/tests/run_crypto_tests.sh
+new file mode 100644
+index 0000000..32ab8e2
+--- /dev/null
++++ b/tests/run_crypto_tests.sh
+@@ -0,0 +1,25 @@
++#!/bin/bash
++
++
++BUF_SIZE="8192 16384 65536 131072 262144"
++THREAD_CNT="1 8 12"
++ALG_NAMES="aes-128-cbc aes-256-xts sha1 sha256 crc32c"
++
++#restool dpseci create --num-queues=8 --priorities=1,2,3,4,5,6,7,8
++#restool dprc assign dprc.1 --object=dpseci.0 --plugged=1
++
++
++#grep DPIO /proc/interrupts
++for alg_name in ${ALG_NAMES}
++do
++	for multi in ${THREAD_CNT}
++	do
++		for bsize in ${BUF_SIZE}
++		do
++			async_speed_multi.sh -t 10 -n $bsize -m ${multi} ${alg_name} |
++			tail -n 1
++		done
++	done
++done
++
++#grep DPIO /proc/interrupts
+-- 
+2.10.2
+
diff --git a/recipes-kernel/cryptodev/sdk_patches/0087-add-to-cpu-idle-for-convenience.patch b/recipes-kernel/cryptodev/sdk_patches/0087-add-to-cpu-idle-for-convenience.patch
new file mode 100644
index 0000000..edd47f7
--- /dev/null
+++ b/recipes-kernel/cryptodev/sdk_patches/0087-add-to-cpu-idle-for-convenience.patch
@@ -0,0 +1,26 @@
+From a2894f645e972b7dfc97b59ea1c1e91e741c04d1 Mon Sep 17 00:00:00 2001
+From: Cristian Stoica <cristian.stoica@nxp.com>
+Date: Fri, 28 Oct 2016 19:07:29 +0300
+Subject: [PATCH 087/104] add % to cpu idle for convenience
+
+Signed-off-by: Cristian Stoica <cristian.stoica@nxp.com>
+---
+ tests/async_speed_multi.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tests/async_speed_multi.sh b/tests/async_speed_multi.sh
+index f83e362..90f9b72 100755
+--- a/tests/async_speed_multi.sh
++++ b/tests/async_speed_multi.sh
+@@ -112,7 +112,7 @@ function run_parallel
+ 	echo -e "algorithm\t""threads\t""run time\t"\
+ 	     "buffer size\t""GB/s\t""%cpu idle"
+ 	echo -e "${alg_name}\t${mvalue}\t${runtime}\t"\
+-	     "${nvalue}\t${avg_speed}\t${cpu_idle}"
++	     "${nvalue}\t${avg_speed}\t${cpu_idle}%"
+     fi
+ }
+ 
+-- 
+2.10.2
+
diff --git a/recipes-kernel/cryptodev/sdk_patches/0088-merge-sync-and-async-benchmarks-into-a-single-progra.patch b/recipes-kernel/cryptodev/sdk_patches/0088-merge-sync-and-async-benchmarks-into-a-single-progra.patch
new file mode 100644
index 0000000..9f7709b
--- /dev/null
+++ b/recipes-kernel/cryptodev/sdk_patches/0088-merge-sync-and-async-benchmarks-into-a-single-progra.patch
@@ -0,0 +1,1858 @@
+From a7e42a9c9a2cd4b4ffd369ae57dfbd207536766a Mon Sep 17 00:00:00 2001
+From: Cristian Stoica <cristian.stoica@nxp.com>
+Date: Tue, 1 Nov 2016 12:01:33 +0200
+Subject: [PATCH 088/104] merge sync and async benchmarks into a single program
+
+Signed-off-by: Cristian Stoica <cristian.stoica@nxp.com>
+---
+ tests/Makefile             |   9 +-
+ tests/async_speed.c        | 463 --------------------------------------
+ tests/async_speed_multi.sh | 172 --------------
+ tests/run_crypto_tests.sh  |   2 +-
+ tests/speed.c              | 546 +++++++++++++++++++++++++++++++++++++++++++++
+ tests/speed_multi.sh       | 174 +++++++++++++++
+ tests/sync_speed.c         | 400 ---------------------------------
+ 7 files changed, 725 insertions(+), 1041 deletions(-)
+ delete mode 100644 tests/async_speed.c
+ delete mode 100755 tests/async_speed_multi.sh
+ create mode 100644 tests/speed.c
+ create mode 100755 tests/speed_multi.sh
+ delete mode 100644 tests/sync_speed.c
+
+diff --git a/tests/Makefile b/tests/Makefile
+index 51469e8..88f5040 100644
+--- a/tests/Makefile
++++ b/tests/Makefile
+@@ -3,19 +3,18 @@ CFLAGS += -I.. $(CRYPTODEV_CFLAGS)
+ 
+ comp_progs := cipher_comp hash_comp hmac_comp
+ 
+-hostprogs := cipher cipher-aead hmac sync_speed async_cipher async_hmac \
+-	async_speed sha_speed hashcrypt_speed fullspeed cipher-gcm \
++hostprogs := cipher cipher-aead hmac async_cipher async_hmac \
++	speed sha_speed hashcrypt_speed fullspeed cipher-gcm \
+ 	cipher-aead-srtp $(comp_progs)
+ 
+ example-cipher-objs := cipher.o
+ example-cipher-aead-objs := cipher-aead.o
+ example-hmac-objs := hmac.o
+-example-speed-objs := sync_speed.o
+ example-fullspeed-objs := fullspeed.c
+ example-sha-speed-objs := sha_speed.c
+ example-async-cipher-objs := async_cipher.o
+ example-async-hmac-objs := async_hmac.o
+-example-async-speed-objs := async_speed.o
++example-async-speed-objs := speed.o
+ example-hashcrypt-speed-objs := hashcrypt_speed.c
+ 
+ prefix ?= /usr/local
+@@ -38,7 +37,7 @@ install:
+ 	for prog in $(hostprogs); do \
+ 		install -m 755 $$prog $(DESTDIR)/$(bindir)/tests_cryptodev/; \
+ 	done
+-	install -m 755 async_speed_multi.sh  $(DESTDIR)/$(bindir)
++	install -m 755 speed_multi.sh  $(DESTDIR)/$(bindir)
+ 	install -m 755 run_crypto_tests.sh  $(DESTDIR)/$(bindir)
+ 
+ clean:
+diff --git a/tests/async_speed.c b/tests/async_speed.c
+deleted file mode 100644
+index d16d17e..0000000
+--- a/tests/async_speed.c
++++ /dev/null
+@@ -1,463 +0,0 @@
+-/*  cryptodev_test - simple benchmark tool for cryptodev
+- *
+- *    Copyright (C) 2010 by Phil Sutter <phil.sutter@viprinet.com>
+- *
+- *  This program is free software; you can redistribute it and/or modify
+- *  it under the terms of the GNU General Public License as published by
+- *  the Free Software Foundation; either version 2 of the License, or
+- *  (at your option) any later version.
+- *
+- *  This program is distributed in the hope that it will be useful,
+- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+- *  GNU General Public License for more details.
+- *
+- *  You should have received a copy of the GNU General Public License
+- *  along with this program; if not, write to the Free Software
+- *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+- */
+-#include <errno.h>
+-#include <fcntl.h>
+-#include <poll.h>
+-#include <stdio.h>
+-#include <stdlib.h>
+-#include <string.h>
+-#include <sys/ioctl.h>
+-#include <sys/time.h>
+-#include <sys/types.h>
+-#include <signal.h>
+-#include <crypto/cryptodev.h>
+-#include <stdbool.h>
+-#include <unistd.h>
+-#include <stdint.h>
+-#include <inttypes.h>
+-
+-#ifdef ENABLE_ASYNC
+-
+-struct test_params {
+-	bool tflag;
+-	bool nflag;
+-	bool mflag;
+-	int tvalue;
+-	int nvalue;
+-};
+-
+-const char usage_str[] = "Usage: %s [OPTION]... <cipher>|<hash>\n"
+-	"Run benchmark test for cipher or hash\n\n"
+-	"  -t <secs>\t" "time to run each test (default 10 secs)\n"
+-	"  -n <bytes>\t" "size of the test buffer\n"
+-	"  -m\t\t" "output in a machine readable format\n"
+-	"  -h\t\t" "show this help\n\n"
+-	"Note: SEC driver is configured to support buffers smaller than 512K\n"
+-;
+-
+-int run_null(int fdc, struct test_params tp);
+-int run_aes_128_cbc(int fdc, struct test_params tp);
+-int run_aes_256_xts(int fdc, struct test_params tp);
+-int run_crc32c(int fdc, struct test_params tp);
+-int run_sha1(int fdc, struct test_params tp);
+-int run_sha256(int fdc, struct test_params tp);
+-
+-#define ALG_COUNT	6
+-struct {
+-	char *name;
+-	int (*func)(int, struct test_params);
+-} ciphers[ALG_COUNT] = {
+-	{"null",	run_null},
+-	{"aes-128-cbc",	run_aes_128_cbc},
+-	{"aes-256-xts",	run_aes_256_xts},
+-	{"crc32c",	run_crc32c},
+-	{"sha1",	run_sha1},
+-	{"sha256",	run_sha256},
+-};
+-
+-static double udifftimeval(struct timeval start, struct timeval end)
+-{
+-	return (double)(end.tv_usec - start.tv_usec) +
+-	       (double)(end.tv_sec - start.tv_sec) * 1000 * 1000;
+-}
+-
+-static volatile int must_finish;
+-static volatile int must_exit;
+-static struct pollfd pfd;
+-
+-static void alarm_handler(int signo)
+-{
+-        must_finish = 1;
+-	pfd.events = POLLIN;
+-}
+-
+-static void exit_handler(int signo)
+-{
+-	must_exit = 1;
+-	printf("\nexit requested by user through ctrl+c \n");
+-}
+-
+-static char *units[] = { "", "Ki", "Mi", "Gi", "Ti", 0};
+-
+-static void value2human(uint64_t bytes, double time, double* data, double* speed,char* metric)
+-{
+-	int unit = 0;
+-
+-	*data = bytes;
+-	while (*data > 1024 && units[unit + 1]) {
+-		*data /= 1024;
+-		unit++;
+-	}
+-	*speed = *data / time;
+-	sprintf(metric, "%sB", units[unit]);
+-}
+-
+-static void value2machine(uint64_t bytes, double time, double* speed)
+-{
+-	*speed = bytes / time;
+-}
+-
+-int get_alignmask(int fdc, struct session_op *sess)
+-{
+-	int alignmask;
+-	int min_alignmask = sizeof(void*) - 1;
+-
+-#ifdef CIOCGSESSINFO
+-	struct session_info_op siop;
+-
+-	siop.ses = sess->ses;
+-	if (ioctl(fdc, CIOCGSESSINFO, &siop)) {
+-		perror("ioctl(CIOCGSESSINFO)");
+-		return -EINVAL;
+-	}
+-	alignmask = siop.alignmask;
+-	if (alignmask < min_alignmask) {
+-		alignmask = min_alignmask;
+-	}
+-#else
+-	alignmask = 0;
+-#endif
+-
+-	return alignmask;
+-}
+-
+-int encrypt_data(int fdc, struct test_params tp, struct session_op *sess)
+-{
+-	struct crypt_op cop;
+-	char *buffer[64], iv[32];
+-	uint8_t mac[64][HASH_MAX_LEN];
+-	static int val = 23;
+-	struct timeval start, end;
+-	uint64_t total = 0;
+-	double secs, ddata, dspeed;
+-	char metric[16];
+-	int rc, wqueue = 0, bufidx = 0;
+-	int alignmask;
+-
+-	memset(iv, 0x23, 32);
+-
+-	if (!tp.mflag) {
+-		printf("\tBuffer size %d bytes: ", tp.nvalue);
+-		fflush(stdout);
+-	}
+-
+-	alignmask = get_alignmask(fdc, sess);
+-	for (rc = 0; rc < 64; rc++) {
+-		if (alignmask) {
+-			if (posix_memalign((void **)(buffer + rc), alignmask + 1, tp.nvalue)) {
+-				printf("posix_memalign() failed!\n");
+-				return 1;
+-			}
+-		} else {
+-			if (!(buffer[rc] = malloc(tp.nvalue))) {
+-				perror("malloc()");
+-				return 1;
+-			}
+-		}
+-		memset(buffer[rc], val++, tp.nvalue);
+-	}
+-	pfd.fd = fdc;
+-	pfd.events = POLLOUT | POLLIN;
+-
+-	must_finish = 0;
+-	alarm(tp.tvalue);
+-
+-	gettimeofday(&start, NULL);
+-	do {
+-		if ((rc = poll(&pfd, 1, 100)) < 0) {
+-			if (errno & (ERESTART | EINTR))
+-				continue;
+-			fprintf(stderr, "errno = %d ", errno);
+-			perror("poll()");
+-			return 1;
+-		}
+-
+-		if (pfd.revents & POLLOUT) {
+-			memset(&cop, 0, sizeof(cop));
+-			cop.ses = sess->ses;
+-			cop.len = tp.nvalue;
+-			cop.iv = (unsigned char *)iv;
+-			cop.op = COP_ENCRYPT;
+-			cop.src = cop.dst = (unsigned char *)buffer[bufidx];
+-			cop.mac = mac[bufidx];
+-			bufidx = (bufidx + 1) % 64;
+-
+-			if (ioctl(fdc, CIOCASYNCCRYPT, &cop)) {
+-				perror("ioctl(CIOCASYNCCRYPT)");
+-				return 1;
+-			}
+-			wqueue++;
+-		}
+-		if (pfd.revents & POLLIN) {
+-			if (ioctl(fdc, CIOCASYNCFETCH, &cop)) {
+-				perror("ioctl(CIOCASYNCFETCH)");
+-				return 1;
+-			}
+-			wqueue--;
+-			total += cop.len;
+-		}
+-	} while(!must_finish || wqueue);
+-	gettimeofday(&end, NULL);
+-
+-	secs = udifftimeval(start, end)/ 1000000.0;
+-
+-	if (tp.mflag) {
+-		value2machine(total, secs, &dspeed);
+-		printf("%" PRIu64 "\t%.2f\t%.2f\n", total, secs, dspeed);
+-	} else {
+-		value2human(total, secs, &ddata, &dspeed, metric);
+-		printf ("done. %.2f %s in %.2f secs: ", ddata, metric, secs);
+-		printf ("%.2f %s/sec\n", dspeed, metric);
+-	}
+-
+-	for (rc = 0; rc < 64; rc++)
+-		free(buffer[rc]);
+-	return 0;
+-}
+-
+-void usage(char *cmd_name)
+-{
+-	printf(usage_str, cmd_name);
+-}
+-
+-int run_test(int id, struct test_params tp)
+-{
+-	int fd;
+-	int fdc;
+-	int err;
+-
+-	fd = open("/dev/crypto", O_RDWR, 0);
+-	if (fd < 0) {
+-		perror("open()");
+-		return fd;
+-	}
+-	if (ioctl(fd, CRIOGET, &fdc)) {
+-		perror("ioctl(CRIOGET)");
+-		return -EINVAL;
+-	}
+-
+-	if (!tp.mflag) {
+-		fprintf(stderr, "Testing %s:\n", ciphers[id].name);
+-	}
+-	err = ciphers[id].func(fdc, tp);
+-
+-	close(fdc);
+-	close(fd);
+-
+-	return err;
+-}
+-
+-void do_test_vectors(int fdc, struct test_params tp, struct session_op *sess)
+-{
+-	int i;
+-
+-	if (tp.nflag) {
+-		encrypt_data(fdc, tp, sess);
+-	} else {
+-		for (i = 256; i <= (64 * 1024); i *= 2) {
+-			if (must_exit) {
+-				break;
+-			}
+-
+-			tp.nvalue = i;
+-			if (encrypt_data(fdc, tp, sess)) {
+-				break;
+-			}
+-		}
+-	}
+-}
+-
+-
+-int run_null(int fdc, struct test_params tp)
+-{
+-	struct session_op sess;
+-	char keybuf[32];
+-
+-	fprintf(stderr, "Testing NULL cipher: \n");
+-	memset(&sess, 0, sizeof(sess));
+-	sess.cipher = CRYPTO_NULL;
+-	sess.keylen = 0;
+-	sess.key = (unsigned char *)keybuf;
+-	if (ioctl(fdc, CIOCGSESSION, &sess)) {
+-		perror("ioctl(CIOCGSESSION)");
+-		return -EINVAL;
+-	}
+-
+-	do_test_vectors(fdc, tp, &sess);
+-	return 0;
+-}
+-
+-int run_aes_128_cbc(int fdc, struct test_params tp)
+-{
+-	struct session_op sess;
+-	char keybuf[32];
+-
+-	memset(&sess, 0, sizeof(sess));
+-	sess.cipher = CRYPTO_AES_CBC;
+-	sess.keylen = 16;
+-	memset(keybuf, 0x42, 16);
+-	sess.key = (unsigned char *)keybuf;
+-	if (ioctl(fdc, CIOCGSESSION, &sess)) {
+-		perror("ioctl(CIOCGSESSION)");
+-		return -EINVAL;
+-	}
+-
+-	do_test_vectors(fdc, tp, &sess);
+-	return 0;
+-}
+-
+-int run_aes_256_xts(int fdc, struct test_params tp)
+-{
+-	struct session_op sess;
+-	char keybuf[32];
+-
+-	memset(&sess, 0, sizeof(sess));
+-	sess.cipher = CRYPTO_AES_XTS;
+-	sess.keylen = 32;
+-	memset(keybuf, 0x42, sess.keylen);
+-	sess.key = (unsigned char *)keybuf;
+-	if (ioctl(fdc, CIOCGSESSION, &sess)) {
+-		perror("ioctl(CIOCGSESSION)");
+-		return -EINVAL;
+-	}
+-
+-	do_test_vectors(fdc, tp, &sess);
+-	return 0;
+-}
+-
+-int run_crc32c(int fdc, struct test_params tp)
+-{
+-	struct session_op sess;
+-
+-	memset(&sess, 0, sizeof(sess));
+-	sess.mac = CRYPTO_CRC32C;
+-	if (ioctl(fdc, CIOCGSESSION, &sess)) {
+-		perror("ioctl(CIOCGSESSION)");
+-		return 1;
+-	}
+-
+-	do_test_vectors(fdc, tp, &sess);
+-	return 0;
+-}
+-
+-int run_sha1(int fdc, struct test_params tp)
+-{
+-	struct session_op sess;
+-
+-	memset(&sess, 0, sizeof(sess));
+-	sess.mac = CRYPTO_SHA1;
+-	if (ioctl(fdc, CIOCGSESSION, &sess)) {
+-		perror("ioctl(CIOCGSESSION)");
+-		return 1;
+-	}
+-
+-	do_test_vectors(fdc, tp, &sess);
+-	return 0;
+-}
+-
+-int run_sha256(int fdc, struct test_params tp)
+-{
+-	struct session_op sess;
+-
+-	memset(&sess, 0, sizeof(sess));
+-	sess.mac = CRYPTO_SHA2_256;
+-	if (ioctl(fdc, CIOCGSESSION, &sess)) {
+-		perror("ioctl(CIOCGSESSION)");
+-		return 1;
+-	}
+-
+-	do_test_vectors(fdc, tp, &sess);
+-	return 0;
+-}
+-
+-int main(int argc, char **argv)
+-{
+-	int err = 0;
+-	int i;
+-	int c;
+-	bool alg_flag;
+-	char *alg_name;
+-	struct test_params tp;
+-
+-	tp.tflag = false;
+-	tp.nflag = false;
+-	tp.mflag = false;
+-	alg_flag = false;
+-	opterr = 0;
+-	while ((c = getopt(argc, argv, "hn:t:m")) != -1) {
+-		switch (c) {
+-		case 'n':
+-			tp.nvalue = atoi(optarg);
+-			tp.nflag = true;
+-			break;
+-		case 't':
+-			tp.tvalue = atoi(optarg);
+-			tp.tflag = true;
+-			break;
+-		case 'm':
+-			tp.mflag = true;
+-			break;
+-		case 'h': /* no break */
+-		default:
+-			usage(argv[0]);
+-			exit(1);
+-		}
+-	}
+-
+-	/* the name of a specific test asked on the command line */
+-	if (optind < argc) {
+-		alg_name = argv[optind];
+-		alg_flag = true;
+-	}
+-
+-	/* default test time */
+-	if (!tp.tflag) {
+-		tp.tvalue = 5;
+-	}
+-
+-	signal(SIGALRM, alarm_handler);
+-	signal(SIGINT, exit_handler);
+-
+-	for (i = 0; i < ALG_COUNT; i++) {
+-		if (must_exit) {
+-			break;
+-		}
+-
+-		if (alg_flag) {
+-			if (strcmp(alg_name, ciphers[i].name) == 0) {
+-				err = run_test(i, tp);
+-			}
+-		} else {
+-			err = run_test(i, tp);
+-			if (err != 0) {
+-				break;
+-			}
+-		}
+-	}
+-
+-	return err;
+-}
+-
+-#else
+-int
+-main(int argc, char** argv)
+-{
+-	return (0);
+-}
+-#endif
+diff --git a/tests/async_speed_multi.sh b/tests/async_speed_multi.sh
+deleted file mode 100755
+index 90f9b72..0000000
+--- a/tests/async_speed_multi.sh
++++ /dev/null
+@@ -1,172 +0,0 @@
+-#!/bin/bash
+-#
+-#    Copyright 2016 NXP Semiconductors
+-#
+-#    This program is free software: you can redistribute it and/or modify
+-#    it under the terms of the GNU General Public License as published by
+-#    the Free Software Foundation, either version 2 of the License, or
+-#    (at your option) any later version.
+-#
+-#    This program is distributed in the hope that it will be useful,
+-#    but WITHOUT ANY WARRANTY; without even the implied warranty of
+-#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+-#    GNU General Public License for more details.
+-#
+-#    You should have received a copy of the GNU General Public License
+-#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+-
+-
+-
+-# no user-configurable options below this line
+-
+-NUM_CORES=$(nproc)
+-CMD_BIN="async_speed"
+-OUT_BASENAME="async_speed"
+-MPSTAT_OUT="mpstat_out"
+-
+-# A bigger hammer for mpstat to use ISO8601 time format (fixed in 11.2.2)
+-export LC_TIME=en_GB.UTF-8 &> /dev/null
+-
+-
+-function usage
+-{
+-cat << EOF
+-Usage: `basename $0` [OPTIONS] <alg_name>
+-
+-  -m <threads>    number of threads to run with (defaults to number of cores)
+-  -t <secs>       time to run each test (default 10 secs)
+-  -n <bytes>      size of the test buffer (default 256 bytes)
+-  -v              make output more verbose (default tabular)
+-  -h              show this help
+-
+-alg_name: null, aes-128-cbc, aes-256-xts, sha1, sha256, crc32c
+-
+-Note: SEC driver is configured to support buffers smaller than 512K
+-EOF
+-}
+-
+-function SUM {
+-	paste -sd+ - | bc -l
+-}
+-
+-function get_cpu_idle
+-{
+-    header_line=$(grep %idle ${MPSTAT_OUT} | head -n 1 | sed 's/\s\+/ /g')
+-    idle_column=$(echo $header_line | wc -w)
+-    average_idle=$(grep Average ${MPSTAT_OUT} | sed 's/\s\+/ /g' | cut -d' ' -f ${idle_column} | tail -n 1)
+-
+-    echo $average_idle
+-}
+-
+-function run_parallel
+-{
+-    trap control_c SIGINT
+-
+-    OPTIONS="-t $tvalue -n $nvalue -m"
+-    CMD="$CMD_BIN $OPTIONS $alg_name"
+-
+-    (sleep 1; S_TIME_FORMAT=ISO mpstat 1 $(($tvalue-2))) &> $MPSTAT_OUT &
+-    MPSTAT_PID=$!
+-
+-    PIDS=""
+-    start=$(date +%s.%N)
+-
+-    for i in $(seq 0 $(($mvalue-1)))
+-    do
+-	CMD_OUT="${OUT_BASENAME}_${i}"
+-
+-	$CMD &> $CMD_OUT &
+-	PID=$!
+-	AFFINITY=$(($i % $NUM_CORES))
+-	taskset -pc $AFFINITY $PID > /dev/null
+-
+-	PIDS="$PID $PIDS"
+-    done
+-
+-    wait $PIDS
+-    end=$(date +%s.%N)
+-
+-    wait $MPSTAT_PID
+-
+-    grep "ioctl" ${OUT_BASENAME}_* &> /dev/null
+-    if (($? == 0))
+-    then
+-	echo "cryptodev is not built with -DENABLE_ASYNC flag"
+-	exit 1
+-    fi
+-
+-    runtime=$(echo "scale=2; ($end - $start) / 1" | bc -l )
+-    total_data=$(cat ${OUT_BASENAME}_* | cut -f 1 | SUM)
+-    avg_speed=$(echo "scale=2; $total_data / $runtime / 1000000000" | bc -l)
+-    cpu_idle=$(get_cpu_idle)
+-
+-    if [ ! -z "$vvalue" ]
+-    then
+-	echo
+-	echo "buffer size  :   $nvalue"
+-	echo "running time :   $runtime"
+-	echo "avg_speed    :   $avg_speed GB/s"
+-	echo "all_cpu idle :   $cpu_idle %"
+-	echo
+-    else
+-	echo -e "algorithm\t""threads\t""run time\t"\
+-	     "buffer size\t""GB/s\t""%cpu idle"
+-	echo -e "${alg_name}\t${mvalue}\t${runtime}\t"\
+-	     "${nvalue}\t${avg_speed}\t${cpu_idle}%"
+-    fi
+-}
+-
+-function control_c
+-{
+-    killall async_speed > /dev/null
+-    killall mpstat > /dev/null
+-}
+-
+-function main
+-{
+-	[ ! -e "/dev/crypto" ] &&
+-		(sudo modprobe cryptodev || modprobe cryptodev || exit 1)
+-
+-	$(which ${CMD_BIN} &> /dev/null)
+-	if (($? != 0))
+-	then
+-		echo "${CMD_BIN} test is not installed"
+-		exit 1
+-	fi
+-
+-	rm -f ${OUT_BASENAME}_*
+-	rm -f ${MPSTAT_OUT}
+-
+-	while getopts vhm:t:n: option
+-	do
+-		case "$option" in
+-			m) mvalue="$OPTARG";;
+-			t) tvalue="$OPTARG";;
+-			n) nvalue="$OPTARG";;
+-			v) vvalue="verbose";;
+-			*) usage $0; exit 1;;
+-		esac
+-	done
+-
+-	shift $((OPTIND-1))
+-	alg_name=$1
+-
+-	[ -z "$tvalue" ] && tvalue=10         # 10 seconds per test by default
+-	[ -z "$mvalue" ] && mvalue=$NUM_CORES # thread count defaults to nproc
+-	[ -z "$nvalue" ] && nvalue=256        # 256 bytes default buffer size
+-
+-	[ "$tvalue" -lt 5 ] && tvalue=5
+-
+-	case "$alg_name" in
+-	    "null"    |\
+-	    "aes-128-cbc" |\
+-	    "aes-256-xts" |\
+-	    "sha1"    |\
+-	    "sha256"  |\
+-	    "crc32c"  ) run_parallel;;
+-	    * ) usage && exit 1;;
+-	esac
+-}
+-
+-main "$@"
+-
+diff --git a/tests/run_crypto_tests.sh b/tests/run_crypto_tests.sh
+index 32ab8e2..e128637 100644
+--- a/tests/run_crypto_tests.sh
++++ b/tests/run_crypto_tests.sh
+@@ -16,7 +16,7 @@ do
+ 	do
+ 		for bsize in ${BUF_SIZE}
+ 		do
+-			async_speed_multi.sh -t 10 -n $bsize -m ${multi} ${alg_name} |
++			speed_multi.sh -t 10 -n $bsize -m ${multi} ${alg_name} |
+ 			tail -n 1
+ 		done
+ 	done
+diff --git a/tests/speed.c b/tests/speed.c
+new file mode 100644
+index 0000000..3b36db1
+--- /dev/null
++++ b/tests/speed.c
+@@ -0,0 +1,546 @@
++/*  cryptodev_test - simple benchmark tool for cryptodev
++ *
++ *    Copyright (C) 2010 by Phil Sutter <phil.sutter@viprinet.com>
++ *
++ *  This program is free software; you can redistribute it and/or modify
++ *  it under the terms of the GNU General Public License as published by
++ *  the Free Software Foundation; either version 2 of the License, or
++ *  (at your option) any later version.
++ *
++ *  This program is distributed in the hope that it will be useful,
++ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
++ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ *  GNU General Public License for more details.
++ *
++ *  You should have received a copy of the GNU General Public License
++ *  along with this program; if not, write to the Free Software
++ *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
++ */
++#include <errno.h>
++#include <fcntl.h>
++#include <poll.h>
++#include <stdio.h>
++#include <stdlib.h>
++#include <string.h>
++#include <sys/ioctl.h>
++#include <sys/time.h>
++#include <sys/types.h>
++#include <signal.h>
++#include <crypto/cryptodev.h>
++#include <stdbool.h>
++#include <unistd.h>
++#include <stdint.h>
++#include <inttypes.h>
++
++
++struct test_params {
++	bool tflag;
++	bool nflag;
++	bool mflag;
++	bool aflag;
++	int tvalue;
++	int nvalue;
++};
++
++const char usage_str[] = "Usage: %s [OPTION]... <cipher>|<hash>\n"
++	"Run benchmark test for cipher or hash\n\n"
++	"  -t <secs>\t" "time to run each test (default 10 secs)\n"
++	"  -n <bytes>\t" "size of the test buffer\n"
++	"  -m\t\t" "output in a machine readable format\n"
++	"  -a\t\t" "run the async tests (default sync)\n"
++	"  -h\t\t" "show this help\n\n"
++	"Note: SEC driver is configured to support buffers smaller than 512K\n"
++;
++
++int run_null(int fdc, struct test_params tp);
++int run_aes_128_cbc(int fdc, struct test_params tp);
++int run_aes_256_xts(int fdc, struct test_params tp);
++int run_crc32c(int fdc, struct test_params tp);
++int run_sha1(int fdc, struct test_params tp);
++int run_sha256(int fdc, struct test_params tp);
++
++#define ALG_COUNT	6
++struct {
++	char *name;
++	int (*func)(int, struct test_params);
++} ciphers[ALG_COUNT] = {
++	{"null",	run_null},
++	{"aes-128-cbc",	run_aes_128_cbc},
++	{"aes-256-xts",	run_aes_256_xts},
++	{"crc32c",	run_crc32c},
++	{"sha1",	run_sha1},
++	{"sha256",	run_sha256},
++};
++
++static double udifftimeval(struct timeval start, struct timeval end)
++{
++	return (double)(end.tv_usec - start.tv_usec) +
++	       (double)(end.tv_sec - start.tv_sec) * 1000 * 1000;
++}
++
++static volatile int must_finish;
++static volatile int must_exit;
++static struct pollfd pfd;
++
++static void alarm_handler(int signo)
++{
++        must_finish = 1;
++	pfd.events = POLLIN;
++}
++
++static void exit_handler(int signo)
++{
++	must_exit = 1;
++	printf("\nexit requested by user through ctrl+c \n");
++}
++
++static char *units[] = { "", "Ki", "Mi", "Gi", "Ti", 0};
++
++static void value2human(uint64_t bytes, double time, double* data, double* speed,char* metric)
++{
++	int unit = 0;
++
++	*data = bytes;
++	while (*data > 1024 && units[unit + 1]) {
++		*data /= 1024;
++		unit++;
++	}
++	*speed = *data / time;
++	sprintf(metric, "%sB", units[unit]);
++}
++
++static void value2machine(uint64_t bytes, double time, double* speed)
++{
++	*speed = bytes / time;
++}
++
++int get_alignmask(int fdc, struct session_op *sess)
++{
++	int alignmask;
++	int min_alignmask = sizeof(void*) - 1;
++
++#ifdef CIOCGSESSINFO
++	struct session_info_op siop;
++
++	siop.ses = sess->ses;
++	if (ioctl(fdc, CIOCGSESSINFO, &siop)) {
++		perror("ioctl(CIOCGSESSINFO)");
++		return -EINVAL;
++	}
++	alignmask = siop.alignmask;
++	if (alignmask < min_alignmask) {
++		alignmask = min_alignmask;
++	}
++#else
++	alignmask = 0;
++#endif
++
++	return alignmask;
++}
++
++int encrypt_async(int fdc, struct test_params tp, struct session_op *sess)
++{
++	struct crypt_op cop;
++	char *buffer[64], iv[32];
++	uint8_t mac[64][HASH_MAX_LEN];
++	static int val = 23;
++	struct timeval start, end;
++	uint64_t total = 0;
++	double secs, ddata, dspeed;
++	char metric[16];
++	int rc, wqueue = 0, bufidx = 0;
++	int alignmask;
++
++	memset(iv, 0x23, 32);
++
++	if (!tp.mflag) {
++		printf("\tBuffer size %d bytes: ", tp.nvalue);
++		fflush(stdout);
++	}
++
++	alignmask = get_alignmask(fdc, sess);
++	for (rc = 0; rc < 64; rc++) {
++		if (alignmask) {
++			if (posix_memalign((void **)(buffer + rc), alignmask + 1, tp.nvalue)) {
++				printf("posix_memalign() failed!\n");
++				return 1;
++			}
++		} else {
++			if (!(buffer[rc] = malloc(tp.nvalue))) {
++				perror("malloc()");
++				return 1;
++			}
++		}
++		memset(buffer[rc], val++, tp.nvalue);
++	}
++	pfd.fd = fdc;
++	pfd.events = POLLOUT | POLLIN;
++
++	must_finish = 0;
++	alarm(tp.tvalue);
++
++	gettimeofday(&start, NULL);
++	do {
++		if ((rc = poll(&pfd, 1, 100)) < 0) {
++			if (errno & (ERESTART | EINTR))
++				continue;
++			fprintf(stderr, "errno = %d ", errno);
++			perror("poll()");
++			return 1;
++		}
++
++		if (pfd.revents & POLLOUT) {
++			memset(&cop, 0, sizeof(cop));
++			cop.ses = sess->ses;
++			cop.len = tp.nvalue;
++			cop.iv = (unsigned char *)iv;
++			cop.op = COP_ENCRYPT;
++			cop.src = cop.dst = (unsigned char *)buffer[bufidx];
++			cop.mac = mac[bufidx];
++			bufidx = (bufidx + 1) % 64;
++
++			if (ioctl(fdc, CIOCASYNCCRYPT, &cop)) {
++				perror("ioctl(CIOCASYNCCRYPT)");
++				return 1;
++			}
++			wqueue++;
++		}
++		if (pfd.revents & POLLIN) {
++			if (ioctl(fdc, CIOCASYNCFETCH, &cop)) {
++				perror("ioctl(CIOCASYNCFETCH)");
++				return 1;
++			}
++			wqueue--;
++			total += cop.len;
++		}
++	} while(!must_finish || wqueue);
++	gettimeofday(&end, NULL);
++
++	secs = udifftimeval(start, end)/ 1000000.0;
++
++	if (tp.mflag) {
++		value2machine(total, secs, &dspeed);
++		printf("%" PRIu64 "\t%.2f\t%.2f\n", total, secs, dspeed);
++	} else {
++		value2human(total, secs, &ddata, &dspeed, metric);
++		printf ("done. %.2f %s in %.2f secs: ", ddata, metric, secs);
++		printf ("%.2f %s/sec\n", dspeed, metric);
++	}
++
++	for (rc = 0; rc < 64; rc++)
++		free(buffer[rc]);
++	return 0;
++}
++
++
++static int encrypt_sync(int fdc, struct test_params tp, struct session_op *sess)
++{
++	struct crypt_op cop;
++	char *buffer, iv[32];
++	char mac[HASH_MAX_LEN];
++	static int val = 23;
++	struct timeval start, end;
++	uint64_t total = 0;
++	double secs, ddata, dspeed;
++	char metric[16];
++	int alignmask;
++	int min_alignmask = sizeof(void*) - 1;
++
++	memset(iv, 0x23, 32);
++
++	if (!tp.mflag) {
++		printf("\tBuffer size %d bytes: ", tp.nvalue);
++		fflush(stdout);
++	}
++
++	alignmask = get_alignmask(fdc, sess);
++	if (alignmask) {
++		alignmask = ((alignmask < min_alignmask) ? min_alignmask : alignmask);
++		if (posix_memalign((void **)(&buffer), alignmask + 1, tp.nvalue)) {
++			printf("posix_memalign() failed!\n");
++			return 1;
++		}
++	} else {
++		if (!(buffer = malloc(tp.nvalue))) {
++			perror("malloc()");
++			return 1;
++		}
++	}
++	memset(buffer, val++, tp.nvalue);
++
++	must_finish = 0;
++	alarm(tp.tvalue);
++
++	gettimeofday(&start, NULL);
++	do {
++		memset(&cop, 0, sizeof(cop));
++		cop.ses = sess->ses;
++		cop.len = tp.nvalue;
++		cop.iv = (unsigned char *)iv;
++		cop.op = COP_ENCRYPT;
++		cop.src = cop.dst = (unsigned char *)buffer;
++		cop.mac = (unsigned char *)mac;
++
++		if (ioctl(fdc, CIOCCRYPT, &cop)) {
++			perror("ioctl(CIOCCRYPT)");
++			return 1;
++		}
++		total += cop.len;
++	} while(!must_finish);
++	gettimeofday(&end, NULL);
++
++	secs = udifftimeval(start, end)/ 1000000.0;
++
++	if (tp.mflag) {
++		value2machine(total, secs, &dspeed);
++		printf("%" PRIu64 "\t%.2f\t%.2f\n", total, secs, dspeed);
++	} else {
++		value2human(total, secs, &ddata, &dspeed, metric);
++		printf ("done. %.2f %s in %.2f secs: ", ddata, metric, secs);
++		printf ("%.2f %s/sec\n", dspeed, metric);
++	}
++
++	free(buffer);
++	return 0;
++}
++
++void usage(char *cmd_name)
++{
++	printf(usage_str, cmd_name);
++}
++
++int run_test(int id, struct test_params tp)
++{
++	int fd;
++	int fdc;
++	int err;
++
++	fd = open("/dev/crypto", O_RDWR, 0);
++	if (fd < 0) {
++		perror("open()");
++		return fd;
++	}
++	if (ioctl(fd, CRIOGET, &fdc)) {
++		perror("ioctl(CRIOGET)");
++		return -EINVAL;
++	}
++
++	if (!tp.mflag) {
++		char *type;
++		type = tp.aflag ? "async" : "sync";
++
++		fprintf(stderr, "Testing %s %s:\n", type, ciphers[id].name);
++	}
++	err = ciphers[id].func(fdc, tp);
++
++	close(fdc);
++	close(fd);
++
++	return err;
++}
++
++void do_test_vectors(int fdc, struct test_params tp, struct session_op *sess)
++{
++	int i;
++	int err;
++
++	if (tp.nflag) {
++		if (tp.aflag) {
++			encrypt_async(fdc, tp, sess);
++		} else {
++			encrypt_sync(fdc, tp, sess);
++		}
++	} else {
++		for (i = 256; i <= (64 * 1024); i *= 2) {
++			if (must_exit) {
++				break;
++			}
++
++			tp.nvalue = i;
++			if (tp.aflag) {
++				err = encrypt_async(fdc, tp, sess);
++			} else {
++				err = encrypt_sync(fdc, tp, sess);
++			}
++
++			if (err != 0) {
++				break;
++			}
++		}
++	}
++}
++
++
++int run_null(int fdc, struct test_params tp)
++{
++	struct session_op sess;
++	char keybuf[32];
++
++	fprintf(stderr, "Testing NULL cipher: \n");
++	memset(&sess, 0, sizeof(sess));
++	sess.cipher = CRYPTO_NULL;
++	sess.keylen = 0;
++	sess.key = (unsigned char *)keybuf;
++	if (ioctl(fdc, CIOCGSESSION, &sess)) {
++		perror("ioctl(CIOCGSESSION)");
++		return -EINVAL;
++	}
++
++	do_test_vectors(fdc, tp, &sess);
++	return 0;
++}
++
++int run_aes_128_cbc(int fdc, struct test_params tp)
++{
++	struct session_op sess;
++	char keybuf[32];
++
++	memset(&sess, 0, sizeof(sess));
++	sess.cipher = CRYPTO_AES_CBC;
++	sess.keylen = 16;
++	memset(keybuf, 0x42, 16);
++	sess.key = (unsigned char *)keybuf;
++	if (ioctl(fdc, CIOCGSESSION, &sess)) {
++		perror("ioctl(CIOCGSESSION)");
++		return -EINVAL;
++	}
++
++	do_test_vectors(fdc, tp, &sess);
++	return 0;
++}
++
++int run_aes_256_xts(int fdc, struct test_params tp)
++{
++	struct session_op sess;
++	char keybuf[32];
++
++	memset(&sess, 0, sizeof(sess));
++	sess.cipher = CRYPTO_AES_XTS;
++	sess.keylen = 32;
++	memset(keybuf, 0x42, sess.keylen);
++	sess.key = (unsigned char *)keybuf;
++	if (ioctl(fdc, CIOCGSESSION, &sess)) {
++		perror("ioctl(CIOCGSESSION)");
++		return -EINVAL;
++	}
++
++	do_test_vectors(fdc, tp, &sess);
++	return 0;
++}
++
++int run_crc32c(int fdc, struct test_params tp)
++{
++	struct session_op sess;
++
++	memset(&sess, 0, sizeof(sess));
++	sess.mac = CRYPTO_CRC32C;
++	if (ioctl(fdc, CIOCGSESSION, &sess)) {
++		perror("ioctl(CIOCGSESSION)");
++		return 1;
++	}
++
++	do_test_vectors(fdc, tp, &sess);
++	return 0;
++}
++
++int run_sha1(int fdc, struct test_params tp)
++{
++	struct session_op sess;
++
++	memset(&sess, 0, sizeof(sess));
++	sess.mac = CRYPTO_SHA1;
++	if (ioctl(fdc, CIOCGSESSION, &sess)) {
++		perror("ioctl(CIOCGSESSION)");
++		return 1;
++	}
++
++	do_test_vectors(fdc, tp, &sess);
++	return 0;
++}
++
++int run_sha256(int fdc, struct test_params tp)
++{
++	struct session_op sess;
++
++	memset(&sess, 0, sizeof(sess));
++	sess.mac = CRYPTO_SHA2_256;
++	if (ioctl(fdc, CIOCGSESSION, &sess)) {
++		perror("ioctl(CIOCGSESSION)");
++		return 1;
++	}
++
++	do_test_vectors(fdc, tp, &sess);
++	return 0;
++}
++
++int main(int argc, char **argv)
++{
++	int err = 0;
++	int i;
++	int c;
++	bool alg_flag;
++	char *alg_name;
++	struct test_params tp;
++
++	tp.tflag = false;
++	tp.nflag = false;
++	tp.mflag = false;
++	tp.aflag = false;
++	alg_flag = false;
++	opterr = 0;
++	while ((c = getopt(argc, argv, "ahn:t:m")) != -1) {
++		switch (c) {
++		case 'n':
++			tp.nvalue = atoi(optarg);
++			tp.nflag = true;
++			break;
++		case 't':
++			tp.tvalue = atoi(optarg);
++			tp.tflag = true;
++			break;
++		case 'm':
++			tp.mflag = true;
++			break;
++		case 'a':
++			tp.aflag = true;
++			break;
++		case 'h': /* no break */
++		default:
++			usage(argv[0]);
++			exit(1);
++		}
++	}
++
++	/* the name of a specific test asked on the command line */
++	if (optind < argc) {
++		alg_name = argv[optind];
++		alg_flag = true;
++	}
++
++	/* default test time */
++	if (!tp.tflag) {
++		tp.tvalue = 5;
++	}
++
++	signal(SIGALRM, alarm_handler);
++	signal(SIGINT, exit_handler);
++
++	for (i = 0; i < ALG_COUNT; i++) {
++		if (must_exit) {
++			break;
++		}
++
++		if (alg_flag) {
++			if (strcmp(alg_name, ciphers[i].name) == 0) {
++				err = run_test(i, tp);
++			}
++		} else {
++			err = run_test(i, tp);
++			if (err != 0) {
++				break;
++			}
++		}
++	}
++
++	return err;
++}
+diff --git a/tests/speed_multi.sh b/tests/speed_multi.sh
+new file mode 100755
+index 0000000..b116483
+--- /dev/null
++++ b/tests/speed_multi.sh
+@@ -0,0 +1,174 @@
++#!/bin/bash
++#
++#    Copyright 2016 NXP Semiconductors
++#
++#    This program is free software: you can redistribute it and/or modify
++#    it under the terms of the GNU General Public License as published by
++#    the Free Software Foundation, either version 2 of the License, or
++#    (at your option) any later version.
++#
++#    This program is distributed in the hope that it will be useful,
++#    but WITHOUT ANY WARRANTY; without even the implied warranty of
++#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++#    GNU General Public License for more details.
++#
++#    You should have received a copy of the GNU General Public License
++#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
++
++
++
++# no user-configurable options below this line
++
++NUM_CORES=$(nproc)
++CMD_BIN="speed"
++OUT_BASENAME="speed"
++MPSTAT_OUT="mpstat_out"
++
++# A bigger hammer for mpstat to use ISO8601 time format (fixed in 11.2.2)
++export LC_TIME=en_GB.UTF-8 &> /dev/null
++
++
++function usage
++{
++cat << EOF
++Usage: `basename $0` [OPTIONS] <alg_name>
++
++  -m <threads>    number of threads to run with (defaults to number of cores)
++  -t <secs>       time to run each test (default 10 secs)
++  -n <bytes>      size of the test buffer (default 256 bytes)
++  -v              make output more verbose (default tabular)
++  -a              run async version of the benchmark (default sync)
++  -h              show this help
++
++alg_name: null, aes-128-cbc, aes-256-xts, sha1, sha256, crc32c
++
++Note: SEC driver is configured to support buffers smaller than 512K
++EOF
++}
++
++function SUM {
++	paste -sd+ - | bc -l
++}
++
++function get_cpu_idle
++{
++    header_line=$(grep %idle ${MPSTAT_OUT} | head -n 1 | sed 's/\s\+/ /g')
++    idle_column=$(echo $header_line | wc -w)
++    average_idle=$(grep Average ${MPSTAT_OUT} | sed 's/\s\+/ /g' | cut -d' ' -f ${idle_column} | tail -n 1)
++
++    echo $average_idle
++}
++
++function run_parallel
++{
++    trap control_c SIGINT
++
++    OPTIONS="-t $tvalue -n $nvalue -m $aflag"
++    CMD="$CMD_BIN $OPTIONS $alg_name"
++
++    (sleep 1; S_TIME_FORMAT=ISO mpstat 1 $(($tvalue-2))) &> $MPSTAT_OUT &
++    MPSTAT_PID=$!
++
++    PIDS=""
++    start=$(date +%s.%N)
++
++    for i in $(seq 0 $(($mvalue-1)))
++    do
++	CMD_OUT="${OUT_BASENAME}_${i}"
++
++	$CMD &> $CMD_OUT &
++	PID=$!
++	AFFINITY=$(($i % $NUM_CORES))
++	taskset -pc $AFFINITY $PID > /dev/null
++
++	PIDS="$PID $PIDS"
++    done
++
++    wait $PIDS
++    end=$(date +%s.%N)
++
++    wait $MPSTAT_PID
++
++    grep "ioctl" ${OUT_BASENAME}_* &> /dev/null
++    if (($? == 0))
++    then
++	echo "cryptodev is not built with -DENABLE_ASYNC flag"
++	exit 1
++    fi
++
++    runtime=$(echo "scale=2; ($end - $start) / 1" | bc -l )
++    total_data=$(cat ${OUT_BASENAME}_* | cut -f 1 | SUM)
++    avg_speed=$(echo "scale=2; $total_data / $runtime / 1000000000" | bc -l)
++    cpu_idle=$(get_cpu_idle)
++
++    if [ ! -z "$vflag" ]
++    then
++	echo
++	echo "buffer size  :   $nvalue"
++	echo "running time :   $runtime"
++	echo "avg_speed    :   $avg_speed GB/s"
++	echo "all_cpu idle :   $cpu_idle %"
++	echo
++    else
++	echo -e "algorithm\t""threads\t""run time\t"\
++	     "buffer size\t""GB/s\t""%cpu idle"
++	echo -e "${alg_name}\t${mvalue}\t${runtime}\t"\
++	     "${nvalue}\t${avg_speed}\t${cpu_idle}%"
++    fi
++}
++
++function control_c
++{
++    killall $CMD_BIN > /dev/null
++    killall mpstat > /dev/null
++}
++
++function main
++{
++	[ ! -e "/dev/crypto" ] &&
++		(sudo modprobe cryptodev || modprobe cryptodev || exit 1)
++
++	$(which ${CMD_BIN} &> /dev/null)
++	if (($? != 0))
++	then
++		echo "${CMD_BIN} test is not installed"
++		exit 1
++	fi
++
++	rm -f ${OUT_BASENAME}_*
++	rm -f ${MPSTAT_OUT}
++
++	while getopts avhm:t:n: option
++	do
++		case "$option" in
++			m) mvalue="$OPTARG";;
++			t) tvalue="$OPTARG";;
++			n) nvalue="$OPTARG";;
++			v) vflag="verbose";;
++			a) aflag="-a";;
++			*) usage $0; exit 1;;
++		esac
++	done
++
++	shift $((OPTIND-1))
++	alg_name=$1
++
++	[ -z "$tvalue" ] && tvalue=10         # 10 seconds per test by default
++	[ -z "$mvalue" ] && mvalue=$NUM_CORES # thread count defaults to nproc
++	[ -z "$nvalue" ] && nvalue=256        # 256 bytes default buffer size
++
++	[ "$tvalue" -lt 5 ] && tvalue=5
++
++	case "$alg_name" in
++	    "null"    |\
++	    "aes-128-cbc" |\
++	    "aes-256-xts" |\
++	    "sha1"    |\
++	    "sha256"  |\
++	    "crc32c"  ) run_parallel;;
++	    * ) usage && exit 1;;
++	esac
++}
++
++main "$@"
++
+diff --git a/tests/sync_speed.c b/tests/sync_speed.c
+deleted file mode 100644
+index ceae645..0000000
+--- a/tests/sync_speed.c
++++ /dev/null
+@@ -1,400 +0,0 @@
+-/*  cryptodev_test - simple benchmark tool for cryptodev
+- *
+- *    Copyright (C) 2010 by Phil Sutter <phil.sutter@viprinet.com>
+- *
+- *  This program is free software; you can redistribute it and/or modify
+- *  it under the terms of the GNU General Public License as published by
+- *  the Free Software Foundation; either version 2 of the License, or
+- *  (at your option) any later version.
+- *
+- *  This program is distributed in the hope that it will be useful,
+- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+- *  GNU General Public License for more details.
+- *
+- *  You should have received a copy of the GNU General Public License
+- *  along with this program; if not, write to the Free Software
+- *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+- */
+-#include <errno.h>
+-#include <fcntl.h>
+-#include <poll.h>
+-#include <stdio.h>
+-#include <stdlib.h>
+-#include <string.h>
+-#include <sys/ioctl.h>
+-#include <sys/time.h>
+-#include <sys/types.h>
+-#include <signal.h>
+-#include <crypto/cryptodev.h>
+-#include <stdbool.h>
+-#include <unistd.h>
+-
+-struct test_params {
+-	bool tflag;
+-	bool nflag;
+-	int tvalue;
+-	int nvalue;
+-};
+-
+-const char usage_str[] = "Usage: %s [OPTION]... <cipher>|<hash>\n"
+-	"Run benchmark test for cipher or hash\n\n"
+-	"  -t <secs>\t" "time to run each test (default 10 secs)\n"
+-	"  -n <bytes>\t" "size of the test buffer\n"
+-	"  -h\t\t" "show this help\n\n"
+-	"Note: SEC driver is configured to support buffers smaller than 512K\n"
+-;
+-
+-int run_null(int fdc, struct test_params tp);
+-int run_aes_128_cbc(int fdc, struct test_params tp);
+-int run_aes_256_xts(int fdc, struct test_params tp);
+-int run_crc32c(int fdc, struct test_params tp);
+-int run_sha1(int fdc, struct test_params tp);
+-int run_sha256(int fdc, struct test_params tp);
+-int get_alignmask(int fdc, struct session_op *sess);
+-
+-#define ALG_COUNT	6
+-struct {
+-	char *name;
+-	int (*func)(int, struct test_params);
+-} ciphers[ALG_COUNT] = {
+-	{"null",	run_null},
+-	{"aes-128-cbc",	run_aes_128_cbc},
+-	{"aes-256-xts",	run_aes_256_xts},
+-	{"crc32c",	run_crc32c},
+-	{"sha1",	run_sha1},
+-	{"sha256",	run_sha256},
+-};
+-
+-static double udifftimeval(struct timeval start, struct timeval end)
+-{
+-	return (double)(end.tv_usec - start.tv_usec) +
+-	       (double)(end.tv_sec - start.tv_sec) * 1000 * 1000;
+-}
+-
+-static volatile int must_finish;
+-static volatile int must_exit;
+-
+-static void alarm_handler(int signo)
+-{
+-        must_finish = 1;
+-}
+-
+-static void exit_handler(int signo)
+-{
+-	must_exit = 1;
+-	printf("\nexit requested by user through ctrl+c \n");
+-}
+-
+-static char *units[] = { "", "Ki", "Mi", "Gi", "Ti", 0};
+-
+-static void value2human(double bytes, double time, double* data, double* speed,char* metric)
+-{
+-	int unit = 0;
+-
+-	*data = bytes;
+-	while (*data > 1024 && units[unit + 1]) {
+-		*data /= 1024;
+-		unit++;
+-	}
+-	*speed = *data / time;
+-	sprintf(metric, "%sB", units[unit]);
+-}
+-
+-static int encrypt_data(int fdc, struct test_params tp, struct session_op *sess)
+-{
+-	struct crypt_op cop;
+-	char *buffer, iv[32];
+-	char mac[HASH_MAX_LEN];
+-	static int val = 23;
+-	struct timeval start, end;
+-	double total = 0;
+-	double secs, ddata, dspeed;
+-	char metric[16];
+-	int alignmask;
+-	int min_alignmask = sizeof(void*) - 1;
+-
+-	memset(iv, 0x23, 32);
+-
+-	printf("\tEncrypting in chunks of %d bytes: ", tp.nvalue);
+-	fflush(stdout);
+-
+-	alignmask = get_alignmask(fdc, sess);
+-	if (alignmask) {
+-		alignmask = ((alignmask < min_alignmask) ? min_alignmask : alignmask);
+-		if (posix_memalign((void **)(&buffer), alignmask + 1, tp.nvalue)) {
+-			printf("posix_memalign() failed!\n");
+-			return 1;
+-		}
+-	} else {
+-		if (!(buffer = malloc(tp.nvalue))) {
+-			perror("malloc()");
+-			return 1;
+-		}
+-	}
+-	memset(buffer, val++, tp.nvalue);
+-	
+-	must_finish = 0;
+-	alarm(tp.tvalue);
+-
+-	gettimeofday(&start, NULL);
+-	do {
+-		memset(&cop, 0, sizeof(cop));
+-		cop.ses = sess->ses;
+-		cop.len = tp.nvalue;
+-		cop.iv = (unsigned char *)iv;
+-		cop.op = COP_ENCRYPT;
+-		cop.src = cop.dst = (unsigned char *)buffer;
+-		cop.mac = (unsigned char *)mac;
+-
+-		if (ioctl(fdc, CIOCCRYPT, &cop)) {
+-			perror("ioctl(CIOCCRYPT)");
+-			return 1;
+-		}
+-		total += cop.len;
+-	} while(!must_finish);
+-	gettimeofday(&end, NULL);
+-
+-	secs = udifftimeval(start, end)/ 1000000.0;
+-
+-	value2human(total, secs, &ddata, &dspeed, metric);
+-	printf ("done. %.2f %s in %.2f secs: ", ddata, metric, secs);
+-	printf ("%.2f %s/sec\n", dspeed, metric);
+-
+-	free(buffer);
+-	return 0;
+-}
+-
+-void usage(char *cmd_name)
+-{
+-	printf(usage_str, cmd_name);
+-}
+-
+-int run_test(int id, struct test_params tp)
+-{
+-	int fd;
+-	int fdc;
+-
+-	fd = open("/dev/crypto", O_RDWR, 0);
+-	if (fd < 0) {
+-		perror("open()");
+-		return fd;
+-	}
+-	if (ioctl(fd, CRIOGET, &fdc)) {
+-		perror("ioctl(CRIOGET)");
+-		return -EINVAL;
+-	}
+-
+-	ciphers[id].func(fdc, tp);
+-
+-	close(fdc);
+-	close(fd);
+-
+-	return 0;
+-}
+-
+-int get_alignmask(int fdc, struct session_op *sess)
+-{
+-	int alignmask;
+-
+-#ifdef CIOCGSESSINFO
+-	struct session_info_op siop;
+-
+-	siop.ses = sess->ses;
+-	if (ioctl(fdc, CIOCGSESSINFO, &siop)) {
+-		perror("ioctl(CIOCGSESSINFO)");
+-		return -EINVAL;
+-	}
+-	alignmask = siop.alignmask;
+-#else
+-	alignmask = 0;
+-#endif
+-
+-	return alignmask;
+-}
+-
+-void do_test_vectors(int fdc, struct test_params tp, struct session_op *sess)
+-{
+-	int i;
+-
+-	if (tp.nflag) {
+-		encrypt_data(fdc, tp, sess);
+-	} else {
+-		for (i = 256; i <= (64 * 1024); i *= 2) {
+-			if (must_exit)
+-				break;
+-
+-			tp.nvalue = i;
+-			if (encrypt_data(fdc, tp, sess)) {
+-				break;
+-			}
+-		}
+-	}
+-}
+-
+-
+-int run_null(int fdc, struct test_params tp)
+-{
+-	struct session_op sess;
+-	char keybuf[32];
+-
+-	fprintf(stderr, "Testing NULL cipher: \n");
+-	memset(&sess, 0, sizeof(sess));
+-	sess.cipher = CRYPTO_NULL;
+-	sess.keylen = 0;
+-	sess.key = (unsigned char *)keybuf;
+-	if (ioctl(fdc, CIOCGSESSION, &sess)) {
+-		perror("ioctl(CIOCGSESSION)");
+-		return -EINVAL;
+-	}
+-
+-	do_test_vectors(fdc, tp, &sess);
+-	return 0;
+-}
+-
+-int run_aes_128_cbc(int fdc, struct test_params tp)
+-{
+-	struct session_op sess;
+-	char keybuf[32];
+-
+-	fprintf(stderr, "\nTesting AES-128-CBC cipher: \n");
+-	memset(&sess, 0, sizeof(sess));
+-	sess.cipher = CRYPTO_AES_CBC;
+-	sess.keylen = 16;
+-	memset(keybuf, 0x42, 16);
+-	sess.key = (unsigned char *)keybuf;
+-	if (ioctl(fdc, CIOCGSESSION, &sess)) {
+-		perror("ioctl(CIOCGSESSION)");
+-		return -EINVAL;
+-	}
+-
+-	do_test_vectors(fdc, tp, &sess);
+-	return 0;
+-}
+-
+-int run_aes_256_xts(int fdc, struct test_params tp)
+-{
+-	struct session_op sess;
+-	char keybuf[32];
+-
+-	fprintf(stderr, "\nTesting AES-256-XTS cipher: \n");
+-	memset(&sess, 0, sizeof(sess));
+-	sess.cipher = CRYPTO_AES_XTS;
+-	sess.keylen = 32;
+-	memset(keybuf, 0x42, sess.keylen);
+-	sess.key = (unsigned char *)keybuf;
+-	if (ioctl(fdc, CIOCGSESSION, &sess)) {
+-		perror("ioctl(CIOCGSESSION)");
+-		return -EINVAL;
+-	}
+-
+-	do_test_vectors(fdc, tp, &sess);
+-	return 0;
+-}
+-
+-int run_crc32c(int fdc, struct test_params tp)
+-{
+-	struct session_op sess;
+-
+-	fprintf(stderr, "\nTesting CRC32C hash: \n");
+-	memset(&sess, 0, sizeof(sess));
+-	sess.mac = CRYPTO_CRC32C;
+-	if (ioctl(fdc, CIOCGSESSION, &sess)) {
+-		perror("ioctl(CIOCGSESSION)");
+-		return 1;
+-	}
+-
+-	do_test_vectors(fdc, tp, &sess);
+-	return 0;
+-}
+-
+-int run_sha1(int fdc, struct test_params tp)
+-{
+-	struct session_op sess;
+-
+-	fprintf(stderr, "\nTesting SHA-1 hash: \n");
+-	memset(&sess, 0, sizeof(sess));
+-	sess.mac = CRYPTO_SHA1;
+-	if (ioctl(fdc, CIOCGSESSION, &sess)) {
+-		perror("ioctl(CIOCGSESSION)");
+-		return 1;
+-	}
+-
+-	do_test_vectors(fdc, tp, &sess);
+-	return 0;
+-}
+-
+-int run_sha256(int fdc, struct test_params tp)
+-{
+-	struct session_op sess;
+-
+-	fprintf(stderr, "\nTesting SHA2-256 hash: \n");
+-	memset(&sess, 0, sizeof(sess));
+-	sess.mac = CRYPTO_SHA2_256;
+-	if (ioctl(fdc, CIOCGSESSION, &sess)) {
+-		perror("ioctl(CIOCGSESSION)");
+-		return 1;
+-	}
+-
+-	do_test_vectors(fdc, tp, &sess);
+-	return 0;
+-}
+-
+-int main(int argc, char **argv)
+-{
+-	int i;
+-	int c;
+-	bool alg_flag;
+-	char *alg_name;
+-	struct test_params tp;
+-
+-	tp.tflag = false;
+-	tp.nflag = false;
+-	alg_flag = false;
+-	opterr = 0;
+-	while ((c = getopt(argc, argv, "hn:t:")) != -1) {
+-		switch (c) {
+-		case 'n':
+-			tp.nvalue = atoi(optarg);
+-			tp.nflag = true;
+-			break;
+-		case 't':
+-			tp.tvalue = atoi(optarg);
+-			tp.tflag = true;
+-			break;
+-		case 'h': /* no break */
+-		default:
+-			usage(argv[0]);
+-			exit(1);
+-		}
+-	}
+-
+-	/* the name of a specific test asked on the command line */
+-	if (optind < argc) {
+-		alg_name = argv[optind];
+-		alg_flag = true;
+-	}
+-
+-	/* default test time */
+-	if (!tp.tflag) {
+-		tp.tvalue = 5;
+-	}
+-
+-	signal(SIGALRM, alarm_handler);
+-	signal(SIGINT, exit_handler);
+-
+-	for (i = 0; i < ALG_COUNT; i++) {
+-		if (must_exit)
+-			break;
+-
+-		if (alg_flag) {
+-			if (strcmp(alg_name, ciphers[i].name) == 0) {
+-				run_test(i, tp);
+-			}
+-		} else {
+-			run_test(i, tp);
+-		}
+-	}
+-
+-	return 0;
+-}
+-- 
+2.10.2
+
diff --git a/recipes-kernel/cryptodev/sdk_patches/0089-add-async-option-to-run_crypto_tests.sh.patch b/recipes-kernel/cryptodev/sdk_patches/0089-add-async-option-to-run_crypto_tests.sh.patch
new file mode 100644
index 0000000..50799f8
--- /dev/null
+++ b/recipes-kernel/cryptodev/sdk_patches/0089-add-async-option-to-run_crypto_tests.sh.patch
@@ -0,0 +1,62 @@
+From bccc3add64bfd4a048bf7e5a2935b2fc719d8e13 Mon Sep 17 00:00:00 2001
+From: Cristian Stoica <cristian.stoica@nxp.com>
+Date: Tue, 1 Nov 2016 13:28:40 +0200
+Subject: [PATCH 089/104] add -async option to run_crypto_tests.sh
+
+Signed-off-by: Cristian Stoica <cristian.stoica@nxp.com>
+---
+ tests/run_crypto_tests.sh | 31 ++++++++++++++++++++++++++++++-
+ 1 file changed, 30 insertions(+), 1 deletion(-)
+
+diff --git a/tests/run_crypto_tests.sh b/tests/run_crypto_tests.sh
+index e128637..321b013 100644
+--- a/tests/run_crypto_tests.sh
++++ b/tests/run_crypto_tests.sh
+@@ -4,6 +4,31 @@
+ BUF_SIZE="8192 16384 65536 131072 262144"
+ THREAD_CNT="1 8 12"
+ ALG_NAMES="aes-128-cbc aes-256-xts sha1 sha256 crc32c"
++TIME=10
++
++############################
++
++function usage
++{
++cat << EOF
++Usage: `basename $0` [OPTIONS]
++
++  -a              run async version of the benchmark (default sync)
++  -h              show this help
++
++Run in sequence benchmarks for several crypto algorithms:
++$ALG_NAMES
++EOF
++}
++
++while getopts ah option
++do
++    case "$option" in
++	a) aflag="-a";;
++	*) usage $0; exit 1;;
++    esac
++done
++
+ 
+ #restool dpseci create --num-queues=8 --priorities=1,2,3,4,5,6,7,8
+ #restool dprc assign dprc.1 --object=dpseci.0 --plugged=1
+@@ -16,7 +41,11 @@ do
+ 	do
+ 		for bsize in ${BUF_SIZE}
+ 		do
+-			speed_multi.sh -t 10 -n $bsize -m ${multi} ${alg_name} |
++			speed_multi.sh -t ${TIME}\
++				-n ${bsize}\
++				-m ${multi}\
++				${aflag}\
++				${alg_name} |
+ 			tail -n 1
+ 		done
+ 	done
+-- 
+2.10.2
+
diff --git a/recipes-kernel/cryptodev/sdk_patches/0090-Adjust-to-recent-user-page-API-changes.patch b/recipes-kernel/cryptodev/sdk_patches/0090-Adjust-to-recent-user-page-API-changes.patch
new file mode 100644
index 0000000..9595929
--- /dev/null
+++ b/recipes-kernel/cryptodev/sdk_patches/0090-Adjust-to-recent-user-page-API-changes.patch
@@ -0,0 +1,55 @@
+From d40bcfdfb2c2c5aa4c47b5653fdea3ee317d234b Mon Sep 17 00:00:00 2001
+From: Michael Weiser <michael.weiser@gmx.de>
+Date: Fri, 5 Aug 2016 18:43:55 +0200
+Subject: [PATCH 090/104] Adjust to recent user page API changes
+
+4.6.0 basically renamed get_user_pages() to get_user_pages_remote() and
+introduced a new get_user_pages() that always works on the current
+task.[1] Distinguish the two APIs based on kernel version we're
+compiling for.
+
+Also, there seems to have been a massive cleansing of
+page_cache_release(page) in favour of put_page(page)[2] which was an
+alias for put_page(page)[3] since 2.6.0. Before that beginning with
+2.4.0 both page_cache_release(page) and put_page(page) have been aliases
+for __free_page(page). So using put_page() instead of
+page_cache_release(page) will produce identical code for anything after
+2.4.0.
+
+[1] https://lkml.org/lkml/2016/2/10/555
+[2] https://www.spinics.net/lists/linux-fsdevel/msg95923.html
+[3] https://www.spinics.net/lists/linux-fsdevel/msg95922.html
+---
+ zc.c | 9 +++++++--
+ 1 file changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/zc.c b/zc.c
+index 29b0501..a97b49f 100644
+--- a/zc.c
++++ b/zc.c
+@@ -59,7 +59,12 @@ int __get_userbuf(uint8_t __user *addr, uint32_t len, int write,
+ 	}
+ 
+ 	down_read(&mm->mmap_sem);
+-	ret = get_user_pages(task, mm,
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 6, 0))
++	ret = get_user_pages_remote(
++#else
++	ret = get_user_pages(
++#endif
++			task, mm,
+ 			(unsigned long)addr, pgcount, write, 0, pg, NULL);
+ 	up_read(&mm->mmap_sem);
+ 	if (ret != pgcount)
+@@ -119,7 +124,7 @@ void release_user_pages(struct csession *ses)
+ 		else
+ 			ses->readonly_pages--;
+ 
+-		page_cache_release(ses->pages[i]);
++		put_page(ses->pages[i]);
+ 	}
+ 	ses->used_pages = 0;
+ }
+-- 
+2.10.2
+
diff --git a/recipes-kernel/cryptodev/sdk_patches/0091-Fix-test-compile-time-warnings.patch b/recipes-kernel/cryptodev/sdk_patches/0091-Fix-test-compile-time-warnings.patch
new file mode 100644
index 0000000..639fe0f
--- /dev/null
+++ b/recipes-kernel/cryptodev/sdk_patches/0091-Fix-test-compile-time-warnings.patch
@@ -0,0 +1,65 @@
+From a715480416b33b0bacd2b58ec42b9c64bdb21c0c Mon Sep 17 00:00:00 2001
+From: Michael Weiser <michael.weiser@gmx.de>
+Date: Fri, 19 Aug 2016 10:24:40 +0100
+Subject: [PATCH 091/104] Fix test compile time warnings
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+A number of tests cause compiler warnings like this:
+
+hashcrypt_speed.c: In function ‘hash_data’:
+hashcrypt_speed.c:101:2: warning: implicit declaration of function ‘alarm’ [-Wimplicit-function-declaration]
+  alarm(5);
+  ^~~~~
+hashcrypt_speed.c: In function ‘main’:
+hashcrypt_speed.c:203:2: warning: implicit declaration of function ‘close’ [-Wimplicit-function-declaration]
+  close(fdc);
+  ^~~~~
+
+Fix by including unistd.h.
+---
+ tests/hashcrypt_speed.c | 1 +
+ tests/sha_speed.c       | 1 +
+ tests/speed.c           | 1 +
+ 3 files changed, 3 insertions(+)
+
+diff --git a/tests/hashcrypt_speed.c b/tests/hashcrypt_speed.c
+index 045bf8e..10c9f00 100644
+--- a/tests/hashcrypt_speed.c
++++ b/tests/hashcrypt_speed.c
+@@ -21,6 +21,7 @@
+ #include <stdint.h>
+ #include <stdlib.h>
+ #include <string.h>
++#include <unistd.h>
+ #include <sys/ioctl.h>
+ #include <sys/time.h>
+ #include <sys/types.h>
+diff --git a/tests/sha_speed.c b/tests/sha_speed.c
+index 9f2c8cc..30b40f5 100644
+--- a/tests/sha_speed.c
++++ b/tests/sha_speed.c
+@@ -21,6 +21,7 @@
+ #include <stdint.h>
+ #include <stdlib.h>
+ #include <string.h>
++#include <unistd.h>
+ #include <sys/ioctl.h>
+ #include <sys/time.h>
+ #include <sys/types.h>
+diff --git a/tests/speed.c b/tests/speed.c
+index 3b36db1..fc38a63 100644
+--- a/tests/speed.c
++++ b/tests/speed.c
+@@ -22,6 +22,7 @@
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
++#include <unistd.h>
+ #include <sys/ioctl.h>
+ #include <sys/time.h>
+ #include <sys/types.h>
+-- 
+2.10.2
+
diff --git a/recipes-kernel/cryptodev/sdk_patches/0092-Support-skcipher-in-addition-to-ablkcipher-API.patch b/recipes-kernel/cryptodev/sdk_patches/0092-Support-skcipher-in-addition-to-ablkcipher-API.patch
new file mode 100644
index 0000000..4a82955
--- /dev/null
+++ b/recipes-kernel/cryptodev/sdk_patches/0092-Support-skcipher-in-addition-to-ablkcipher-API.patch
@@ -0,0 +1,281 @@
+From e41e73551c886366d741b5e401a3c4c661aa3020 Mon Sep 17 00:00:00 2001
+From: Michael Weiser <michael.weiser@gmx.de>
+Date: Fri, 5 Aug 2016 17:26:27 +0200
+Subject: [PATCH 092/104] Support skcipher in addition to ablkcipher API
+
+The ablkcipher API is being phased out[1]. The unified skcipher API
+seems to have made its entry with 4.3.[3, 4] By what can be seen from
+migration patches[1.ff.], it's a drop-in replacement.
+
+Also, deallocators such as crypto_free_skcipher() are NULL-safe now[2].
+
+Add a new header cipherapi.h to aid migration from ablkcipher to skcipher and
+retain support for old kernels. Make it decide which API to use and provide
+appropriate function calls and type definitions. Since the ablkcipher and
+skcipher APIs are so similar, those are mainly defines for corresponding
+pseudo-functions in namespace cryptodev_ derived directly from their API
+counterparts.
+
+Compiles and works (i.e. checks pass) with Debian testing 4.6.4 kernel
+as well as 4.8-rc2+ Linus git tree as of today. (Both require a fix for
+changed page access API[5].)
+
+[1] https://www.spinics.net/lists/linux-crypto/msg18133.html
+[2] https://www.spinics.net/lists/linux-crypto/msg18154.html, line 120
+[3] https://www.spinics.net/lists/linux-crypto/msg16373.html
+[4] https://www.spinics.net/lists/linux-crypto/msg16294.html
+[5] https://github.com/cryptodev-linux/cryptodev-linux/pull/14
+---
+ cipherapi.h | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ cryptlib.c  | 40 ++++++++++++++++++----------------------
+ cryptlib.h  |  6 ++++--
+ ioctl.c     |  4 ++--
+ 4 files changed, 84 insertions(+), 26 deletions(-)
+ create mode 100644 cipherapi.h
+
+diff --git a/cipherapi.h b/cipherapi.h
+new file mode 100644
+index 0000000..07d9923
+--- /dev/null
++++ b/cipherapi.h
+@@ -0,0 +1,60 @@
++#ifndef CIPHERAPI_H
++# define CIPHERAPI_H
++
++#include <linux/version.h>
++
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 8, 0))
++# include <linux/crypto.h>
++
++typedef struct ablkcipher_alg cryptodev_blkcipher_alg_t;
++typedef struct crypto_ablkcipher cryptodev_crypto_blkcipher_t;
++typedef struct ablkcipher_request cryptodev_blkcipher_request_t;
++
++# define cryptodev_crypto_alloc_blkcipher crypto_alloc_ablkcipher
++# define cryptodev_crypto_blkcipher_alg crypto_ablkcipher_alg
++# define cryptodev_crypto_blkcipher_blocksize crypto_ablkcipher_blocksize
++# define cryptodev_crypto_blkcipher_ivsize crypto_ablkcipher_ivsize
++# define cryptodev_crypto_blkcipher_alignmask crypto_ablkcipher_alignmask
++# define cryptodev_crypto_blkcipher_setkey crypto_ablkcipher_setkey
++
++static inline void cryptodev_crypto_free_blkcipher(cryptodev_crypto_blkcipher_t *c) {
++	if (c)
++		crypto_free_ablkcipher(c);
++}
++
++# define cryptodev_blkcipher_request_alloc ablkcipher_request_alloc
++# define cryptodev_blkcipher_request_set_callback ablkcipher_request_set_callback
++
++static inline void cryptodev_blkcipher_request_free(cryptodev_blkcipher_request_t *r) {
++	if (r)
++		ablkcipher_request_free(r);
++}
++
++# define cryptodev_blkcipher_request_set_crypt ablkcipher_request_set_crypt
++# define cryptodev_crypto_blkcipher_encrypt crypto_ablkcipher_encrypt
++# define cryptodev_crypto_blkcipher_decrypt crypto_ablkcipher_decrypt
++# define cryptodev_crypto_blkcipher_tfm crypto_ablkcipher_tfm
++#else
++#include <crypto/skcipher.h>
++
++typedef struct skcipher_alg cryptodev_blkcipher_alg_t;
++typedef struct crypto_skcipher cryptodev_crypto_blkcipher_t;
++typedef struct skcipher_request cryptodev_blkcipher_request_t;
++
++# define cryptodev_crypto_alloc_blkcipher crypto_alloc_skcipher
++# define cryptodev_crypto_blkcipher_alg crypto_skcipher_alg
++# define cryptodev_crypto_blkcipher_blocksize crypto_skcipher_blocksize
++# define cryptodev_crypto_blkcipher_ivsize crypto_skcipher_ivsize
++# define cryptodev_crypto_blkcipher_alignmask crypto_skcipher_alignmask
++# define cryptodev_crypto_blkcipher_setkey crypto_skcipher_setkey
++# define cryptodev_crypto_free_blkcipher crypto_free_skcipher
++# define cryptodev_blkcipher_request_alloc skcipher_request_alloc
++# define cryptodev_blkcipher_request_set_callback skcipher_request_set_callback
++# define cryptodev_blkcipher_request_free skcipher_request_free
++# define cryptodev_blkcipher_request_set_crypt skcipher_request_set_crypt
++# define cryptodev_crypto_blkcipher_encrypt crypto_skcipher_encrypt
++# define cryptodev_crypto_blkcipher_decrypt crypto_skcipher_decrypt
++# define cryptodev_crypto_blkcipher_tfm crypto_skcipher_tfm
++#endif
++
++#endif
+diff --git a/cryptlib.c b/cryptlib.c
+index 5d1a5a9..558d4b8 100644
+--- a/cryptlib.c
++++ b/cryptlib.c
+@@ -24,7 +24,6 @@
+  * 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+  */
+ 
+-#include <linux/crypto.h>
+ #include <linux/mm.h>
+ #include <linux/highmem.h>
+ #include <linux/ioctl.h>
+@@ -38,6 +37,7 @@
+ #include <linux/rtnetlink.h>
+ #include <crypto/authenc.h>
+ #include "cryptodev_int.h"
++#include "cipherapi.h"
+ 
+ 
+ static void cryptodev_complete(struct crypto_async_request *req, int err)
+@@ -129,15 +129,15 @@ int cryptodev_cipher_init(struct cipher_data *out, const char *alg_name,
+ 	int ret;
+ 
+ 	if (aead == 0) {
+-		struct ablkcipher_alg *alg;
++		cryptodev_blkcipher_alg_t *alg;
+ 
+-		out->async.s = crypto_alloc_ablkcipher(alg_name, 0, 0);
++		out->async.s = cryptodev_crypto_alloc_blkcipher(alg_name, 0, 0);
+ 		if (unlikely(IS_ERR(out->async.s))) {
+ 			ddebug(1, "Failed to load cipher %s", alg_name);
+ 				return -EINVAL;
+ 		}
+ 
+-		alg = crypto_ablkcipher_alg(out->async.s);
++		alg = cryptodev_crypto_blkcipher_alg(out->async.s);
+ 		if (alg != NULL) {
+ 			/* Was correct key length supplied? */
+ 			if (alg->max_keysize > 0 &&
+@@ -150,11 +150,11 @@ int cryptodev_cipher_init(struct cipher_data *out, const char *alg_name,
+ 			}
+ 		}
+ 
+-		out->blocksize = crypto_ablkcipher_blocksize(out->async.s);
+-		out->ivsize = crypto_ablkcipher_ivsize(out->async.s);
+-		out->alignmask = crypto_ablkcipher_alignmask(out->async.s);
++		out->blocksize = cryptodev_crypto_blkcipher_blocksize(out->async.s);
++		out->ivsize = cryptodev_crypto_blkcipher_ivsize(out->async.s);
++		out->alignmask = cryptodev_crypto_blkcipher_alignmask(out->async.s);
+ 
+-		ret = crypto_ablkcipher_setkey(out->async.s, keyp, keylen);
++		ret = cryptodev_crypto_blkcipher_setkey(out->async.s, keyp, keylen);
+ 	} else {
+ 		out->async.as = crypto_alloc_aead(alg_name, 0, 0);
+ 		if (unlikely(IS_ERR(out->async.as))) {
+@@ -181,14 +181,14 @@ int cryptodev_cipher_init(struct cipher_data *out, const char *alg_name,
+ 	init_completion(&out->async.result.completion);
+ 
+ 	if (aead == 0) {
+-		out->async.request = ablkcipher_request_alloc(out->async.s, GFP_KERNEL);
++		out->async.request = cryptodev_blkcipher_request_alloc(out->async.s, GFP_KERNEL);
+ 		if (unlikely(!out->async.request)) {
+ 			derr(1, "error allocating async crypto request");
+ 			ret = -ENOMEM;
+ 			goto error;
+ 		}
+ 
+-		ablkcipher_request_set_callback(out->async.request, 0,
++		cryptodev_blkcipher_request_set_callback(out->async.request, 0,
+ 					cryptodev_complete, &out->async.result);
+ 	} else {
+ 		out->async.arequest = aead_request_alloc(out->async.as, GFP_KERNEL);
+@@ -206,10 +206,8 @@ int cryptodev_cipher_init(struct cipher_data *out, const char *alg_name,
+ 	return 0;
+ error:
+ 	if (aead == 0) {
+-		if (out->async.request)
+-			ablkcipher_request_free(out->async.request);
+-		if (out->async.s)
+-			crypto_free_ablkcipher(out->async.s);
++		cryptodev_blkcipher_request_free(out->async.request);
++		cryptodev_crypto_free_blkcipher(out->async.s);
+ 	} else {
+ 		if (out->async.arequest)
+ 			aead_request_free(out->async.arequest);
+@@ -224,10 +222,8 @@ void cryptodev_cipher_deinit(struct cipher_data *cdata)
+ {
+ 	if (cdata->init) {
+ 		if (cdata->aead == 0) {
+-			if (cdata->async.request)
+-				ablkcipher_request_free(cdata->async.request);
+-			if (cdata->async.s)
+-				crypto_free_ablkcipher(cdata->async.s);
++			cryptodev_blkcipher_request_free(cdata->async.request);
++			cryptodev_crypto_free_blkcipher(cdata->async.s);
+ 		} else {
+ 			if (cdata->async.arequest)
+ 				aead_request_free(cdata->async.arequest);
+@@ -274,10 +270,10 @@ ssize_t cryptodev_cipher_encrypt(struct cipher_data *cdata,
+ 	reinit_completion(&cdata->async.result.completion);
+ 
+ 	if (cdata->aead == 0) {
+-		ablkcipher_request_set_crypt(cdata->async.request,
++		cryptodev_blkcipher_request_set_crypt(cdata->async.request,
+ 			(struct scatterlist *)src, dst,
+ 			len, cdata->async.iv);
+-		ret = crypto_ablkcipher_encrypt(cdata->async.request);
++		ret = cryptodev_crypto_blkcipher_encrypt(cdata->async.request);
+ 	} else {
+ 		aead_request_set_crypt(cdata->async.arequest,
+ 			(struct scatterlist *)src, dst,
+@@ -296,10 +292,10 @@ ssize_t cryptodev_cipher_decrypt(struct cipher_data *cdata,
+ 
+ 	reinit_completion(&cdata->async.result.completion);
+ 	if (cdata->aead == 0) {
+-		ablkcipher_request_set_crypt(cdata->async.request,
++		cryptodev_blkcipher_request_set_crypt(cdata->async.request,
+ 			(struct scatterlist *)src, dst,
+ 			len, cdata->async.iv);
+-		ret = crypto_ablkcipher_decrypt(cdata->async.request);
++		ret = cryptodev_crypto_blkcipher_decrypt(cdata->async.request);
+ 	} else {
+ 		aead_request_set_crypt(cdata->async.arequest,
+ 			(struct scatterlist *)src, dst,
+diff --git a/cryptlib.h b/cryptlib.h
+index d8e8046..8200a1d 100644
+--- a/cryptlib.h
++++ b/cryptlib.h
+@@ -11,6 +11,8 @@ struct cryptodev_result {
+ 	int err;
+ };
+ 
++#include "cipherapi.h"
++
+ struct cipher_data {
+ 	int init; /* 0 uninitialized */
+ 	int blocksize;
+@@ -20,8 +22,8 @@ struct cipher_data {
+ 	int alignmask;
+ 	struct {
+ 		/* block ciphers */
+-		struct crypto_ablkcipher *s;
+-		struct ablkcipher_request *request;
++		cryptodev_crypto_blkcipher_t *s;
++		cryptodev_blkcipher_request_t *request;
+ 
+ 		/* AEAD ciphers */
+ 		struct crypto_aead *as;
+diff --git a/ioctl.c b/ioctl.c
+index 2e2bdeb..e3b8af1 100644
+--- a/ioctl.c
++++ b/ioctl.c
+@@ -35,7 +35,6 @@
+  */
+ 
+ #include <crypto/hash.h>
+-#include <linux/crypto.h>
+ #include <linux/mm.h>
+ #include <linux/highmem.h>
+ #include <linux/ioctl.h>
+@@ -54,6 +53,7 @@
+ #include "cryptodev_int.h"
+ #include "zc.h"
+ #include "version.h"
++#include "cipherapi.h"
+ 
+ MODULE_AUTHOR("Nikos Mavrogiannopoulos <nmav@gnutls.org>");
+ MODULE_DESCRIPTION("CryptoDev driver");
+@@ -1052,7 +1052,7 @@ static int get_session_info(struct fcrypt *fcr, struct session_info_op *siop)
+ 
+ 	if (ses_ptr->cdata.init) {
+ 		if (ses_ptr->cdata.aead == 0)
+-			tfm = crypto_ablkcipher_tfm(ses_ptr->cdata.async.s);
++			tfm = cryptodev_crypto_blkcipher_tfm(ses_ptr->cdata.async.s);
+ 		else
+ 			tfm = crypto_aead_tfm(ses_ptr->cdata.async.as);
+ 		tfm_info_to_alg_info(&siop->cipher_info, tfm);
+-- 
+2.10.2
+
diff --git a/recipes-kernel/cryptodev/sdk_patches/0093-Fix-ablkcipher-algorithms-usage-in-v4.8-kernels.patch b/recipes-kernel/cryptodev/sdk_patches/0093-Fix-ablkcipher-algorithms-usage-in-v4.8-kernels.patch
new file mode 100644
index 0000000..fcf2a3e
--- /dev/null
+++ b/recipes-kernel/cryptodev/sdk_patches/0093-Fix-ablkcipher-algorithms-usage-in-v4.8-kernels.patch
@@ -0,0 +1,147 @@
+From 871ecc5c5ebfbb9c6e1b17a7ff7a531ed1fab644 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Horia=20Geant=C4=83?= <horia.geanta@nxp.com>
+Date: Wed, 16 Nov 2016 15:38:39 +0200
+Subject: [PATCH 093/104] Fix ablkcipher algorithms usage in v4.8+ kernels
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+ablkcipher API is not completely removed from kernels <= v4.9.
+Thus it's still valid to use ablkcipher algorithms.
+
+Fix the case when implementers register ablkcipher algorithms
+and cryptodev casts them to skcipher without checking their type.
+
+Note: alg returned by crypto_ablkcipher_alg() is no longer checked
+to be non-NULL. This is guaranteed by the fact that ablkcipher_tfm
+(out->async.s) is valid.
+
+Fixes: cb186f682679 ("Support skcipher in addition to ablkcipher API")
+Signed-off-by: Horia Geantă <horia.geanta@nxp.com>
+---
+ cipherapi.h |  4 ----
+ cryptlib.c  | 56 ++++++++++++++++++++++++++++++++++++++++++++------------
+ 2 files changed, 44 insertions(+), 16 deletions(-)
+
+diff --git a/cipherapi.h b/cipherapi.h
+index 07d9923..b6ed6c2 100644
+--- a/cipherapi.h
++++ b/cipherapi.h
+@@ -6,12 +6,10 @@
+ #if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 8, 0))
+ # include <linux/crypto.h>
+ 
+-typedef struct ablkcipher_alg cryptodev_blkcipher_alg_t;
+ typedef struct crypto_ablkcipher cryptodev_crypto_blkcipher_t;
+ typedef struct ablkcipher_request cryptodev_blkcipher_request_t;
+ 
+ # define cryptodev_crypto_alloc_blkcipher crypto_alloc_ablkcipher
+-# define cryptodev_crypto_blkcipher_alg crypto_ablkcipher_alg
+ # define cryptodev_crypto_blkcipher_blocksize crypto_ablkcipher_blocksize
+ # define cryptodev_crypto_blkcipher_ivsize crypto_ablkcipher_ivsize
+ # define cryptodev_crypto_blkcipher_alignmask crypto_ablkcipher_alignmask
+@@ -37,12 +35,10 @@ static inline void cryptodev_blkcipher_request_free(cryptodev_blkcipher_request_
+ #else
+ #include <crypto/skcipher.h>
+ 
+-typedef struct skcipher_alg cryptodev_blkcipher_alg_t;
+ typedef struct crypto_skcipher cryptodev_crypto_blkcipher_t;
+ typedef struct skcipher_request cryptodev_blkcipher_request_t;
+ 
+ # define cryptodev_crypto_alloc_blkcipher crypto_alloc_skcipher
+-# define cryptodev_crypto_blkcipher_alg crypto_skcipher_alg
+ # define cryptodev_crypto_blkcipher_blocksize crypto_skcipher_blocksize
+ # define cryptodev_crypto_blkcipher_ivsize crypto_skcipher_ivsize
+ # define cryptodev_crypto_blkcipher_alignmask crypto_skcipher_alignmask
+diff --git a/cryptlib.c b/cryptlib.c
+index 558d4b8..dcac3ec 100644
+--- a/cryptlib.c
++++ b/cryptlib.c
+@@ -39,6 +39,7 @@
+ #include "cryptodev_int.h"
+ #include "cipherapi.h"
+ 
++extern const struct crypto_type crypto_givcipher_type;
+ 
+ static void cryptodev_complete(struct crypto_async_request *req, int err)
+ {
+@@ -122,6 +123,19 @@ error:
+ 	return ret;
+ }
+ 
++/* Was correct key length supplied? */
++static int check_key_size(size_t keylen, const char *alg_name,
++			  unsigned int min_keysize, unsigned int max_keysize)
++{
++	if (max_keysize > 0 && unlikely((keylen < min_keysize) ||
++					(keylen > max_keysize))) {
++		ddebug(1, "Wrong keylen '%zu' for algorithm '%s'. Use %u to %u.",
++		       keylen, alg_name, min_keysize, max_keysize);
++		return -EINVAL;
++	}
++
++	return 0;
++}
+ 
+ int cryptodev_cipher_init(struct cipher_data *out, const char *alg_name,
+ 				uint8_t *keyp, size_t keylen, int stream, int aead)
+@@ -129,7 +143,12 @@ int cryptodev_cipher_init(struct cipher_data *out, const char *alg_name,
+ 	int ret;
+ 
+ 	if (aead == 0) {
+-		cryptodev_blkcipher_alg_t *alg;
++		unsigned int min_keysize, max_keysize;
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0))
++		struct crypto_tfm *tfm;
++#else
++		struct ablkcipher_alg *alg;
++#endif
+ 
+ 		out->async.s = cryptodev_crypto_alloc_blkcipher(alg_name, 0, 0);
+ 		if (unlikely(IS_ERR(out->async.s))) {
+@@ -137,18 +156,31 @@ int cryptodev_cipher_init(struct cipher_data *out, const char *alg_name,
+ 				return -EINVAL;
+ 		}
+ 
+-		alg = cryptodev_crypto_blkcipher_alg(out->async.s);
+-		if (alg != NULL) {
+-			/* Was correct key length supplied? */
+-			if (alg->max_keysize > 0 &&
+-					unlikely((keylen < alg->min_keysize) ||
+-					(keylen > alg->max_keysize))) {
+-				ddebug(1, "Wrong keylen '%zu' for algorithm '%s'. Use %u to %u.",
+-						keylen, alg_name, alg->min_keysize, alg->max_keysize);
+-				ret = -EINVAL;
+-				goto error;
+-			}
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0))
++		tfm = crypto_skcipher_tfm(out->async.s);
++		if ((tfm->__crt_alg->cra_type == &crypto_ablkcipher_type) ||
++		    (tfm->__crt_alg->cra_type == &crypto_givcipher_type)) {
++			struct ablkcipher_alg *alg;
++
++			alg = &tfm->__crt_alg->cra_ablkcipher;
++			min_keysize = alg->min_keysize;
++			max_keysize = alg->max_keysize;
++		} else {
++			struct skcipher_alg *alg;
++
++			alg = crypto_skcipher_alg(out->async.s);
++			min_keysize = alg->min_keysize;
++			max_keysize = alg->max_keysize;
+ 		}
++#else
++		alg = crypto_ablkcipher_alg(out->async.s);
++		min_keysize = alg->min_keysize;
++		max_keysize = alg->max_keysize;
++#endif
++		ret = check_key_size(keylen, alg_name, min_keysize,
++				     max_keysize);
++		if (ret)
++			goto error;
+ 
+ 		out->blocksize = cryptodev_crypto_blkcipher_blocksize(out->async.s);
+ 		out->ivsize = cryptodev_crypto_blkcipher_ivsize(out->async.s);
+-- 
+2.10.2
+
diff --git a/recipes-kernel/cryptodev/sdk_patches/0094-Adjust-to-another-change-in-the-user-page-API.patch b/recipes-kernel/cryptodev/sdk_patches/0094-Adjust-to-another-change-in-the-user-page-API.patch
new file mode 100644
index 0000000..9483d0c
--- /dev/null
+++ b/recipes-kernel/cryptodev/sdk_patches/0094-Adjust-to-another-change-in-the-user-page-API.patch
@@ -0,0 +1,36 @@
+From b7783948df06674da12352ff4f55c6e7c4213026 Mon Sep 17 00:00:00 2001
+From: Michael Weiser <michael.weiser@gmx.de>
+Date: Fri, 11 Nov 2016 18:09:32 +0100
+Subject: [PATCH 094/104] Adjust to another change in the user page API
+
+4.9.0 will replace the write and force flags of get_user_pages_remote()
+with a gup_flags parameter[1]. Distinguish the two APIs based on kernel
+version we're compiling for.
+
+[1] https://github.com/torvalds/linux/commit/9beae1ea89305a9667ceaab6d0bf46a045ad71e7
+---
+ zc.c | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/zc.c b/zc.c
+index a97b49f..e766ee3 100644
+--- a/zc.c
++++ b/zc.c
+@@ -65,7 +65,13 @@ int __get_userbuf(uint8_t __user *addr, uint32_t len, int write,
+ 	ret = get_user_pages(
+ #endif
+ 			task, mm,
+-			(unsigned long)addr, pgcount, write, 0, pg, NULL);
++			(unsigned long)addr, pgcount,
++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0))
++			write ? FOLL_WRITE : 0,
++#else
++			write, 0,
++#endif
++			pg, NULL);
+ 	up_read(&mm->mmap_sem);
+ 	if (ret != pgcount)
+ 		return -EINVAL;
+-- 
+2.10.2
+
diff --git a/recipes-kernel/cryptodev/sdk_patches/0095-rename-header-file-to-clarify-purpose.patch b/recipes-kernel/cryptodev/sdk_patches/0095-rename-header-file-to-clarify-purpose.patch
new file mode 100644
index 0000000..d2784b1
--- /dev/null
+++ b/recipes-kernel/cryptodev/sdk_patches/0095-rename-header-file-to-clarify-purpose.patch
@@ -0,0 +1,173 @@
+From 1fff269afd1925f4e4c7e37cc8c52187c407bc56 Mon Sep 17 00:00:00 2001
+From: Cristian Stoica <cristian.stoica@nxp.com>
+Date: Tue, 29 Nov 2016 13:37:21 +0200
+Subject: [PATCH 095/104] rename header file to clarify purpose
+
+testhelper.h suggests a common repository of utility functions but
+current content targets only async tests. If we include it in non-async
+tests we are forced to include <poll.h> as well.
+
+Rename this header file to clarify that it targets only async tests
+
+Signed-off-by: Cristian Stoica <cristian.stoica@nxp.com>
+---
+ tests/async_cipher.c |  2 +-
+ tests/async_hmac.c   |  2 +-
+ tests/asynchelper.h  | 54 +++++++++++++++++++++++++++++++++++++++++++++++++
+ tests/testhelper.h   | 57 ----------------------------------------------------
+ 4 files changed, 56 insertions(+), 59 deletions(-)
+ create mode 100644 tests/asynchelper.h
+ delete mode 100644 tests/testhelper.h
+
+diff --git a/tests/async_cipher.c b/tests/async_cipher.c
+index dd08403..db6fb06 100644
+--- a/tests/async_cipher.c
++++ b/tests/async_cipher.c
+@@ -13,7 +13,7 @@
+ #include <sys/ioctl.h>
+ #include <crypto/cryptodev.h>
+ 
+-#include "testhelper.h"
++#include "asynchelper.h"
+ 
+ #ifdef ENABLE_ASYNC
+ 
+diff --git a/tests/async_hmac.c b/tests/async_hmac.c
+index 85d19c6..1bdaad3 100644
+--- a/tests/async_hmac.c
++++ b/tests/async_hmac.c
+@@ -14,7 +14,7 @@
+ #include <sys/ioctl.h>
+ #include <crypto/cryptodev.h>
+ 
+-#include "testhelper.h"
++#include "asynchelper.h"
+ 
+ #ifdef ENABLE_ASYNC
+ 
+diff --git a/tests/asynchelper.h b/tests/asynchelper.h
+new file mode 100644
+index 0000000..b5ab16c
+--- /dev/null
++++ b/tests/asynchelper.h
+@@ -0,0 +1,54 @@
++#ifndef __ASYNCHELPER_H
++#define __ASYNCHELPER_H
++
++/* poll until POLLOUT, then call CIOCASYNCCRYPT */
++inline int do_async_crypt(int cfd, struct crypt_op *cryp)
++{
++	struct pollfd pfd;
++
++	pfd.fd = cfd;
++	pfd.events = POLLOUT;
++
++	if (poll(&pfd, 1, -1) < 1) {
++		perror("poll()");
++		return 1;
++	}
++
++	if (ioctl(cfd, CIOCASYNCCRYPT, cryp)) {
++		perror("ioctl(CIOCCRYPT)");
++		return 1;
++	}
++	return 0;
++}
++
++/* poll until POLLIN, then call CIOCASYNCFETCH */
++inline int do_async_fetch(int cfd, struct crypt_op *cryp)
++{
++	struct pollfd pfd;
++
++	pfd.fd = cfd;
++	pfd.events = POLLIN;
++
++	if (poll(&pfd, 1, -1) < 1) {
++		perror("poll()");
++		return 1;
++	}
++
++	if (ioctl(cfd, CIOCASYNCFETCH, cryp)) {
++		perror("ioctl(CIOCCRYPT)");
++		return 1;
++	}
++	return 0;
++}
++
++/* Check return value of stmt for identity with goodval. If they
++ * don't match, call return with the value of stmt. */
++#define DO_OR_DIE(stmt, goodval) {                           \
++	int __rc_val;                                        \
++	if ((__rc_val = stmt) != goodval) {                  \
++		perror("DO_OR_DIE(" #stmt "," #goodval ")"); \
++		return __rc_val;                             \
++	}                                                    \
++}
++
++#endif /* __ASYNCHELPER_H */
+diff --git a/tests/testhelper.h b/tests/testhelper.h
+deleted file mode 100644
+index ea0b100..0000000
+--- a/tests/testhelper.h
++++ /dev/null
+@@ -1,57 +0,0 @@
+-/*
+- * Some helper stuff shared between the sample programs.
+- */
+-#ifndef _TESTHELPER_H
+-#define _TESTHELPER_H
+-
+-/* poll until POLLOUT, then call CIOCASYNCCRYPT */
+-inline int do_async_crypt(int cfd, struct crypt_op *cryp)
+-{
+-	struct pollfd pfd;
+-
+-	pfd.fd = cfd;
+-	pfd.events = POLLOUT;
+-
+-	if (poll(&pfd, 1, -1) < 1) {
+-		perror("poll()");
+-		return 1;
+-	}
+-
+-	if (ioctl(cfd, CIOCASYNCCRYPT, cryp)) {
+-		perror("ioctl(CIOCCRYPT)");
+-		return 1;
+-	}
+-	return 0;
+-}
+-
+-/* poll until POLLIN, then call CIOCASYNCFETCH */
+-inline int do_async_fetch(int cfd, struct crypt_op *cryp)
+-{
+-	struct pollfd pfd;
+-
+-	pfd.fd = cfd;
+-	pfd.events = POLLIN;
+-
+-	if (poll(&pfd, 1, -1) < 1) {
+-		perror("poll()");
+-		return 1;
+-	}
+-
+-	if (ioctl(cfd, CIOCASYNCFETCH, cryp)) {
+-		perror("ioctl(CIOCCRYPT)");
+-		return 1;
+-	}
+-	return 0;
+-}
+-
+-/* Check return value of stmt for identity with goodval. If they
+- * don't match, call return with the value of stmt. */
+-#define DO_OR_DIE(stmt, goodval) {                           \
+-	int __rc_val;                                        \
+-	if ((__rc_val = stmt) != goodval) {                  \
+-		perror("DO_OR_DIE(" #stmt "," #goodval ")"); \
+-		return __rc_val;                             \
+-	}                                                    \
+-}
+-
+-#endif /* _TESTHELPER_H */
+-- 
+2.10.2
+
diff --git a/recipes-kernel/cryptodev/sdk_patches/0096-use-buf_align-macro-to-reduce-code-duplication.patch b/recipes-kernel/cryptodev/sdk_patches/0096-use-buf_align-macro-to-reduce-code-duplication.patch
new file mode 100644
index 0000000..83d0be1
--- /dev/null
+++ b/recipes-kernel/cryptodev/sdk_patches/0096-use-buf_align-macro-to-reduce-code-duplication.patch
@@ -0,0 +1,248 @@
+From 6f4589ae57d141ea6257ae16df1709781d0fb8e4 Mon Sep 17 00:00:00 2001
+From: Cristian Stoica <cristian.stoica@nxp.com>
+Date: Tue, 29 Nov 2016 13:37:22 +0200
+Subject: [PATCH 096/104] use buf_align macro to reduce code duplication
+
+Signed-off-by: Cristian Stoica <cristian.stoica@nxp.com>
+---
+ tests/async_cipher.c     |  9 +++++----
+ tests/cipher-aead-srtp.c | 13 +++++++------
+ tests/cipher-aead.c      | 13 +++++++------
+ tests/cipher-gcm.c       | 17 +++++------------
+ tests/cipher.c           |  9 +++++----
+ tests/testhelper.h       |  9 +++++++++
+ 6 files changed, 38 insertions(+), 32 deletions(-)
+ create mode 100644 tests/testhelper.h
+
+diff --git a/tests/async_cipher.c b/tests/async_cipher.c
+index db6fb06..7a184e5 100644
+--- a/tests/async_cipher.c
++++ b/tests/async_cipher.c
+@@ -14,6 +14,7 @@
+ #include <crypto/cryptodev.h>
+ 
+ #include "asynchelper.h"
++#include "testhelper.h"
+ 
+ #ifdef ENABLE_ASYNC
+ 
+@@ -62,8 +63,8 @@ test_crypto(int cfd)
+ 		perror("ioctl(CIOCGSESSINFO)");
+ 		return 1;
+ 	}
+-	plaintext = (uint8_t *)(((unsigned long)plaintext_raw + siop.alignmask) & ~siop.alignmask);
+-	ciphertext = (uint8_t *)(((unsigned long)ciphertext_raw + siop.alignmask) & ~siop.alignmask);
++	plaintext = buf_align(plaintext_raw, siop.alignmask);
++	ciphertext = buf_align(ciphertext_raw, siop.alignmask);
+ #else
+ 	plaintext = plaintext_raw;
+ 	ciphertext = ciphertext_raw;
+@@ -162,7 +163,7 @@ static int test_aes(int cfd)
+ 		perror("ioctl(CIOCGSESSINFO)");
+ 		return 1;
+ 	}
+-	plaintext1 = (uint8_t *)(((unsigned long)plaintext1_raw + siop1.alignmask) & ~siop1.alignmask);
++	plaintext1 = buf_align(plaintext1_raw, siop1.alignmask);
+ #else
+ 	plaintext1 = plaintext1_raw;
+ #endif
+@@ -185,7 +186,7 @@ static int test_aes(int cfd)
+ 		perror("ioctl(CIOCGSESSINFO)");
+ 		return 1;
+ 	}
+-	plaintext2 = (uint8_t *)(((unsigned long)plaintext2_raw + siop2.alignmask) & ~siop2.alignmask);
++	plaintext2 = buf_align(plaintext2_raw, siop2.alignmask);
+ #else
+ 	plaintext2 = plaintext2_raw;
+ #endif
+diff --git a/tests/cipher-aead-srtp.c b/tests/cipher-aead-srtp.c
+index c44877d..578d2f7 100644
+--- a/tests/cipher-aead-srtp.c
++++ b/tests/cipher-aead-srtp.c
+@@ -12,6 +12,7 @@
+ 
+ #include <sys/ioctl.h>
+ #include <crypto/cryptodev.h>
++#include "testhelper.h"
+ 
+ #define	DATA_SIZE	(8*1024)
+ #define HEADER_SIZE 193
+@@ -122,8 +123,8 @@ test_crypto(int cfd)
+ 		printf("requested cipher CRYPTO_AES_CBC/HMAC-SHA1, got %s with driver %s\n",
+ 			siop.cipher_info.cra_name, siop.cipher_info.cra_driver_name);
+ 
+-	plaintext = (uint8_t *)(((unsigned long)plaintext_raw + siop.alignmask) & ~siop.alignmask);
+-	ciphertext = (uint8_t *)(((unsigned long)ciphertext_raw + siop.alignmask) & ~siop.alignmask);
++	plaintext = buf_align(plaintext_raw, siop.alignmask);
++	ciphertext = buf_align(ciphertext_raw, siop.alignmask);
+ 
+ 	memset(plaintext, 0x15, HEADER_SIZE); /* header */
+ 	memset(&plaintext[HEADER_SIZE], 0x17, PLAINTEXT_SIZE); /* payload */
+@@ -265,8 +266,8 @@ test_encrypt_decrypt(int cfd)
+ //	printf("requested cipher CRYPTO_AES_CBC/HMAC-SHA1, got %s with driver %s\n",
+ //			siop.cipher_info.cra_name, siop.cipher_info.cra_driver_name);
+ 
+-	plaintext = (uint8_t *)(((unsigned long)plaintext_raw + siop.alignmask) & ~siop.alignmask);
+-	ciphertext = (uint8_t *)(((unsigned long)ciphertext_raw + siop.alignmask) & ~siop.alignmask);
++	plaintext = buf_align(plaintext_raw, siop.alignmask);
++	ciphertext = buf_align(ciphertext_raw, siop.alignmask);
+ 
+ 	memset(plaintext, 0x15, HEADER_SIZE); /* header */
+ 	memset(&plaintext[HEADER_SIZE], 0x17, PLAINTEXT_SIZE); /* payload */
+@@ -407,8 +408,8 @@ test_encrypt_decrypt_error(int cfd, int err)
+ //	printf("requested cipher CRYPTO_AES_CBC/HMAC-SHA1, got %s with driver %s\n",
+ //			siop.cipher_info.cra_name, siop.cipher_info.cra_driver_name);
+ 
+-	plaintext = (uint8_t *)(((unsigned long)plaintext_raw + siop.alignmask) & ~siop.alignmask);
+-	ciphertext = (uint8_t *)(((unsigned long)ciphertext_raw + siop.alignmask) & ~siop.alignmask);
++	plaintext = buf_align(plaintext_raw, siop.alignmask);
++	ciphertext = buf_align(ciphertext_raw, siop.alignmask);
+ 
+ 	memset(plaintext, 0x15, HEADER_SIZE); /* header */
+ 	memset(&plaintext[HEADER_SIZE], 0x17, PLAINTEXT_SIZE); /* payload */
+diff --git a/tests/cipher-aead.c b/tests/cipher-aead.c
+index da43aa6..b329d12 100644
+--- a/tests/cipher-aead.c
++++ b/tests/cipher-aead.c
+@@ -12,6 +12,7 @@
+ 
+ #include <sys/ioctl.h>
+ #include <crypto/cryptodev.h>
++#include "testhelper.h"
+ 
+ #define	DATA_SIZE	(8*1024)
+ #define AUTH_SIZE       31
+@@ -133,8 +134,8 @@ test_crypto(int cfd)
+ 		printf("requested cipher CRYPTO_AES_CBC/HMAC-SHA1, got %s with driver %s\n",
+ 			siop.cipher_info.cra_name, siop.cipher_info.cra_driver_name);
+ 
+-	plaintext = (uint8_t *)(((unsigned long)plaintext_raw + siop.alignmask) & ~siop.alignmask);
+-	ciphertext = (uint8_t *)(((unsigned long)ciphertext_raw + siop.alignmask) & ~siop.alignmask);
++	plaintext = buf_align(plaintext_raw, siop.alignmask);
++	ciphertext = buf_align(ciphertext_raw, siop.alignmask);
+ 	memset(plaintext, 0x15, DATA_SIZE);
+ 
+ 	if (get_sha1_hmac(cfd, sess.mackey, sess.mackeylen, auth, sizeof(auth), plaintext, DATA_SIZE, sha1mac) != 0) {
+@@ -285,8 +286,8 @@ test_encrypt_decrypt(int cfd)
+ //	printf("requested cipher CRYPTO_AES_CBC/HMAC-SHA1, got %s with driver %s\n",
+ //			siop.cipher_info.cra_name, siop.cipher_info.cra_driver_name);
+ 
+-	plaintext = (uint8_t *)(((unsigned long)plaintext_raw + siop.alignmask) & ~siop.alignmask);
+-	ciphertext = (uint8_t *)(((unsigned long)ciphertext_raw + siop.alignmask) & ~siop.alignmask);
++	plaintext = buf_align(plaintext_raw, siop.alignmask);
++	ciphertext = buf_align(ciphertext_raw, siop.alignmask);
+ 
+ 	memset(plaintext, 0x15, DATA_SIZE);
+ 
+@@ -434,8 +435,8 @@ test_encrypt_decrypt_error(int cfd, int err)
+ //	printf("requested cipher CRYPTO_AES_CBC/HMAC-SHA1, got %s with driver %s\n",
+ //			siop.cipher_info.cra_name, siop.cipher_info.cra_driver_name);
+ 
+-	plaintext = (uint8_t *)(((unsigned long)plaintext_raw + siop.alignmask) & ~siop.alignmask);
+-	ciphertext = (uint8_t *)(((unsigned long)ciphertext_raw + siop.alignmask) & ~siop.alignmask);
++	plaintext = buf_align(plaintext_raw, siop.alignmask);
++	ciphertext = buf_align(ciphertext_raw, siop.alignmask);
+ 	memset(plaintext, 0x15, DATA_SIZE);
+ 
+ 	if (get_sha1_hmac(cfd, sess.mackey, sess.mackeylen, auth, sizeof(auth), plaintext, DATA_SIZE, sha1mac) != 0) {
+diff --git a/tests/cipher-gcm.c b/tests/cipher-gcm.c
+index 3f6cc7b..d5f8486 100644
+--- a/tests/cipher-gcm.c
++++ b/tests/cipher-gcm.c
+@@ -12,6 +12,7 @@
+ 
+ #include <sys/ioctl.h>
+ #include <crypto/cryptodev.h>
++#include "testhelper.h"
+ 
+ #define	DATA_SIZE	(8*1024)
+ #define AUTH_SIZE       31
+@@ -232,12 +233,8 @@ static int test_encrypt_decrypt(int cfd)
+ //      printf("requested cipher CRYPTO_AES_CBC/HMAC-SHA1, got %s with driver %s\n",
+ //                      siop.cipher_info.cra_name, siop.cipher_info.cra_driver_name);
+ 
+-	plaintext =
+-	    (uint8_t *) (((unsigned long) plaintext_raw + siop.alignmask) &
+-		      ~siop.alignmask);
+-	ciphertext =
+-	    (uint8_t *) (((unsigned long) ciphertext_raw + siop.alignmask) &
+-		      ~siop.alignmask);
++	plaintext = (__u8 *)buf_align(plaintext_raw, siop.alignmask);
++	ciphertext = (__u8 *)buf_align(ciphertext_raw, siop.alignmask);
+ 
+ 	memset(plaintext, 0x15, DATA_SIZE);
+ 
+@@ -385,12 +382,8 @@ static int test_encrypt_decrypt_error(int cfd, int err)
+ //      printf("requested cipher CRYPTO_AES_CBC/HMAC-SHA1, got %s with driver %s\n",
+ //                      siop.cipher_info.cra_name, siop.cipher_info.cra_driver_name);
+ 
+-	plaintext =
+-	    (uint8_t *) (((unsigned long) plaintext_raw + siop.alignmask) &
+-		      ~siop.alignmask);
+-	ciphertext =
+-	    (uint8_t *) (((unsigned long) ciphertext_raw + siop.alignmask) &
+-		      ~siop.alignmask);
++	plaintext = (__u8 *)buf_align(plaintext_raw, siop.alignmask);
++	ciphertext = (__u8 *)buf_align(ciphertext_raw, siop.alignmask);
+ 
+ 	memset(plaintext, 0x15, DATA_SIZE);
+ 	memcpy(ciphertext, plaintext, DATA_SIZE);
+diff --git a/tests/cipher.c b/tests/cipher.c
+index f3ca2f0..222f095 100644
+--- a/tests/cipher.c
++++ b/tests/cipher.c
+@@ -12,6 +12,7 @@
+ 
+ #include <sys/ioctl.h>
+ #include <crypto/cryptodev.h>
++#include "testhelper.h"
+ 
+ static int debug = 0;
+ 
+@@ -58,8 +59,8 @@ test_crypto(int cfd)
+ 		printf("requested cipher CRYPTO_AES_CBC, got %s with driver %s\n",
+ 			siop.cipher_info.cra_name, siop.cipher_info.cra_driver_name);
+ 
+-	plaintext = (uint8_t *)(((unsigned long)plaintext_raw + siop.alignmask) & ~siop.alignmask);
+-	ciphertext = (uint8_t *)(((unsigned long)ciphertext_raw + siop.alignmask) & ~siop.alignmask);
++	plaintext = buf_align(plaintext_raw, siop.alignmask);
++	ciphertext = buf_align(ciphertext_raw, siop.alignmask);
+ #else
+ 	plaintext = plaintext_raw;
+ 	ciphertext = ciphertext_raw;
+@@ -177,7 +178,7 @@ static int test_aes(int cfd)
+ 		perror("ioctl(CIOCGSESSINFO)");
+ 		return 1;
+ 	}
+-	plaintext1 = (uint8_t *)(((unsigned long)plaintext1_raw + siop.alignmask) & ~siop.alignmask);
++	plaintext1 = buf_align(plaintext1_raw, siop.alignmask);
+ #else
+ 	plaintext1 = plaintext1_raw;
+ #endif
+@@ -227,7 +228,7 @@ static int test_aes(int cfd)
+ 		printf("requested cipher CRYPTO_AES_CBC, got %s with driver %s\n",
+ 			siop.cipher_info.cra_name, siop.cipher_info.cra_driver_name);
+ 
+-	plaintext2 = (uint8_t *)(((unsigned long)plaintext2_raw + siop.alignmask) & ~siop.alignmask);
++	plaintext2 = buf_align(plaintext2_raw, siop.alignmask);
+ #else
+ 	plaintext2 = plaintext2_raw;
+ #endif
+diff --git a/tests/testhelper.h b/tests/testhelper.h
+new file mode 100644
+index 0000000..800d10d
+--- /dev/null
++++ b/tests/testhelper.h
+@@ -0,0 +1,9 @@
++/*
++ * Some helper stuff shared between the sample programs.
++ */
++#ifndef __TESTHELPER_H
++#define __TESTHELPER_H
++
++#define buf_align(buf, align) (void *)(((unsigned long)(buf) + (align)) & ~(align))
++
++#endif /* __TESTHELPER_H */
+-- 
+2.10.2
+
diff --git a/recipes-kernel/cryptodev/sdk_patches/0097-avoid-implicit-conversion-between-signed-and-unsigne.patch b/recipes-kernel/cryptodev/sdk_patches/0097-avoid-implicit-conversion-between-signed-and-unsigne.patch
new file mode 100644
index 0000000..afd9751
--- /dev/null
+++ b/recipes-kernel/cryptodev/sdk_patches/0097-avoid-implicit-conversion-between-signed-and-unsigne.patch
@@ -0,0 +1,304 @@
+From 4843f76a74558b85944dbf923cf699bfd5b354eb Mon Sep 17 00:00:00 2001
+From: Cristian Stoica <cristian.stoica@nxp.com>
+Date: Tue, 29 Nov 2016 13:37:23 +0200
+Subject: [PATCH 097/104] avoid implicit conversion between signed and unsigned
+ char
+
+Use uint8_t type for all variables with this problem and avoid casting
+from char in assignments. With uint8_t we also convey the information
+that we're using small numbers rather than strings.
+
+Although cryptodev.h uses the synonym type __u8, we use uint8_t
+for consistency with other files in tests directory and also because it
+is a standard POSIX type.
+
+Signed-off-by: Cristian Stoica <cristian.stoica@nxp.com>
+---
+ tests/async_hmac.c  | 12 ++++++------
+ tests/cipher-aead.c | 10 +++++-----
+ tests/cipher-gcm.c  | 40 ++++++++++++++++++++--------------------
+ tests/cipher.c      |  1 -
+ tests/fullspeed.c   |  1 +
+ tests/hmac.c        | 12 ++++++------
+ 6 files changed, 38 insertions(+), 38 deletions(-)
+
+diff --git a/tests/async_hmac.c b/tests/async_hmac.c
+index 1bdaad3..014b8ed 100644
+--- a/tests/async_hmac.c
++++ b/tests/async_hmac.c
+@@ -61,7 +61,7 @@ test_crypto(int cfd)
+ 
+ 	cryp.ses = sess.ses;
+ 	cryp.len = sizeof("what do ya want for nothing?")-1;
+-	cryp.src = (uint8_t*)"what do ya want for nothing?";
++	cryp.src = (uint8_t *)"what do ya want for nothing?";
+ 	cryp.mac = mac;
+ 	cryp.op = COP_ENCRYPT;
+ 
+@@ -88,7 +88,7 @@ test_crypto(int cfd)
+ 	memset(mac, 0, sizeof(mac));
+ 
+ 	sess.cipher = 0;
+-	sess.mackey = (uint8_t*)"Jefe";
++	sess.mackey = (uint8_t *)"Jefe";
+ 	sess.mackeylen = 4;
+ 	sess.mac = CRYPTO_MD5_HMAC;
+ 	if (ioctl(cfd, CIOCGSESSION, &sess)) {
+@@ -98,7 +98,7 @@ test_crypto(int cfd)
+ 
+ 	cryp.ses = sess.ses;
+ 	cryp.len = sizeof("what do ya want for nothing?")-1;
+-	cryp.src = (uint8_t*)"what do ya want for nothing?";
++	cryp.src = (uint8_t *)"what do ya want for nothing?";
+ 	cryp.mac = mac;
+ 	cryp.op = COP_ENCRYPT;
+ 
+@@ -127,7 +127,7 @@ test_crypto(int cfd)
+ 	sess.keylen = KEY_SIZE;
+ 	sess.key = data.key;
+ 	sess.mackeylen = 16;
+-	sess.mackey = (uint8_t*)"\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b";
++	sess.mackey = (uint8_t *)"\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b";
+ 	if (ioctl(cfd, CIOCGSESSION, &sess)) {
+ 		perror("ioctl(CIOCGSESSION)");
+ 		return 1;
+@@ -206,7 +206,7 @@ test_extras(int cfd)
+ 
+ 	cryp.ses = sess.ses;
+ 	cryp.len = sizeof("what do")-1;
+-	cryp.src = (uint8_t*)"what do";
++	cryp.src = (uint8_t *)"what do";
+ 	cryp.mac = mac;
+ 	cryp.op = COP_ENCRYPT;
+ 	cryp.flags = COP_FLAG_UPDATE;
+@@ -216,7 +216,7 @@ test_extras(int cfd)
+ 
+ 	cryp.ses = sess.ses;
+ 	cryp.len = sizeof(" ya want for nothing?")-1;
+-	cryp.src = (uint8_t*)" ya want for nothing?";
++	cryp.src = (uint8_t *)" ya want for nothing?";
+ 	cryp.mac = mac;
+ 	cryp.op = COP_ENCRYPT;
+ 	cryp.flags = COP_FLAG_FINAL;
+diff --git a/tests/cipher-aead.c b/tests/cipher-aead.c
+index b329d12..305b720 100644
+--- a/tests/cipher-aead.c
++++ b/tests/cipher-aead.c
+@@ -118,7 +118,7 @@ test_crypto(int cfd)
+ 
+ 	sess.mac = CRYPTO_SHA1_HMAC;
+ 	sess.mackeylen = 16;
+-	sess.mackey = (uint8_t*)"\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b";
++	sess.mackey = (uint8_t *)"\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b";
+ 
+ 	if (ioctl(cfd, CIOCGSESSION, &sess)) {
+ 		perror("ioctl(CIOCGSESSION)");
+@@ -271,7 +271,7 @@ test_encrypt_decrypt(int cfd)
+ 
+ 	sess.mac = CRYPTO_SHA1_HMAC;
+ 	sess.mackeylen = 16;
+-	sess.mackey = (uint8_t*)"\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b";
++	sess.mackey = (uint8_t *)"\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b";
+ 
+ 	if (ioctl(cfd, CIOCGSESSION, &sess)) {
+ 		perror("ioctl(CIOCGSESSION)");
+@@ -329,7 +329,7 @@ test_encrypt_decrypt(int cfd)
+ 	sess.key = key;
+ 	sess.mac = CRYPTO_SHA1_HMAC;
+ 	sess.mackeylen = 16;
+-	sess.mackey = (uint8_t*)"\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b";
++	sess.mackey = (uint8_t *)"\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b";
+ 
+ 	if (ioctl(cfd, CIOCGSESSION, &sess)) {
+ 		perror("ioctl(CIOCGSESSION)");
+@@ -420,7 +420,7 @@ test_encrypt_decrypt_error(int cfd, int err)
+ 
+ 	sess.mac = CRYPTO_SHA1_HMAC;
+ 	sess.mackeylen = 16;
+-	sess.mackey = (uint8_t*)"\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b";
++	sess.mackey = (uint8_t *)"\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b";
+ 
+ 	if (ioctl(cfd, CIOCGSESSION, &sess)) {
+ 		perror("ioctl(CIOCGSESSION)");
+@@ -477,7 +477,7 @@ test_encrypt_decrypt_error(int cfd, int err)
+ 	sess.key = key;
+ 	sess.mac = CRYPTO_SHA1_HMAC;
+ 	sess.mackeylen = 16;
+-	sess.mackey = (uint8_t*)"\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b";
++	sess.mackey = (uint8_t *)"\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b";
+ 
+ 	if (ioctl(cfd, CIOCGSESSION, &sess)) {
+ 		perror("ioctl(CIOCGSESSION)");
+diff --git a/tests/cipher-gcm.c b/tests/cipher-gcm.c
+index d5f8486..36c827a 100644
+--- a/tests/cipher-gcm.c
++++ b/tests/cipher-gcm.c
+@@ -46,45 +46,45 @@ struct aes_gcm_vectors_st {
+ 
+ struct aes_gcm_vectors_st aes_gcm_vectors[] = {
+ 	{
+-	 .key = (uint8_t*)
++	 .key = (uint8_t *)
+ 	 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00",
+ 	 .auth = NULL,
+ 	 .auth_size = 0,
+-	 .plaintext = (uint8_t*)
++	 .plaintext = (uint8_t *)
+ 	 "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00",
+ 	 .plaintext_size = 16,
+-	 .ciphertext = (uint8_t*)
++	 .ciphertext = (uint8_t *)
+ 	 "\x03\x88\xda\xce\x60\xb6\xa3\x92\xf3\x28\xc2\xb9\x71\xb2\xfe\x78",
+-	 .iv = (uint8_t*)"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00",
+-	 .tag = (uint8_t*)
++	 .iv = (uint8_t *)"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00",
++	 .tag = (uint8_t *)
+ 	 "\xab\x6e\x47\xd4\x2c\xec\x13\xbd\xf5\x3a\x67\xb2\x12\x57\xbd\xdf"
+ 	},
+ 	{
+-	 .key = (uint8_t*)
++	 .key = (uint8_t *)
+ 	 "\xfe\xff\xe9\x92\x86\x65\x73\x1c\x6d\x6a\x8f\x94\x67\x30\x83\x08",
+ 	 .auth = NULL,
+ 	 .auth_size = 0,
+-	 .plaintext = (uint8_t*)
++	 .plaintext = (uint8_t *)
+ 	 "\xd9\x31\x32\x25\xf8\x84\x06\xe5\xa5\x59\x09\xc5\xaf\xf5\x26\x9a\x86\xa7\xa9\x53\x15\x34\xf7\xda\x2e\x4c\x30\x3d\x8a\x31\x8a\x72\x1c\x3c\x0c\x95\x95\x68\x09\x53\x2f\xcf\x0e\x24\x49\xa6\xb5\x25\xb1\x6a\xed\xf5\xaa\x0d\xe6\x57\xba\x63\x7b\x39\x1a\xaf\xd2\x55",
+ 	 .plaintext_size = 64,
+-	 .ciphertext = (uint8_t*)
++	 .ciphertext = (uint8_t *)
+ 	 "\x42\x83\x1e\xc2\x21\x77\x74\x24\x4b\x72\x21\xb7\x84\xd0\xd4\x9c\xe3\xaa\x21\x2f\x2c\x02\xa4\xe0\x35\xc1\x7e\x23\x29\xac\xa1\x2e\x21\xd5\x14\xb2\x54\x66\x93\x1c\x7d\x8f\x6a\x5a\xac\x84\xaa\x05\x1b\xa3\x0b\x39\x6a\x0a\xac\x97\x3d\x58\xe0\x91\x47\x3f\x59\x85",
+-	 .iv = (uint8_t*)"\xca\xfe\xba\xbe\xfa\xce\xdb\xad\xde\xca\xf8\x88",
+-	 .tag = (uint8_t*)"\x4d\x5c\x2a\xf3\x27\xcd\x64\xa6\x2c\xf3\x5a\xbd\x2b\xa6\xfa\xb4"
++	 .iv = (uint8_t *)"\xca\xfe\xba\xbe\xfa\xce\xdb\xad\xde\xca\xf8\x88",
++	 .tag = (uint8_t *)"\x4d\x5c\x2a\xf3\x27\xcd\x64\xa6\x2c\xf3\x5a\xbd\x2b\xa6\xfa\xb4"
+ 	},
+ 	{
+-	 .key = (uint8_t*)
++	 .key = (uint8_t *)
+ 	 "\xfe\xff\xe9\x92\x86\x65\x73\x1c\x6d\x6a\x8f\x94\x67\x30\x83\x08",
+-	 .auth = (uint8_t*)
++	 .auth = (uint8_t *)
+ 	 "\xfe\xed\xfa\xce\xde\xad\xbe\xef\xfe\xed\xfa\xce\xde\xad\xbe\xef\xab\xad\xda\xd2",
+ 	 .auth_size = 20,
+-	 .plaintext = (uint8_t*)
++	 .plaintext = (uint8_t *)
+ 	 "\xd9\x31\x32\x25\xf8\x84\x06\xe5\xa5\x59\x09\xc5\xaf\xf5\x26\x9a\x86\xa7\xa9\x53\x15\x34\xf7\xda\x2e\x4c\x30\x3d\x8a\x31\x8a\x72\x1c\x3c\x0c\x95\x95\x68\x09\x53\x2f\xcf\x0e\x24\x49\xa6\xb5\x25\xb1\x6a\xed\xf5\xaa\x0d\xe6\x57\xba\x63\x7b\x39",
+ 	 .plaintext_size = 60,
+-	 .ciphertext = (uint8_t*)
++	 .ciphertext = (uint8_t *)
+ 	 "\x42\x83\x1e\xc2\x21\x77\x74\x24\x4b\x72\x21\xb7\x84\xd0\xd4\x9c\xe3\xaa\x21\x2f\x2c\x02\xa4\xe0\x35\xc1\x7e\x23\x29\xac\xa1\x2e\x21\xd5\x14\xb2\x54\x66\x93\x1c\x7d\x8f\x6a\x5a\xac\x84\xaa\x05\x1b\xa3\x0b\x39\x6a\x0a\xac\x97\x3d\x58\xe0\x91",
+-	 .iv = (uint8_t*)"\xca\xfe\xba\xbe\xfa\xce\xdb\xad\xde\xca\xf8\x88",
+-	 .tag = (uint8_t*)
++	 .iv = (uint8_t *)"\xca\xfe\xba\xbe\xfa\xce\xdb\xad\xde\xca\xf8\x88",
++	 .tag = (uint8_t *)
+ 	 "\x5b\xc9\x4f\xbc\x32\x21\xa5\xdb\x94\xfa\xe9\x5a\xe7\x12\x1a\x47"
+ 	}
+ };
+@@ -233,8 +233,8 @@ static int test_encrypt_decrypt(int cfd)
+ //      printf("requested cipher CRYPTO_AES_CBC/HMAC-SHA1, got %s with driver %s\n",
+ //                      siop.cipher_info.cra_name, siop.cipher_info.cra_driver_name);
+ 
+-	plaintext = (__u8 *)buf_align(plaintext_raw, siop.alignmask);
+-	ciphertext = (__u8 *)buf_align(ciphertext_raw, siop.alignmask);
++	plaintext = (uint8_t *)buf_align(plaintext_raw, siop.alignmask);
++	ciphertext = (uint8_t *)buf_align(ciphertext_raw, siop.alignmask);
+ 
+ 	memset(plaintext, 0x15, DATA_SIZE);
+ 
+@@ -382,8 +382,8 @@ static int test_encrypt_decrypt_error(int cfd, int err)
+ //      printf("requested cipher CRYPTO_AES_CBC/HMAC-SHA1, got %s with driver %s\n",
+ //                      siop.cipher_info.cra_name, siop.cipher_info.cra_driver_name);
+ 
+-	plaintext = (__u8 *)buf_align(plaintext_raw, siop.alignmask);
+-	ciphertext = (__u8 *)buf_align(ciphertext_raw, siop.alignmask);
++	plaintext = (uint8_t *)buf_align(plaintext_raw, siop.alignmask);
++	ciphertext = (uint8_t *)buf_align(ciphertext_raw, siop.alignmask);
+ 
+ 	memset(plaintext, 0x15, DATA_SIZE);
+ 	memcpy(ciphertext, plaintext, DATA_SIZE);
+diff --git a/tests/cipher.c b/tests/cipher.c
+index 222f095..fab3de6 100644
+--- a/tests/cipher.c
++++ b/tests/cipher.c
+@@ -9,7 +9,6 @@
+ #include <unistd.h>
+ #include <fcntl.h>
+ #include <stdint.h>
+-
+ #include <sys/ioctl.h>
+ #include <crypto/cryptodev.h>
+ #include "testhelper.h"
+diff --git a/tests/fullspeed.c b/tests/fullspeed.c
+index c025130..ae873e2 100644
+--- a/tests/fullspeed.c
++++ b/tests/fullspeed.c
+@@ -24,6 +24,7 @@
+ #include <sys/time.h>
+ #include <sys/types.h>
+ #include <signal.h>
++#include <stdint.h>
+ #include <unistd.h>
+ #include <stdint.h>
+ 
+diff --git a/tests/hmac.c b/tests/hmac.c
+index 3b248f3..8d6492e 100644
+--- a/tests/hmac.c
++++ b/tests/hmac.c
+@@ -69,7 +69,7 @@ test_crypto(int cfd)
+ 
+ 	cryp.ses = sess.ses;
+ 	cryp.len = sizeof("what do ya want for nothing?")-1;
+-	cryp.src = (uint8_t*)"what do ya want for nothing?";
++	cryp.src = (uint8_t *)"what do ya want for nothing?";
+ 	cryp.mac = mac;
+ 	cryp.op = COP_ENCRYPT;
+ 	if (ioctl(cfd, CIOCCRYPT, &cryp)) {
+@@ -92,7 +92,7 @@ test_crypto(int cfd)
+ 	memset(mac, 0, sizeof(mac));
+ 
+ 	sess.cipher = 0;
+-	sess.mackey = (uint8_t*)"Jefe";
++	sess.mackey = (uint8_t *)"Jefe";
+ 	sess.mackeylen = 4;
+ 	sess.mac = CRYPTO_MD5_HMAC;
+ 	if (ioctl(cfd, CIOCGSESSION, &sess)) {
+@@ -113,7 +113,7 @@ test_crypto(int cfd)
+ 
+ 	cryp.ses = sess.ses;
+ 	cryp.len = sizeof("what do ya want for nothing?")-1;
+-	cryp.src = (uint8_t*)"what do ya want for nothing?";
++	cryp.src = (uint8_t *)"what do ya want for nothing?";
+ 	cryp.mac = mac;
+ 	cryp.op = COP_ENCRYPT;
+ 	if (ioctl(cfd, CIOCCRYPT, &cryp)) {
+@@ -138,7 +138,7 @@ test_crypto(int cfd)
+ 	sess.keylen = KEY_SIZE;
+ 	sess.key = data.key;
+ 	sess.mackeylen = 16;
+-	sess.mackey = (uint8_t*)"\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b";
++	sess.mackey = (uint8_t *)"\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b";
+ 	if (ioctl(cfd, CIOCGSESSION, &sess)) {
+ 		perror("ioctl(CIOCGSESSION)");
+ 		return 1;
+@@ -244,7 +244,7 @@ test_extras(int cfd)
+ 
+ 	cryp.ses = sess.ses;
+ 	cryp.len = sizeof("what do")-1;
+-	cryp.src = (uint8_t*)"what do";
++	cryp.src = (uint8_t *)"what do";
+ 	cryp.mac = mac;
+ 	cryp.op = COP_ENCRYPT;
+ 	cryp.flags = COP_FLAG_UPDATE;
+@@ -255,7 +255,7 @@ test_extras(int cfd)
+ 
+ 	cryp.ses = sess.ses;
+ 	cryp.len = sizeof(" ya want for nothing?")-1;
+-	cryp.src = (uint8_t*)" ya want for nothing?";
++	cryp.src = (uint8_t *)" ya want for nothing?";
+ 	cryp.mac = mac;
+ 	cryp.op = COP_ENCRYPT;
+ 	cryp.flags = COP_FLAG_FINAL;
+-- 
+2.10.2
+
diff --git a/recipes-kernel/cryptodev/sdk_patches/0098-reduce-tests-Makefile-distance-with-upstream.patch b/recipes-kernel/cryptodev/sdk_patches/0098-reduce-tests-Makefile-distance-with-upstream.patch
new file mode 100644
index 0000000..42b5cbe
--- /dev/null
+++ b/recipes-kernel/cryptodev/sdk_patches/0098-reduce-tests-Makefile-distance-with-upstream.patch
@@ -0,0 +1,25 @@
+From badd002fe5bdcaf7a7d856f174e2abb10b939467 Mon Sep 17 00:00:00 2001
+From: Cristian Stoica <cristian.stoica@nxp.com>
+Date: Tue, 29 Nov 2016 13:37:24 +0200
+Subject: [PATCH 098/104] reduce tests/Makefile distance with upstream
+
+Signed-off-by: Cristian Stoica <cristian.stoica@nxp.com>
+---
+ tests/Makefile | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/tests/Makefile b/tests/Makefile
+index 88f5040..5a09414 100644
+--- a/tests/Makefile
++++ b/tests/Makefile
+@@ -1,5 +1,5 @@
+-CRYPTODEV_CFLAGS += -DENABLE_ASYNC -std=gnu90 -Wall -Werror
+-CFLAGS += -I.. $(CRYPTODEV_CFLAGS)
++CRYPTODEV_CFLAGS += -DENABLE_ASYNC -std=gnu90
++CFLAGS += -I.. $(CRYPTODEV_CFLAGS) -Wall -Werror
+ 
+ comp_progs := cipher_comp hash_comp hmac_comp
+ 
+-- 
+2.10.2
+
diff --git a/recipes-kernel/cryptodev/sdk_patches/0099-add-support-for-authenc-hmac-sha1-cbc-aes-speed-test.patch b/recipes-kernel/cryptodev/sdk_patches/0099-add-support-for-authenc-hmac-sha1-cbc-aes-speed-test.patch
new file mode 100644
index 0000000..f65979a
--- /dev/null
+++ b/recipes-kernel/cryptodev/sdk_patches/0099-add-support-for-authenc-hmac-sha1-cbc-aes-speed-test.patch
@@ -0,0 +1,288 @@
+From d2cb6745bb166818b6bd9e9011990453fedbccef Mon Sep 17 00:00:00 2001
+From: Alexe Radu <radu.alexe@nxp.com>
+Date: Fri, 9 Dec 2016 15:25:20 +0200
+Subject: [PATCH 099/104] add support for authenc(hmac(sha1), cbc(aes)) speed
+ tests
+
+Signed-off-by: Alexe Radu <radu.alexe@nxp.com>
+---
+ crypto/cryptodev.h |   1 +
+ ioctl.c            |   5 ++
+ tests/speed.c      | 155 +++++++++++++++++++++++++++++++++++++++++++++++------
+ 3 files changed, 146 insertions(+), 15 deletions(-)
+
+diff --git a/crypto/cryptodev.h b/crypto/cryptodev.h
+index 05221a4..05dc57b 100644
+--- a/crypto/cryptodev.h
++++ b/crypto/cryptodev.h
+@@ -62,6 +62,7 @@ enum cryptodev_crypto_op_t {
+ 	CRYPTO_TLS12_3DES_CBC_HMAC_SHA1,
+ 	CRYPTO_TLS12_AES_CBC_HMAC_SHA1,
+ 	CRYPTO_TLS12_AES_CBC_HMAC_SHA256,
++	CRYPTO_AUTHENC_HMAC_SHA1_CBC_AES,
+ 	CRYPTO_ALGORITHM_ALL, /* Keep updated - see below */
+ };
+ 
+diff --git a/ioctl.c b/ioctl.c
+index e3b8af1..7288ffc 100644
+--- a/ioctl.c
++++ b/ioctl.c
+@@ -222,6 +222,11 @@ crypto_create_session(struct fcrypt *fcr, struct session_op *sop)
+ 		stream = 0;
+ 		aead = 1;
+ 		break;
++	case CRYPTO_AUTHENC_HMAC_SHA1_CBC_AES:
++		alg_name = "authenc(hmac(sha1),cbc(aes))";
++		stream = 0;
++		aead = 1;
++		break;
+ 	case CRYPTO_NULL:
+ 		alg_name = "ecb(cipher_null)";
+ 		stream = 1;
+diff --git a/tests/speed.c b/tests/speed.c
+index fc38a63..61259b9 100644
+--- a/tests/speed.c
++++ b/tests/speed.c
+@@ -33,12 +33,15 @@
+ #include <stdint.h>
+ #include <inttypes.h>
+ 
++#define AUTH_SIZE 	31
++#define TAG_LEN		20
+ 
+ struct test_params {
+ 	bool tflag;
+ 	bool nflag;
+ 	bool mflag;
+ 	bool aflag;
++	bool authflag;
+ 	int tvalue;
+ 	int nvalue;
+ };
+@@ -59,8 +62,9 @@ int run_aes_256_xts(int fdc, struct test_params tp);
+ int run_crc32c(int fdc, struct test_params tp);
+ int run_sha1(int fdc, struct test_params tp);
+ int run_sha256(int fdc, struct test_params tp);
++int run_authenc(int fdc, struct test_params tp);
+ 
+-#define ALG_COUNT	6
++#define ALG_COUNT	7
+ struct {
+ 	char *name;
+ 	int (*func)(int, struct test_params);
+@@ -71,6 +75,7 @@ struct {
+ 	{"crc32c",	run_crc32c},
+ 	{"sha1",	run_sha1},
+ 	{"sha256",	run_sha256},
++	{"authenc", 	run_authenc},
+ };
+ 
+ static double udifftimeval(struct timeval start, struct timeval end)
+@@ -269,7 +274,7 @@ static int encrypt_sync(int fdc, struct test_params tp, struct session_op *sess)
+ 	}
+ 	memset(buffer, val++, tp.nvalue);
+ 
+-	must_finish = 0;
++	must_finish = 1;
+ 	alarm(tp.tvalue);
+ 
+ 	gettimeofday(&start, NULL);
+@@ -305,6 +310,84 @@ static int encrypt_sync(int fdc, struct test_params tp, struct session_op *sess)
+ 	return 0;
+ }
+ 
++static int encrypt_auth(int fdc, struct test_params tp, struct session_op *sess)
++{
++	struct crypt_auth_op cao;
++	char *buffer, iv[32];
++	uint8_t auth[AUTH_SIZE];
++	static int val = 23;
++	struct timeval start, end;
++	uint64_t total = 0;
++	double secs, ddata, dspeed;
++	char metric[16];
++	int alignmask;
++	int min_alignmask = sizeof(void*) - 1;
++	int alloc_size;
++
++	memset(iv, 0x23, 32);
++	memset(auth, 0xf1, sizeof(auth));
++
++	if (!tp.mflag) {
++		printf("\tBuffer size %d bytes: ", tp.nvalue);
++		fflush(stdout);
++	}
++
++	alloc_size = tp.nvalue + TAG_LEN;
++	alignmask = get_alignmask(fdc, sess);
++	if (alignmask) {
++		alignmask = ((alignmask < min_alignmask) ? min_alignmask : alignmask);
++		if (posix_memalign((void **)(&buffer), alignmask + 1, alloc_size)) {
++			printf("posix_memalign() failed!\n");
++			return 1;
++		}
++	} else {
++		if (!(buffer = malloc(alloc_size))) {
++			perror("malloc()");
++			return 1;
++		}
++	}
++	memset(buffer, val++, tp.nvalue);
++
++	must_finish = 0;
++	alarm(tp.tvalue);
++
++	gettimeofday(&start, NULL);
++	do {
++		memset(&cao, 0, sizeof(cao));
++		cao.ses = sess->ses;
++		cao.auth_src = auth;
++		cao.auth_len = sizeof(auth);
++		cao.len = tp.nvalue;
++		cao.iv = (unsigned char *)iv;
++		cao.op = COP_ENCRYPT;
++		cao.src = (unsigned char *)buffer;
++		cao.dst = cao.src;
++		cao.tag_len = TAG_LEN;
++		cao.flags = COP_FLAG_AEAD_TLS_TYPE;
++
++		if (ioctl(fdc, CIOCAUTHCRYPT, &cao)) {
++			perror("ioctl(CIOCAUTHCRYPT)");
++			return 1;
++		}
++		total += cao.len;
++	} while(!must_finish);
++	gettimeofday(&end, NULL);
++
++	secs = udifftimeval(start, end)/ 1000000.0;
++
++	if (tp.mflag) {
++		value2machine(total, secs, &dspeed);
++		printf("%" PRIu64 "\t%.2f\t%.2f\n", total, secs, dspeed);
++	} else {
++		value2human(total, secs, &ddata, &dspeed, metric);
++		printf ("done. %.2f %s in %.2f secs: ", ddata, metric, secs);
++		printf ("%.2f %s/sec\n", dspeed, metric);
++	}
++
++	free(buffer);
++	return 0;
++}
++
+ void usage(char *cmd_name)
+ {
+ 	printf(usage_str, cmd_name);
+@@ -326,11 +409,19 @@ int run_test(int id, struct test_params tp)
+ 		return -EINVAL;
+ 	}
+ 
++	if (strcmp("authenc", ciphers[id].name) == 0) {
++		tp.authflag = true;
++	}
++
+ 	if (!tp.mflag) {
+-		char *type;
+-		type = tp.aflag ? "async" : "sync";
++		if (tp.authflag) {
++			fprintf(stderr, "Testing %s:\n", ciphers[id].name);
++		} else {
++			char *type;
++			type = tp.aflag ? "async" : "sync";
+ 
+-		fprintf(stderr, "Testing %s %s:\n", type, ciphers[id].name);
++			fprintf(stderr, "Testing %s %s:\n", type, ciphers[id].name);
++		}
+ 	}
+ 	err = ciphers[id].func(fdc, tp);
+ 
+@@ -340,17 +431,30 @@ int run_test(int id, struct test_params tp)
+ 	return err;
+ }
+ 
+-void do_test_vectors(int fdc, struct test_params tp, struct session_op *sess)
++static int start_test (int fdc, struct test_params tp, struct session_op *sess)
+ {
+-	int i;
+ 	int err;
+ 
+-	if (tp.nflag) {
++	if (tp.authflag) {
++		err = encrypt_auth(fdc, tp, sess);
++	} else {
+ 		if (tp.aflag) {
+-			encrypt_async(fdc, tp, sess);
++			err = encrypt_async(fdc, tp, sess);
+ 		} else {
+-			encrypt_sync(fdc, tp, sess);
++			err = encrypt_sync(fdc, tp, sess);
+ 		}
++	}
++
++	return err;
++}
++
++void do_test_vectors(int fdc, struct test_params tp, struct session_op *sess)
++{
++	int i;
++	int err;
++
++	if (tp.nflag) {
++		err = start_test(fdc, tp, sess);
+ 	} else {
+ 		for (i = 256; i <= (64 * 1024); i *= 2) {
+ 			if (must_exit) {
+@@ -358,11 +462,7 @@ void do_test_vectors(int fdc, struct test_params tp, struct session_op *sess)
+ 			}
+ 
+ 			tp.nvalue = i;
+-			if (tp.aflag) {
+-				err = encrypt_async(fdc, tp, sess);
+-			} else {
+-				err = encrypt_sync(fdc, tp, sess);
+-			}
++			err = start_test(fdc, tp, sess);
+ 
+ 			if (err != 0) {
+ 				break;
+@@ -474,6 +574,30 @@ int run_sha256(int fdc, struct test_params tp)
+ 	return 0;
+ }
+ 
++int run_authenc(int fdc, struct test_params tp)
++{
++	struct session_op sess;
++	char *mkeybuf = "\x00\x00\x00\x00\x00\x00\x00\x00"
++		          "\x00\x00\x00\x00\x00\x00\x00\x00"
++		          "\x00\x00\x00\x00";
++	char *ckeybuf = "\x06\xa9\x21\x40\x36\xb8\xa1\x5b"
++		          "\x51\x2e\x03\xd5\x34\x12\x00\x06";
++
++	memset(&sess, 0, sizeof(sess));
++	sess.cipher = CRYPTO_AUTHENC_HMAC_SHA1_CBC_AES;
++	sess.keylen = 16;
++	sess.key = (unsigned char *)ckeybuf;
++	sess.mackeylen = 20;
++	sess.mackey = (unsigned char *)mkeybuf;
++	if (ioctl(fdc, CIOCGSESSION, &sess)) {
++		perror("ioctl(CIOCGSESSION)");
++		return -EINVAL;
++	}
++
++	do_test_vectors(fdc, tp, &sess);
++	return 0;
++}
++
+ int main(int argc, char **argv)
+ {
+ 	int err = 0;
+@@ -487,6 +611,7 @@ int main(int argc, char **argv)
+ 	tp.nflag = false;
+ 	tp.mflag = false;
+ 	tp.aflag = false;
++	tp.authflag = false;
+ 	alg_flag = false;
+ 	opterr = 0;
+ 	while ((c = getopt(argc, argv, "ahn:t:m")) != -1) {
+-- 
+2.10.2
+
diff --git a/recipes-kernel/cryptodev/sdk_patches/0100-close-the-session-after-every-test.patch b/recipes-kernel/cryptodev/sdk_patches/0100-close-the-session-after-every-test.patch
new file mode 100644
index 0000000..a108b9d
--- /dev/null
+++ b/recipes-kernel/cryptodev/sdk_patches/0100-close-the-session-after-every-test.patch
@@ -0,0 +1,108 @@
+From 3ca93181fbcaa0acac01588738eb50270cf4999a Mon Sep 17 00:00:00 2001
+From: Alexe Radu <radu.alexe@nxp.com>
+Date: Fri, 9 Dec 2016 16:05:56 +0200
+Subject: [PATCH 100/104] close the session after every test
+
+Signed-off-by: Alexe Radu <radu.alexe@nxp.com>
+---
+ tests/speed.c | 42 ++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 42 insertions(+)
+
+diff --git a/tests/speed.c b/tests/speed.c
+index 61259b9..99ef75b 100644
+--- a/tests/speed.c
++++ b/tests/speed.c
+@@ -488,6 +488,12 @@ int run_null(int fdc, struct test_params tp)
+ 	}
+ 
+ 	do_test_vectors(fdc, tp, &sess);
++
++	if (ioctl(fdc, CIOCFSESSION, &sess)) {
++		perror("ioctl(CIOCFSESSION)");
++		return -EINVAL;
++	}
++
+ 	return 0;
+ }
+ 
+@@ -507,6 +513,12 @@ int run_aes_128_cbc(int fdc, struct test_params tp)
+ 	}
+ 
+ 	do_test_vectors(fdc, tp, &sess);
++
++	if (ioctl(fdc, CIOCFSESSION, &sess)) {
++		perror("ioctl(CIOCFSESSION)");
++		return -EINVAL;
++	}
++
+ 	return 0;
+ }
+ 
+@@ -526,6 +538,12 @@ int run_aes_256_xts(int fdc, struct test_params tp)
+ 	}
+ 
+ 	do_test_vectors(fdc, tp, &sess);
++
++	if (ioctl(fdc, CIOCFSESSION, &sess)) {
++		perror("ioctl(CIOCFSESSION)");
++		return -EINVAL;
++	}
++
+ 	return 0;
+ }
+ 
+@@ -541,6 +559,12 @@ int run_crc32c(int fdc, struct test_params tp)
+ 	}
+ 
+ 	do_test_vectors(fdc, tp, &sess);
++
++	if (ioctl(fdc, CIOCFSESSION, &sess)) {
++		perror("ioctl(CIOCFSESSION)");
++		return -EINVAL;
++	}
++
+ 	return 0;
+ }
+ 
+@@ -556,6 +580,12 @@ int run_sha1(int fdc, struct test_params tp)
+ 	}
+ 
+ 	do_test_vectors(fdc, tp, &sess);
++
++	if (ioctl(fdc, CIOCFSESSION, &sess)) {
++		perror("ioctl(CIOCFSESSION)");
++		return -EINVAL;
++	}
++
+ 	return 0;
+ }
+ 
+@@ -571,6 +601,12 @@ int run_sha256(int fdc, struct test_params tp)
+ 	}
+ 
+ 	do_test_vectors(fdc, tp, &sess);
++
++	if (ioctl(fdc, CIOCFSESSION, &sess)) {
++		perror("ioctl(CIOCFSESSION)");
++		return -EINVAL;
++	}
++
+ 	return 0;
+ }
+ 
+@@ -595,6 +631,12 @@ int run_authenc(int fdc, struct test_params tp)
+ 	}
+ 
+ 	do_test_vectors(fdc, tp, &sess);
++
++	if (ioctl(fdc, CIOCFSESSION, &sess)) {
++		perror("ioctl(CIOCFSESSION)");
++		return -EINVAL;
++	}
++
+ 	return 0;
+ }
+ 
+-- 
+2.10.2
+
diff --git a/recipes-kernel/cryptodev/sdk_patches/0101-add-support-for-rsa-speed-tests.patch b/recipes-kernel/cryptodev/sdk_patches/0101-add-support-for-rsa-speed-tests.patch
new file mode 100644
index 0000000..a70f368
--- /dev/null
+++ b/recipes-kernel/cryptodev/sdk_patches/0101-add-support-for-rsa-speed-tests.patch
@@ -0,0 +1,179 @@
+From d67b28fb68f1ea56fdf794f516816b6c3ef5649a Mon Sep 17 00:00:00 2001
+From: Radu Alexe <radu.alexe@nxp.com>
+Date: Thu, 12 Jan 2017 19:44:57 +0200
+Subject: [PATCH 101/104] add support for rsa speed tests
+
+Tests are only for rsa 1024 and 2048 and only sync variant.
+
+Signed-off-by: Radu Alexe <radu.alexe@nxp.com>
+---
+ tests/speed.c | 138 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 137 insertions(+), 1 deletion(-)
+
+diff --git a/tests/speed.c b/tests/speed.c
+index 99ef75b..b52938c 100644
+--- a/tests/speed.c
++++ b/tests/speed.c
+@@ -63,8 +63,9 @@ int run_crc32c(int fdc, struct test_params tp);
+ int run_sha1(int fdc, struct test_params tp);
+ int run_sha256(int fdc, struct test_params tp);
+ int run_authenc(int fdc, struct test_params tp);
++int run_rsa(int fdc, struct test_params tp);
+ 
+-#define ALG_COUNT	7
++#define ALG_COUNT	8
+ struct {
+ 	char *name;
+ 	int (*func)(int, struct test_params);
+@@ -76,6 +77,7 @@ struct {
+ 	{"sha1",	run_sha1},
+ 	{"sha256",	run_sha256},
+ 	{"authenc", 	run_authenc},
++	{"rsa",		run_rsa},
+ };
+ 
+ static double udifftimeval(struct timeval start, struct timeval end)
+@@ -640,6 +642,140 @@ int run_authenc(int fdc, struct test_params tp)
+ 	return 0;
+ }
+ 
++char *n_2048 = "\xFA\xBE\x23\x01\x5D\x11\x50\xAA\xAB\xED\x50\xA7\x9B\x93\x7B\xCE"
++		"\x1E\x11\xAE\xC1\x05\xAF\xBA\x57\x18\x6B\xE3\x27\x85\x3A\xFA\xB9"
++		"\x15\x5A\x39\xB2\x38\x60\xB8\x5B\xDF\xD0\x8F\xA3\x37\xEE\xE5\xFD"
++		"\xE2\x98\xF9\x40\xD2\x0A\xE9\x15\x69\x8A\x9D\xBC\x1F\x00\x0B\x95"
++		"\x5A\x19\x14\x4C\x14\x19\x38\x47\x30\x96\x17\xCB\x28\x1C\x1C\x09"
++		"\x14\x79\x55\x26\xAF\x6E\x38\x41\x91\x9D\xF5\x31\x6C\xFB\xCC\x68"
++		"\x08\xA2\x60\xA2\xA4\xE0\x68\x59\x24\xF5\xEB\x57\x88\x5C\x3D\xA3"
++		"\x41\x95\xFF\xD1\x03\xBA\xAE\x18\x55\x5D\xF4\x93\x57\x4D\x02\x11"
++		"\x66\xD8\x44\xF8\x63\x9D\x70\xBE\x98\x93\x43\xE0\x1F\x80\x7A\xE1"
++		"\x6D\xA0\x5D\xC3\xE5\x56\x1C\xDA\x96\x16\xB1\xD8\xBD\x62\x1E\x51"
++		"\x28\xF7\x06\xB7\x6D\xB0\x5A\x5F\x09\x28\xEF\x9B\x33\xA3\x04\x02"
++		"\x08\x4D\xD7\x2C\x22\x77\x3D\x9B\x2E\x45\xE7\x78\x5C\x64\x50\xF3"
++		"\x5B\x98\x6E\x0F\xDE\xA6\xDC\x19\x4D\xFF\xAB\xBE\x6D\xC7\xB1\x55"
++		"\x36\xDD\x40\x07\xEF\x78\xCC\xA1\x8D\x96\x6B\xDA\x48\x4C\x40\x29"
++		"\x46\x7C\xF0\x1A\x6B\xC5\xBB\x8B\xD1\xB0\x6F\x9B\xB7\xC0\x06\xF5"
++		"\x3B\x6F\x2B\x45\xEA\x17\x4C\x16\x2A\xC5\x5E\xB6\x1C\xCB\x3B\xFB";
++
++char *f_2048 = "\x69\xeb\xb3\xb3\x68\xc1\xbf\x17\x57\x63\xca\xa2\x21\xee\x1f\x56"
++		"\x8c\xee\x58\x96\x86\x86\x95\x44\xc7\xff\x75\xeb\xb4\xe8\xf6\x55"
++		"\x20\xa0\xad\x62\x50\xe4\x83\x07\x31\xe9\x41\x03\xf3\x69\x9b\x9b"
++		"\x0d\x68\xf3\x6e\x21\x02\x79\xc5\xa4\xd1\xe5\x11\x56\x9a\x2c\xb8"
++		"\xf5\x76\xab\x04\x03\xcc\x6d\xa3\xf1\xa3\x6a\x57\xfd\x6e\x87\x82"
++		"\xcf\x19\xf8\x0f\x97\x4d\x6e\xb5\xa0\x10\x27\x40\x12\x8b\x9f\x24"
++		"\xb4\x4a\x95\xbe\x6a\x49\x49\x67\xb0\x8f\x77\x5f\x1d\x56\x22\xc6"
++		"\x7d\xb3\x2f\x9e\x62\x4a\x0b\xf2\xca\x9e\xd1\x57\xf8\xf4\x25\x36"
++		"\x54\xe9\x4a\xcd\x4d\x9b\x14\xd5\xe5\x35\x59\x6b\xf5\xd0\x50\x69"
++		"\x5c\xde\x21\x32\xc9\x31\x8f\x21\x66\xda\x32\xb8\x45\x18\x18\x57"
++		"\xb0\x37\xff\xea\xee\x7a\xd5\x01\x36\x72\xb3\xfb\x23\xe2\x5c\xa2"
++		"\x10\xb9\xf3\x8b\xda\x37\x46\x7e\xac\xf5\x6c\xae\x18\x69\xbc\x9d"
++		"\x6e\xd7\x61\x7c\x85\x63\x41\x5e\x8b\xab\x12\xbe\x37\x1a\x67\xdd"
++		"\x86\xf2\xf9\xc8\x3a\xd7\xcd\x92\x72\xaf\xad\x46\xb0\x5b\x33\xd9"
++		"\x1c\x32\x02\x3c\xae\xe0\x5d\x87\xde\x95\x59\x10\x4e\xa7\xdf\x7f"
++		"\x94\x2d\xea\x9b\x7a\x53\x54\xc7\xf9\x66\xd1\x14\x0b\xd7\xef\x00";
++
++char *n_1024 = "\xF8\x99\x5E\xC7\xED\x60\x4B\xBA\x77\x0A\x52\xD0\xFF\xE6\x45\x47"
++		"\x04\xDE\xB3\x40\x16\x23\xB4\x58\x0A\xFF\xAF\x0D\x26\x1B\x5E\x0D"
++		"\x61\xA2\x4A\x7B\x2E\x70\x2A\x54\x21\xCB\x01\x31\xBC\xBE\xAE\xC9"
++		"\x5B\x3B\x20\x0B\x95\x06\x41\x03\xDB\xEF\x81\xE2\xFB\x42\xE8\x02"
++		"\x1D\xD2\xA7\xFD\xC3\xA0\x3F\x74\x6D\x99\x8D\x60\xBA\x43\x82\x6C"
++		"\x96\x24\x1D\xE5\xE3\x2C\xB7\x66\xAB\x2B\x4C\xFD\x23\xFF\xE0\x09"
++		"\x17\x3E\x01\xCB\xDC\xB2\xD2\xA9\x98\x99\x01\x91\x16\xAB\x77\xD7"
++		"\x97\x52\xBD\x49\xB2\xAF\x61\x95\xE8\xA2\x34\x9C\xC4\x00\xCC\x17";
++
++char *f_1024 = "\x8f\x2d\x06\x83\xee\x08\x97\xa4\x86\x3a\xf2\xa3\xd1\x6d\x33\x10"
++		"\x49\x1d\xb6\xd0\xe3\x7b\x16\x5a\x1a\x5c\x98\x36\xab\xd2\xa9\x82"
++		"\x5c\x1b\xc1\x9e\xdc\x50\x45\x05\xe0\x2e\x14\x83\x86\x47\x21\xc5"
++		"\x27\xad\xb1\x74\x5d\x7b\xe2\x92\xfc\x15\xf0\x14\x6c\x8d\x80\xe5"
++		"\x85\x72\x26\xc7\xa3\xd8\xc7\x5a\x10\xcd\x64\xde\x5d\x82\xc1\x53"
++		"\xd7\x2e\x03\xe0\xe2\xe6\xc6\x85\xcc\x07\x25\xa9\x61\xf7\x52\x3f"
++		"\x63\xb1\x54\x6e\x23\xbe\xf0\x6c\xa4\x93\x8c\x39\xe2\xdb\xcb\x1c"
++		"\x4b\x95\x3d\x57\x06\xc9\xce\x44\xe5\xaf\xac\x6b\x67\xdb\x92\x00";
++
++int run_rsa(int fdc, struct test_params tp)
++{
++	struct timeval start, end;
++	double secs, ddata, dspeed;
++	uint64_t total = 0;
++	char metric[16];
++	struct crypt_kop kop;
++	char *n, *f;
++	char *e = "\x01\x00\x01";
++	char g[256];
++
++	if (!tp.nflag)
++		tp.nvalue = 2048;
++
++	switch (tp.nvalue) {
++		case 2048:
++			n = n_2048;
++			f = f_2048;
++			break;
++
++		case 1024:
++			n = n_1024;
++			f = f_1024;
++			break;
++
++		default:
++			if (!tp.mflag) {
++				printf("Error: rsa-%d not supported\n", tp.nvalue);
++				fflush(stdout);
++			}
++
++			return 1;
++	}
++
++	kop.crk_op = CRK_MOD_EXP;
++	kop.crk_iparams = 3;
++	kop.crk_oparams = 1;
++
++	kop.crk_param[0].crp_p = (__u8*)f;
++	kop.crk_param[0].crp_nbits = tp.nvalue;
++
++	kop.crk_param[1].crp_p = (__u8*)e;
++	kop.crk_param[1].crp_nbits = 24;
++
++	kop.crk_param[2].crp_p = (__u8*)n;
++	kop.crk_param[2].crp_nbits = tp.nvalue;
++
++	kop.crk_param[3].crp_p = (__u8*)g;
++	kop.crk_param[3].crp_nbits = sizeof(g) << 3;
++
++	if (!tp.mflag) {
++		printf("\trsa %d: ", tp.nvalue);
++		fflush(stdout);
++	}
++
++	must_finish = 0;
++	alarm(tp.tvalue);
++
++	gettimeofday(&start, NULL);
++	do {
++		if (ioctl(fdc, CIOCKEY, &kop)) {
++			perror("ioctl(CIOCKEY)");
++			return -EINVAL;
++		}
++		total += (tp.nvalue >> 3);
++	} while (!must_finish);
++	gettimeofday(&end, NULL);
++
++	secs = udifftimeval(start, end)/ 1000000.0;
++
++	if (tp.mflag) {
++		value2machine(total, secs, &dspeed);
++		printf("%" PRIu64 "\t%.2f\t%.2f\n", total, secs, dspeed);
++	} else {
++		value2human(total, secs, &ddata, &dspeed, metric);
++		printf ("done. %.2f %s in %.2f secs: ", ddata, metric, secs);
++		printf ("%.2f %s/sec\n", dspeed, metric);
++	}
++
++	return 0;
++}
++
+ int main(int argc, char **argv)
+ {
+ 	int err = 0;
+-- 
+2.10.2
+
diff --git a/recipes-kernel/cryptodev/sdk_patches/0102-adjust-to-API-changes-in-kernel-4.10.patch b/recipes-kernel/cryptodev/sdk_patches/0102-adjust-to-API-changes-in-kernel-4.10.patch
new file mode 100644
index 0000000..5ffc450
--- /dev/null
+++ b/recipes-kernel/cryptodev/sdk_patches/0102-adjust-to-API-changes-in-kernel-4.10.patch
@@ -0,0 +1,57 @@
+From 008516c6a1dd0afe0eadff3ad00c1200c198983f Mon Sep 17 00:00:00 2001
+From: Cristian Stoica <cristian.stoica@nxp.com>
+Date: Wed, 8 Feb 2017 10:19:34 +0200
+Subject: [PATCH 102/104] adjust to API changes in kernel >=4.10
+
+There are many changes related to get_user_pages and the code is rewritten
+for clarity.
+
+Signed-off-by: Cristian Stoica <cristian.stoica@nxp.com>
+---
+ zc.c | 28 +++++++++++++++++-----------
+ 1 file changed, 17 insertions(+), 11 deletions(-)
+
+diff --git a/zc.c b/zc.c
+index e766ee3..2f4ea99 100644
+--- a/zc.c
++++ b/zc.c
+@@ -59,19 +59,25 @@ int __get_userbuf(uint8_t __user *addr, uint32_t len, int write,
+ 	}
+ 
+ 	down_read(&mm->mmap_sem);
+-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 6, 0))
+-	ret = get_user_pages_remote(
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 6, 0))
++	ret = get_user_pages(task, mm,
++			(unsigned long)addr, pgcount, write, 0, pg, NULL);
+ #else
+-	ret = get_user_pages(
+-#endif
+-			task, mm,
+-			(unsigned long)addr, pgcount,
+-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0))
+-			write ? FOLL_WRITE : 0,
+-#else
+-			write, 0,
+-#endif
++#  if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 9, 0))
++	ret = get_user_pages_remote(task, mm,
++			(unsigned long)addr, pgcount, write, 0, pg, NULL);
++#  else
++#    if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 10, 0))
++	ret = get_user_pages_remote(task, mm,
++			(unsigned long)addr, pgcount, write ? FOLL_WRITE : 0,
+ 			pg, NULL);
++#    else
++	ret = get_user_pages_remote(task, mm,
++			(unsigned long)addr, pgcount, write ? FOLL_WRITE : 0,
++			pg, NULL, NULL);
++#    endif
++#  endif
++#endif
+ 	up_read(&mm->mmap_sem);
+ 	if (ret != pgcount)
+ 		return -EINVAL;
+-- 
+2.10.2
+
diff --git a/recipes-kernel/cryptodev/sdk_patches/0103-zc-Use-the-power-of-elif.patch b/recipes-kernel/cryptodev/sdk_patches/0103-zc-Use-the-power-of-elif.patch
new file mode 100644
index 0000000..5c12107
--- /dev/null
+++ b/recipes-kernel/cryptodev/sdk_patches/0103-zc-Use-the-power-of-elif.patch
@@ -0,0 +1,51 @@
+From e2fa367d968926500584912e98cf7b17bd9487a6 Mon Sep 17 00:00:00 2001
+From: Phil Sutter <phil@nwl.cc>
+Date: Thu, 9 Feb 2017 11:40:46 +0100
+Subject: [PATCH 103/104] zc: Use the power of #elif
+
+While here, get rid of that trailing newline as well.
+
+Fixes: 2b29be8ac4141 ("adjust to API changes in kernel >=4.10")
+Suggested-by: Frediano Ziglio <freddy77@gmail.com>
+Signed-off-by: Phil Sutter <phil@nwl.cc>
+---
+ zc.c | 11 +++--------
+ 1 file changed, 3 insertions(+), 8 deletions(-)
+
+diff --git a/zc.c b/zc.c
+index 2f4ea99..ae464ff 100644
+--- a/zc.c
++++ b/zc.c
+@@ -62,21 +62,17 @@ int __get_userbuf(uint8_t __user *addr, uint32_t len, int write,
+ #if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 6, 0))
+ 	ret = get_user_pages(task, mm,
+ 			(unsigned long)addr, pgcount, write, 0, pg, NULL);
+-#else
+-#  if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 9, 0))
++#elif (LINUX_VERSION_CODE < KERNEL_VERSION(4, 9, 0))
+ 	ret = get_user_pages_remote(task, mm,
+ 			(unsigned long)addr, pgcount, write, 0, pg, NULL);
+-#  else
+-#    if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 10, 0))
++#elif (LINUX_VERSION_CODE < KERNEL_VERSION(4, 10, 0))
+ 	ret = get_user_pages_remote(task, mm,
+ 			(unsigned long)addr, pgcount, write ? FOLL_WRITE : 0,
+ 			pg, NULL);
+-#    else
++#else
+ 	ret = get_user_pages_remote(task, mm,
+ 			(unsigned long)addr, pgcount, write ? FOLL_WRITE : 0,
+ 			pg, NULL, NULL);
+-#    endif
+-#  endif
+ #endif
+ 	up_read(&mm->mmap_sem);
+ 	if (ret != pgcount)
+@@ -222,4 +218,3 @@ int get_userbuf(struct csession *ses,
+ 	}
+ 	return 0;
+ }
+-
+-- 
+2.10.2
+
diff --git a/recipes-kernel/cryptodev/sdk_patches/0104-fix-reset-finish-condition-before-test-start.patch b/recipes-kernel/cryptodev/sdk_patches/0104-fix-reset-finish-condition-before-test-start.patch
new file mode 100644
index 0000000..1038bed
--- /dev/null
+++ b/recipes-kernel/cryptodev/sdk_patches/0104-fix-reset-finish-condition-before-test-start.patch
@@ -0,0 +1,29 @@
+From a4b33ea30c86fb727c1d3ac3531c5548b6c194ba Mon Sep 17 00:00:00 2001
+From: Radu Alexe <radu.alexe@nxp.com>
+Date: Tue, 14 Feb 2017 12:52:33 +0200
+Subject: [PATCH 104/104] fix: reset finish condition before test start
+
+Typo from previous commit: ba494703
+"add support for authenc(hmac(sha1), cbc(aes)) speed tests"
+
+Signed-off-by: Radu Alexe <radu.alexe@nxp.com>
+---
+ tests/speed.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tests/speed.c b/tests/speed.c
+index b52938c..ae0b658 100644
+--- a/tests/speed.c
++++ b/tests/speed.c
+@@ -276,7 +276,7 @@ static int encrypt_sync(int fdc, struct test_params tp, struct session_op *sess)
+ 	}
+ 	memset(buffer, val++, tp.nvalue);
+ 
+-	must_finish = 1;
++	must_finish = 0;
+ 	alarm(tp.tvalue);
+ 
+ 	gettimeofday(&start, NULL);
+-- 
+2.10.2
+
diff --git a/recipes-kernel/cryptodev/sdk_patches/0105-update-copyright-notes.patch b/recipes-kernel/cryptodev/sdk_patches/0105-update-copyright-notes.patch
new file mode 100644
index 0000000..f2cd906
--- /dev/null
+++ b/recipes-kernel/cryptodev/sdk_patches/0105-update-copyright-notes.patch
@@ -0,0 +1,77 @@
+From 6c2b61c17681d0e6ddc44b0438c9712fb2810ba6 Mon Sep 17 00:00:00 2001
+From: Cristian Stoica <cristian.stoica@nxp.com>
+Date: Tue, 28 Mar 2017 13:16:14 +0300
+Subject: [PATCH] update copyright notes
+
+Signed-off-by: Cristian Stoica <cristian.stoica@nxp.com>
+---
+ tests/run_crypto_tests.sh | 16 ++++++++++++++++
+ tests/sha_speed.c         |  1 +
+ tests/speed.c             |  1 +
+ zc.c                      |  1 +
+ 4 files changed, 19 insertions(+)
+
+diff --git a/tests/run_crypto_tests.sh b/tests/run_crypto_tests.sh
+index 321b013..225ad7a 100644
+--- a/tests/run_crypto_tests.sh
++++ b/tests/run_crypto_tests.sh
+@@ -1,4 +1,20 @@
+ #!/bin/bash
++#
++#    Copyright 2016 NXP Semiconductors
++#
++#    This program is free software: you can redistribute it and/or modify
++#    it under the terms of the GNU General Public License as published by
++#    the Free Software Foundation, either version 2 of the License, or
++#    (at your option) any later version.
++#
++#    This program is distributed in the hope that it will be useful,
++#    but WITHOUT ANY WARRANTY; without even the implied warranty of
++#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++#    GNU General Public License for more details.
++#
++#    You should have received a copy of the GNU General Public License
++#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
++
+ 
+ 
+ BUF_SIZE="8192 16384 65536 131072 262144"
+diff --git a/tests/sha_speed.c b/tests/sha_speed.c
+index 30b40f5..e6a2ac5 100644
+--- a/tests/sha_speed.c
++++ b/tests/sha_speed.c
+@@ -1,6 +1,7 @@
+ /*  sha_speed - simple SHA benchmark tool for cryptodev
+  *
+  *    Copyright (C) 2011 by Phil Sutter <phil.sutter@viprinet.com>
++ *    Copyright 2016 NXP
+  *
+  *  This program is free software; you can redistribute it and/or modify
+  *  it under the terms of the GNU General Public License as published by
+diff --git a/tests/speed.c b/tests/speed.c
+index ae0b658..6e18960 100644
+--- a/tests/speed.c
++++ b/tests/speed.c
+@@ -1,6 +1,7 @@
+ /*  cryptodev_test - simple benchmark tool for cryptodev
+  *
+  *    Copyright (C) 2010 by Phil Sutter <phil.sutter@viprinet.com>
++ *    Copyright 2016-2017 NXP
+  *
+  *  This program is free software; you can redistribute it and/or modify
+  *  it under the terms of the GNU General Public License as published by
+diff --git a/zc.c b/zc.c
+index ae464ff..63e7c23 100644
+--- a/zc.c
++++ b/zc.c
+@@ -4,6 +4,7 @@
+  * Copyright (c) 2009-2013 Nikos Mavrogiannopoulos <nmav@gnutls.org>
+  * Copyright (c) 2010 Phil Sutter
+  * Copyright (c) 2011, 2012 OpenSSL Software Foundation, Inc.
++ * Copyright 2017 NXP
+  *
+  * This file is part of linux cryptodev.
+  *
+-- 
+1.9.2
+
diff --git a/recipes-kernel/cryptodev/yocto_patches/0001-Disable-installing-header-file-provided-by-another-p.patch b/recipes-kernel/cryptodev/yocto_patches/0001-Disable-installing-header-file-provided-by-another-p.patch
index 6d8db4e..35aad60 100644
--- a/recipes-kernel/cryptodev/yocto_patches/0001-Disable-installing-header-file-provided-by-another-p.patch
+++ b/recipes-kernel/cryptodev/yocto_patches/0001-Disable-installing-header-file-provided-by-another-p.patch
@@ -8,22 +8,15 @@ Subject: [PATCH 1/2] Disable installing header file provided by another
 Signed-off-by: Cristian Stoica <cristian.stoica@nxp.com>
 
 Upstream-Status: Inappropriate [ OE specific ]
----
- Makefile | 1 -
- 1 file changed, 1 deletion(-)
 
-diff --git a/Makefile b/Makefile
-index 9871a8e..06202bd 100644
---- a/Makefile
-+++ b/Makefile
-@@ -33,7 +33,6 @@ install: modules_install
+
+--- a/Makefileold	2017-04-18 14:54:40.588438842 +0800
++++ b/Makefile	2017-04-18 14:55:40.308436774 +0800
+@@ -33,7 +33,6 @@
  
  modules_install:
- 	$(MAKE) -C $(KERNEL_DIR) M=$(PWD) modules_install
+ 	$(MAKE) $(KERNEL_MAKE_OPTS) modules_install
 -	install -m 644 -D crypto/cryptodev.h $(DESTDIR)/$(includedir)/crypto/cryptodev.h
  
  clean:
- 	$(MAKE) -C $(KERNEL_DIR) M=$(PWD) clean
--- 
-2.7.0
-
+ 	$(MAKE) $(KERNEL_MAKE_OPTS) clean
diff --git a/recipes-kernel/cryptodev/yocto_patches/0003-update-the-install-path-for-cryptodev-tests.patch b/recipes-kernel/cryptodev/yocto_patches/0003-update-the-install-path-for-cryptodev-tests.patch
new file mode 100644
index 0000000..4f92dba
--- /dev/null
+++ b/recipes-kernel/cryptodev/yocto_patches/0003-update-the-install-path-for-cryptodev-tests.patch
@@ -0,0 +1,28 @@
+From 5b0d2cf5abaaa3bffb4a9e874dba88bdab15b69d Mon Sep 17 00:00:00 2001
+From: Ting Liu <ting.liu@nxp.com>
+Date: Mon, 20 Feb 2017 22:43:00 +0800
+Subject: [PATCH] update the install path for cryptodev tests
+
+Signed-off-by: Ting Liu <ting.liu@nxp.com>
+---
+ tests/Makefile | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/tests/Makefile b/tests/Makefile
+index dd7d5ff..e1c5039 100644
+--- a/tests/Makefile
++++ b/tests/Makefile
+@@ -37,8 +37,8 @@ install:
+ 	for prog in $(hostprogs); do \
+ 		install -m 755 $$prog $(DESTDIR)/$(bindir)/tests_cryptodev/; \
+ 	done
+-	install -m 755 speed_multi.sh  $(DESTDIR)/$(bindir)
+-	install -m 755 run_crypto_tests.sh  $(DESTDIR)/$(bindir)
++	install -m 755 speed_multi.sh  $(DESTDIR)/$(bindir)/tests_cryptodev/
++	install -m 755 run_crypto_tests.sh  $(DESTDIR)/$(bindir)/tests_cryptodev/
+ 
+ clean:
+ 	rm -f *.o *~ $(hostprogs)
+-- 
+1.9.2
+
-- 
1.9.0



^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [[PATCH v2 22/29] aiopsl: add recipes
  2017-04-26  3:28 [[PATCH v2 01/29] cst :update to a292f9d Chunrong Guo
                   ` (19 preceding siblings ...)
  2017-04-26  3:28 ` [[PATCH v2 21/29] cryptodev: update to 6c2b61c Chunrong Guo
@ 2017-04-26  3:28 ` Chunrong Guo
  2017-04-26  3:28 ` [[PATCH v2 23/29] dce: " Chunrong Guo
                   ` (6 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: Chunrong Guo @ 2017-04-26  3:28 UTC (permalink / raw)
  To: meta-freescale; +Cc: zongchun.yu, chunrong.guo

From: Chunrong Guo <chunrong.guo@nxp.com>

Signed-off-by: Chunrong Guo <B40290@freescale.com>
---
 recipes-dpaa2/aiopsl/aiopsl_git.bb | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)
 create mode 100644 recipes-dpaa2/aiopsl/aiopsl_git.bb

diff --git a/recipes-dpaa2/aiopsl/aiopsl_git.bb b/recipes-dpaa2/aiopsl/aiopsl_git.bb
new file mode 100644
index 0000000..23a5e9d
--- /dev/null
+++ b/recipes-dpaa2/aiopsl/aiopsl_git.bb
@@ -0,0 +1,29 @@
+DESCRIPTION = "DPAA2 Accelerated I/O Processing service layer"
+SECTION = "dpaa2"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=faf479bdc4702d8033049f97e153f876"
+
+BASEDEPENDS = ""
+
+S = "${WORKDIR}/git"
+
+SRC_URI = "git://git.freescale.com/ppc/sdk/aiopsl.git;nobranch=1"
+SRCREV = "80f3d450896d17a3d8e10f3c6d1c224e78d32757"
+
+do_configure[noexec] = "1"
+do_compile[noexec] = "1"
+
+do_install () {
+    install -d ${D}/usr/aiop/bin
+    install -d ${D}/usr/aiop/scripts
+    install -d ${D}/usr/aiop/traffic_files
+    install -m 755 ${S}/demos/images/LS2088A/*.elf ${D}/usr/aiop/bin
+    install -m 755 ${S}/misc/setup/scripts/dynamic_aiop_*.sh ${D}/usr/aiop/scripts
+    install -m 644 ${S}/misc/setup/traffic_files/classifier.pcap ${D}/usr/aiop/traffic_files
+}
+
+FILES_${PN} += "/usr/aiop/*"
+INSANE_SKIP_${PN} += "arch"
+INHIBIT_PACKAGE_STRIP = "1"
+INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
+COMPATIBLE_MACHINE = "(ls2088a)"
-- 
1.9.0



^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [[PATCH v2 23/29] dce: add recipes
  2017-04-26  3:28 [[PATCH v2 01/29] cst :update to a292f9d Chunrong Guo
                   ` (20 preceding siblings ...)
  2017-04-26  3:28 ` [[PATCH v2 22/29] aiopsl: add recipes Chunrong Guo
@ 2017-04-26  3:28 ` Chunrong Guo
  2017-04-26  3:28 ` [[PATCH v2 24/29] gpp-aioptool: " Chunrong Guo
                   ` (5 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: Chunrong Guo @ 2017-04-26  3:28 UTC (permalink / raw)
  To: meta-freescale; +Cc: zongchun.yu, chunrong.guo

From: Chunrong Guo <chunrong.guo@nxp.com>

Signed-off-by: Chunrong Guo <B40290@freescale.com>
---
 recipes-dpaa2/dce/dce/Makefile-obey-LDFLAGS.patch | 27 +++++++++++++++++++++++
 recipes-dpaa2/dce/dce_git.bb                      | 19 ++++++++++++++++
 2 files changed, 46 insertions(+)
 create mode 100644 recipes-dpaa2/dce/dce/Makefile-obey-LDFLAGS.patch
 create mode 100644 recipes-dpaa2/dce/dce_git.bb

diff --git a/recipes-dpaa2/dce/dce/Makefile-obey-LDFLAGS.patch b/recipes-dpaa2/dce/dce/Makefile-obey-LDFLAGS.patch
new file mode 100644
index 0000000..de8ae0c
--- /dev/null
+++ b/recipes-dpaa2/dce/dce/Makefile-obey-LDFLAGS.patch
@@ -0,0 +1,27 @@
+Subject: [PATCH] Makefile:Obey LDFLAGS in Makefile
+
+This avoids a "QA Issue: No GNU_HASH in the elf binary"
+
+Upstream-Status: Pending
+
+Signed-off-by:Chunrong Guo <chunrong.guo@nxp.com>
+
+--- a/Makefileold	2017-04-19 15:32:36.512525035 +0800
++++ b/Makefile	2017-04-19 15:34:29.560521121 +0800
+@@ -46,13 +46,13 @@
+ all: basic_dce_test basic_dce_perf basic_dce_sanity
+ 
+ basic_dce_test: tests/basic_dce_test.o libdce.a
+-	$(CC) $(CFLAGS) $^ -o $@
++	$(CC) $(CFLAGS) $^ -o $@ $(LDFLAGS)
+ 
+ basic_dce_perf: tests/basic_dce_perf.o libdce.a
+-	$(CC) $(CFLAGS) $^ -o $@
++	$(CC) $(CFLAGS) $^ -o $@ $(LDFLAGS)
+ 
+ basic_dce_sanity: tests/basic_dce_sanity.o libdce.a
+-	$(CC) $(CFLAGS) $^ -o $@
++	$(CC) $(CFLAGS) $^ -o $@ $(LDFLAGS)
+ 
+ libdce.a: $(OBJS)
+ 	$(AR) rcs $@ $(OBJS)
diff --git a/recipes-dpaa2/dce/dce_git.bb b/recipes-dpaa2/dce/dce_git.bb
new file mode 100644
index 0000000..fb38636
--- /dev/null
+++ b/recipes-dpaa2/dce/dce_git.bb
@@ -0,0 +1,19 @@
+DESCRIPTION = "Decompression Compression Engine Userspace Utils"
+SECTION = "dpaa2"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3bb80dec5c1b94d99a1422cbfd96192c"
+
+SRC_URI = "git://git.freescale.com/ppc/sdk/dce.git;nobranch=1 \
+           file://Makefile-obey-LDFLAGS.patch \
+"
+SRCREV = "c31f81667f5cebb3e5331c50655473301672e4de"
+
+S = "${WORKDIR}/git"
+
+EXTRA_OEMAKE = 'CROSS_COMPILE=${TARGET_PREFIX} CC="${TARGET_PREFIX}gcc ${TOOLCHAIN_OPTIONS}"'
+
+do_install () {
+    oe_runmake install DESTDIR=${D}
+}
+
+COMPATIBLE_MACHINE = "(ls2080a|ls2088a)"
-- 
1.9.0



^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [[PATCH v2 24/29] gpp-aioptool: add recipes
  2017-04-26  3:28 [[PATCH v2 01/29] cst :update to a292f9d Chunrong Guo
                   ` (21 preceding siblings ...)
  2017-04-26  3:28 ` [[PATCH v2 23/29] dce: " Chunrong Guo
@ 2017-04-26  3:28 ` Chunrong Guo
  2017-04-26  3:28 ` [[PATCH v2 25/29] skmm-ep:update to de6816c Chunrong Guo
                   ` (4 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: Chunrong Guo @ 2017-04-26  3:28 UTC (permalink / raw)
  To: meta-freescale; +Cc: zongchun.yu, chunrong.guo

From: Chunrong Guo <chunrong.guo@nxp.com>

Signed-off-by: Chunrong Guo <B40290@freescale.com>
---
 recipes-dpaa2/gpp-aioptool/gpp-aioptool_git.bb | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)
 create mode 100644 recipes-dpaa2/gpp-aioptool/gpp-aioptool_git.bb

diff --git a/recipes-dpaa2/gpp-aioptool/gpp-aioptool_git.bb b/recipes-dpaa2/gpp-aioptool/gpp-aioptool_git.bb
new file mode 100644
index 0000000..a24604d
--- /dev/null
+++ b/recipes-dpaa2/gpp-aioptool/gpp-aioptool_git.bb
@@ -0,0 +1,25 @@
+DESCRIPTION = "AIOP Tool is a userspace application for performing operations \
+on an AIOP Tile using MC interfaces. This application enables the user to \
+fetch status of tile, load a valid ELF file and run it on a tile and get and set \
+time of day."
+SECTION = "dpaa2"
+LICENSE = "Freescale-EULA"
+LIC_FILES_CHKSUM = "file://Freescale-EULA;md5=395c11b7d81446eaa8f997521afe0ebb"
+
+SRC_URI = "git://git.freescale.com/ppc/sdk/gpp-aioptool.git;nobranch=1 \
+"
+SRCREV = "d2b674e0a084429c89994dc8b39827592917a7a6"
+
+S = "${WORKDIR}/git"
+
+TARGET_CC_ARCH += "${LDFLAGS}"
+
+EXTRA_OEMAKE = 'KERNEL_PATH="${STAGING_KERNEL_DIR}"'
+
+do_configure[depends] += "virtual/kernel:do_shared_workdir"
+
+do_install () {
+    oe_runmake install DESTDIR=${D}
+}
+
+COMPATIBLE_MACHINE = "(ls2088a)"
-- 
1.9.0



^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [[PATCH v2 25/29] skmm-ep:update to de6816c
  2017-04-26  3:28 [[PATCH v2 01/29] cst :update to a292f9d Chunrong Guo
                   ` (22 preceding siblings ...)
  2017-04-26  3:28 ` [[PATCH v2 24/29] gpp-aioptool: " Chunrong Guo
@ 2017-04-26  3:28 ` Chunrong Guo
  2017-04-26  3:28 ` [[PATCH v2 26/29] ppa: Add support for ls1012a Chunrong Guo
                   ` (3 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: Chunrong Guo @ 2017-04-26  3:28 UTC (permalink / raw)
  To: meta-freescale; +Cc: zongchun.yu, chunrong.guo

From: Chunrong Guo <chunrong.guo@nxp.com>

    New commits:
    de6816c  Add back the implicit Makefile rules

Signed-off-by: Chunrong Guo <B40290@freescale.com>
---
 ...-the-inline-function-definition-with-gcc-.patch | 67 ----------------------
 ...p-remove-duplicated-pa_to_va-and-va_to_pa.patch | 40 -------------
 recipes-extended/skmm-ep/skmm-ep_git.bb            |  4 +-
 3 files changed, 1 insertion(+), 110 deletions(-)
 delete mode 100644 recipes-extended/skmm-ep/skmm-ep/skmm-ep-fix-the-inline-function-definition-with-gcc-.patch
 delete mode 100644 recipes-extended/skmm-ep/skmm-ep/skmm-ep-remove-duplicated-pa_to_va-and-va_to_pa.patch

diff --git a/recipes-extended/skmm-ep/skmm-ep/skmm-ep-fix-the-inline-function-definition-with-gcc-.patch b/recipes-extended/skmm-ep/skmm-ep/skmm-ep-fix-the-inline-function-definition-with-gcc-.patch
deleted file mode 100644
index 7acac8c..0000000
--- a/recipes-extended/skmm-ep/skmm-ep/skmm-ep-fix-the-inline-function-definition-with-gcc-.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-From 3293321112174ff3247c0ba5c8b9ba9349e0e623 Mon Sep 17 00:00:00 2001
-From: Zhenhua Luo <zhenhua.luo@freescale.com>
-Date: Mon, 21 Sep 2015 20:38:52 +0800
-Subject: [PATCH] skmm-ep: fix the inline function definition with gcc 5.x
-
-There are different semantics for inline functions for gcc-5.x compared to
-previous gcc. Fix the following build error.
-| skmm.c:(.text.startup+0xfc): undefined reference to `va_to_pa'
-| skmm.c:(.text.startup+0x10c): undefined reference to `va_to_pa'
-
-Upstream-Status: Pending
-
-Signed-off-by: Zhenhua Luo <zhenhua.luo@freescale.com>
----
- apps/skmm/include/skmm_sram.h | 13 +++++++++++--
- apps/skmm/lib/skmm_ddr.c      | 10 ----------
- 2 files changed, 11 insertions(+), 12 deletions(-)
-
-diff --git a/apps/skmm/include/skmm_sram.h b/apps/skmm/include/skmm_sram.h
-index 4c96874..6208761 100644
---- a/apps/skmm/include/skmm_sram.h
-+++ b/apps/skmm/include/skmm_sram.h
-@@ -33,9 +33,18 @@
- #define	__SKMM_SRAM_H__
- 
- #include "common.h"
-+#include <usdpaa/dma_mem.h>
-+
-+static inline va_addr_t pa_to_va(phys_addr_t addr)
-+{
-+        return (va_addr_t)__dma_mem_ptov(addr);
-+}
-+
-+static inline phys_addr_t va_to_pa(va_addr_t addr)
-+{
-+        return (phys_addr_t)__dma_mem_vtop((void *)addr);
-+}
- 
--inline phys_addr_t va_to_pa(va_addr_t addr);
--inline va_addr_t pa_to_va(phys_addr_t addr);
- va_addr_t *fsl_mem_init(phys_addr_t l2_sram_addr);
- 
- #endif /* __SKMM_SRAM_H__ */
-diff --git a/apps/skmm/lib/skmm_ddr.c b/apps/skmm/lib/skmm_ddr.c
-index d5a66ce..f1cef89 100644
---- a/apps/skmm/lib/skmm_ddr.c
-+++ b/apps/skmm/lib/skmm_ddr.c
-@@ -35,16 +35,6 @@
- #define SKMM_TOTAL_DMA_SIZE	(64 * 1024 * 1024)
- #define SKMM_DMA_MAP_SIZE	(1*1024*1024)
- 
--inline va_addr_t pa_to_va(phys_addr_t addr)
--{
--	return (va_addr_t)__dma_mem_ptov(addr);
--}
--
--inline phys_addr_t va_to_pa(va_addr_t addr)
--{
--	return (phys_addr_t)__dma_mem_vtop((void *)addr);
--}
--
- va_addr_t *fsl_mem_init(phys_addr_t l2_sram_addr)
- {
- 	/* - map DMA mem */
--- 
-1.9.2
-
diff --git a/recipes-extended/skmm-ep/skmm-ep/skmm-ep-remove-duplicated-pa_to_va-and-va_to_pa.patch b/recipes-extended/skmm-ep/skmm-ep/skmm-ep-remove-duplicated-pa_to_va-and-va_to_pa.patch
deleted file mode 100644
index afa7e89..0000000
--- a/recipes-extended/skmm-ep/skmm-ep/skmm-ep-remove-duplicated-pa_to_va-and-va_to_pa.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-skmm-ep: remove duplicated definition
-
-Remove the duplicated definition to fix the following build errors:
-| apps/skmm/lib/skmm_sram.c:42:18: error: redefinition of 'pa_to_va'
-| apps/skmm/lib/skmm_sram.c:51:20: error: redefinition of 'va_to_pa'
-
-Upstream-Status: Pending
-
-Signed-off-by: Zhenhua Luo <zhenhua.luo@freescale.com>
-
-diff --git a/apps/skmm/lib/skmm_sram.c b/apps/skmm/lib/skmm_sram.c
-index 2d84d93..6ab0421 100644
---- a/apps/skmm/lib/skmm_sram.c
-+++ b/apps/skmm/lib/skmm_sram.c
-@@ -39,24 +39,6 @@
- static phys_addr_t sram_phys_addr;
- static va_addr_t sram_virt_addr;
- 
--inline va_addr_t pa_to_va(phys_addr_t addr)
--{
--	va_addr_t offset;
--
--	offset = (va_addr_t)(addr - sram_phys_addr);
--
--	return sram_virt_addr + offset;
--}
--
--inline phys_addr_t va_to_pa(va_addr_t addr)
--{
--	phys_addr_t offset;
--
--	offset = (phys_addr_t)(addr - sram_virt_addr);
--
--	return sram_phys_addr + offset;
--}
--
- static int setup_law_for_plt_sram(phys_addr_t l2sram, u32 *size)
- {
- 	int fd;
--- 
diff --git a/recipes-extended/skmm-ep/skmm-ep_git.bb b/recipes-extended/skmm-ep/skmm-ep_git.bb
index 8748966..9464947 100644
--- a/recipes-extended/skmm-ep/skmm-ep_git.bb
+++ b/recipes-extended/skmm-ep/skmm-ep_git.bb
@@ -9,10 +9,8 @@ PACKAGE_ARCH = "${MACHINE_ARCH}"
 
 SRC_URI = "git://git.freescale.com/ppc/sdk/skmm-ep.git;branch=sdk-v2.0.x \
     file://add-two-missing-header-files.patch \
-    file://skmm-ep-fix-the-inline-function-definition-with-gcc-.patch \
-    file://skmm-ep-remove-duplicated-pa_to_va-and-va_to_pa.patch \
 "
-SRCREV = "fc43230ac3044917c9df12e9e4f6a38a4d9b80aa"
+SRCREV = "de6816c7d66129683bc62229b482ac3cf585d896"
 
 S = "${WORKDIR}/git"
 
-- 
1.9.0



^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [[PATCH v2 26/29] ppa: Add support for ls1012a
  2017-04-26  3:28 [[PATCH v2 01/29] cst :update to a292f9d Chunrong Guo
                   ` (23 preceding siblings ...)
  2017-04-26  3:28 ` [[PATCH v2 25/29] skmm-ep:update to de6816c Chunrong Guo
@ 2017-04-26  3:28 ` Chunrong Guo
  2017-04-26  3:28 ` [[PATCH v2 27/29] odp: add recipes Chunrong Guo
                   ` (2 subsequent siblings)
  27 siblings, 0 replies; 29+ messages in thread
From: Chunrong Guo @ 2017-04-26  3:28 UTC (permalink / raw)
  To: meta-freescale; +Cc: zongchun.yu, chunrong.guo

From: Chunrong Guo <chunrong.guo@nxp.com>

Signed-off-by: Chunrong Guo <B40290@freescale.com>
---
 recipes-bsp/ppa/ppa_git.bb | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/recipes-bsp/ppa/ppa_git.bb b/recipes-bsp/ppa/ppa_git.bb
index 2ea4b6d..7f758fd 100644
--- a/recipes-bsp/ppa/ppa_git.bb
+++ b/recipes-bsp/ppa/ppa_git.bb
@@ -16,6 +16,7 @@ EXTRA_OEMAKE = "CC64="${CC}" LD64="${LD}"  OBJ64="${OBJCOPY}""
 PPA_PATH ?= "ppa/soc-ls1043/platform-rdb"
 PPA_PATH_ls1046a = "ppa/soc-ls1046/platform-rdb"
 PPA_PATH_ls2088a = "ppa/soc-ls2088/platform-rdb"
+PPA_PATH_ls1012a = "ppa/soc-ls1012/platform-rdb"
 PPA_NAME ?= "ppa-${MACHINE}-${DATETIME}"
 PPA_NAME[vardepsexclude] = "DATETIME"
 
@@ -46,5 +47,5 @@ FILES_${PN}-image += "/boot"
 
 CLEANBROKEN = "1"
 PARALLEL_MAKE = ""
-COMPATIBLE_MACHINE = "(ls1043a|ls1046a|ls2088a)"
+COMPATIBLE_MACHINE = "(ls1043a|ls1046a|ls2088a|ls1012a)"
 PACKAGE_ARCH = "${MACHINE_ARCH}"
-- 
1.9.0



^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [[PATCH v2 27/29] odp: add recipes
  2017-04-26  3:28 [[PATCH v2 01/29] cst :update to a292f9d Chunrong Guo
                   ` (24 preceding siblings ...)
  2017-04-26  3:28 ` [[PATCH v2 26/29] ppa: Add support for ls1012a Chunrong Guo
@ 2017-04-26  3:28 ` Chunrong Guo
  2017-04-26  3:28 ` [[PATCH v2 28/29] ofp: " Chunrong Guo
  2017-04-26  3:28 ` [[PATCH v2 29/29] linux-qoriq: update to 1ae843c Chunrong Guo
  27 siblings, 0 replies; 29+ messages in thread
From: Chunrong Guo @ 2017-04-26  3:28 UTC (permalink / raw)
  To: meta-freescale; +Cc: zongchun.yu, chunrong.guo

From: Chunrong Guo <chunrong.guo@nxp.com>

Signed-off-by: Chunrong Guo <B40290@freescale.com>
---
 recipes-extended/odp/odp-counters_git.bb           | 14 +++++
 recipes-extended/odp/odp-module_git.bb             | 16 ++++++
 recipes-extended/odp/odp.inc                       | 24 +++++++++
 .../odp/odp/disable-the-Werror-flag.patch          | 19 +++++++
 recipes-extended/odp/odp_git.bb                    | 63 ++++++++++++++++++++++
 5 files changed, 136 insertions(+)
 create mode 100644 recipes-extended/odp/odp-counters_git.bb
 create mode 100644 recipes-extended/odp/odp-module_git.bb
 create mode 100644 recipes-extended/odp/odp.inc
 create mode 100644 recipes-extended/odp/odp/disable-the-Werror-flag.patch
 create mode 100644 recipes-extended/odp/odp_git.bb

diff --git a/recipes-extended/odp/odp-counters_git.bb b/recipes-extended/odp/odp-counters_git.bb
new file mode 100644
index 0000000..860dd5f
--- /dev/null
+++ b/recipes-extended/odp/odp-counters_git.bb
@@ -0,0 +1,14 @@
+require odp.inc
+
+inherit module
+
+do_compile_prepend () {
+    export KERNEL_PATH="${STAGING_KERNEL_DIR}"
+    export KERNEL_CFG_PATH="${STAGING_KERNEL_BUILDDIR}"
+    cd ${S}/test/debug/perf_counters
+}
+
+do_install () {
+    install -d ${D}/lib/modules/${KERNEL_VERSION}/odp
+    install -m 755 ${S}/test/debug/perf_counters/odpfsl_perfcounters.ko ${D}/lib/modules/${KERNEL_VERSION}/odp
+}
diff --git a/recipes-extended/odp/odp-module_git.bb b/recipes-extended/odp/odp-module_git.bb
new file mode 100644
index 0000000..46b8965
--- /dev/null
+++ b/recipes-extended/odp/odp-module_git.bb
@@ -0,0 +1,16 @@
+require odp.inc
+
+inherit module
+
+do_compile_prepend () {
+    export KERNEL_PATH="${STAGING_KERNEL_DIR}"
+    export KERNEL_CFG_PATH="${STAGING_KERNEL_BUILDDIR}"
+    cd ${S}/kern
+}
+
+do_install () {
+    install -d ${D}/lib/modules/${KERNEL_VERSION}/odp
+    install -m 755 ${S}/kern/odpfsl_kni.ko ${D}/lib/modules/${KERNEL_VERSION}/odp
+}
+
+PKG_${PN} = "kernel-module-${PN}"
diff --git a/recipes-extended/odp/odp.inc b/recipes-extended/odp/odp.inc
new file mode 100644
index 0000000..172b81c
--- /dev/null
+++ b/recipes-extended/odp/odp.inc
@@ -0,0 +1,24 @@
+SUMMARY = "Open Data Plane Interface Implementation"
+DESCRIPTION = "OpenDataPlane (ODP) provides a data plane application programming \
+        environment that is easy to use, high performance, and portable between networking SoCs."
+HOMEPAGE = "http://www.opendataplane.org"
+SECTION = "console/network"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=4ccfa994aa96974cfcd39a59faee20a2"
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/odp:"
+
+SRC_URI = " \
+git://git.freescale.com/ppc/sdk/odp.git;nobranch=1 \
+git://git.freescale.com/ppc/sdk/qbman_userspace.git;nobranch=1;name=qbman;destsuffix=git/platform/linux-dpaa2/flib/qbman \
+git://git.freescale.com/ppc/sdk/flib.git;nobranch=1;name=rta;destsuffix=git/platform/linux-dpaa2/flib/rta \
+"
+SRC_URI += "file://disable-the-Werror-flag.patch"
+
+SRCREV = "a8935384642f5da8236260dd553c52dbbc7c63ed"
+SRCREV_qbman = "0b8648d702f701417cd6cc3cbcdc228e640d20b6"
+SRCREV_rta = "bbab28b03ae21c52ce913f8b052acf53bd24ff5d"
+
+S = "${WORKDIR}/git"
+
+COMPATIBLE_MACHINE = "(ls1043a|ls1046a|ls2080a|ls2088a)"
diff --git a/recipes-extended/odp/odp/disable-the-Werror-flag.patch b/recipes-extended/odp/odp/disable-the-Werror-flag.patch
new file mode 100644
index 0000000..3ba1c06
--- /dev/null
+++ b/recipes-extended/odp/odp/disable-the-Werror-flag.patch
@@ -0,0 +1,19 @@
+Patch to disable the Werror flag.
+
+Werror flag is causing the code compilaton error when
+ubuntu toolchain is used to compile the code in Dash.
+This patch disables the Werror flag to avoid such errors.
+
+Signed-off-by: Sandeep Malik <Sandeep.Malik@nxp.com>
+
+--- a/configure.acold	2017-04-19 17:40:58.312258373 +0800
++++ b/configure.ac	2017-04-19 17:41:22.820257525 +0800
+@@ -249,7 +249,7 @@
+ ##########################################################################
+ # Default warning setup
+ ##########################################################################
+-ODP_CFLAGS="$ODP_CFLAGS -W -Wall -Werror -Wstrict-prototypes -Wmissing-prototypes"
++ODP_CFLAGS="$ODP_CFLAGS -W -Wall -Wstrict-prototypes -Wmissing-prototypes"
+ ODP_CFLAGS="$ODP_CFLAGS -Wmissing-declarations -Wold-style-definition -Wpointer-arith"
+ ODP_CFLAGS="$ODP_CFLAGS -Wcast-align -Wnested-externs -Wcast-qual -Wformat-nonliteral"
+ ODP_CFLAGS="$ODP_CFLAGS -Wformat-security -Wundef -Wwrite-strings"
diff --git a/recipes-extended/odp/odp_git.bb b/recipes-extended/odp/odp_git.bb
new file mode 100644
index 0000000..32e3107
--- /dev/null
+++ b/recipes-extended/odp/odp_git.bb
@@ -0,0 +1,63 @@
+require odp.inc
+
+inherit autotools-brokensep
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+DEPENDS = "openssl cunit libxml2"
+
+RDEPENDS_${PN} = "bash libcrypto libssl odp-module odp-counters"
+
+ODP_SOC ?= ""
+ODP_SOC_ls1043ardb = "LS1043"
+ODP_SOC_ls1046ardb = "LS1046"
+ODP_PLATFORM ?= "linux-dpaa2"
+ODP_PLATFORM_ls1043ardb = "linux-dpaa1"
+ODP_PLATFORM_ls1046ardb = "linux-dpaa1"
+ODP_BUILD_TYPE ?= "ls2088"
+ODP_BUILD_TYPE_ls1043ardb = "ls1043"
+ODP_BUILD_TYPE_ls1046ardb = "ls1046"
+ODP_BUILD_TYPE_ls2080ardb = "ls2080"
+
+EXTRA_OECONF = "--with-platform=${ODP_PLATFORM} \
+                --with-sdk-install-path=${STAGING_DIR_TARGET} \
+                --enable-build-type=${ODP_BUILD_TYPE} \
+                --enable-test-vald \
+                --enable-test-perf \
+                --enable-test-cpp \
+"
+
+EXTRA_OEMAKE = "CROSS_COMPILE="${TARGET_PREFIX}" \
+                SYSROOT="${STAGING_DIR_TARGET}" \
+"
+
+PACKAGECONFIG[perf] = "--enable-test-perf,,,"
+
+do_configure_prepend () {
+    export SOC=${ODP_SOC}
+    ${S}/bootstrap
+}
+
+do_compile_prepend () {
+    export SOC=${ODP_SOC}
+    export ARCH=${TUNE_ARCH}
+}
+
+do_install_append () {
+    install -d ${D}${includedir}/odp/kni
+    install -d ${D}${includedir}/odp/kern
+    install -d ${D}${includedir}/odp/flib/mc
+    install -d ${D}${includedir}/odp/flib/qbman/include/drivers
+
+    cp -rf ${S}/platform/linux-dpaa2/include/* ${D}${includedir}/odp/
+    cp -rf ${S}/platform/linux-dpaa2/kni/*.h ${D}${includedir}/odp/kni/
+    cp -rf ${S}/kern/*.h ${D}${includedir}/odp/kern/
+    cp -rf ${S}/platform/linux-dpaa2/flib/mc/*.h ${D}${includedir}/odp/flib/mc/
+    cp -rf ${S}/platform/linux-dpaa2/flib/qbman/include/drivers/*.h ${D}${includedir}/odp/flib/qbman/include/drivers
+
+    sed -i -e 's#platform/linux-dpaa2/##g' ${D}${includedir}/odp/kern/*.h
+}
+
+FILES_${PN}-staticdev += "${datadir}/opendataplane/*.la"
+FILES_${PN} += "/usr/odp/bin /usr/odp/scripts /usr/odp/debug /usr/odp/test/validation /usr/odp/test/performance /usr/odp/test/miscellaneous /usr/odp/test/api_test"
+FILES_${PN}-dbg += "/usr/odp/bin/.debug /usr/odp/debug/.debug /usr/odp/test/validation/.debug /usr/odp/test/performance/.debug /usr/odp/test/miscellaneous/.debug /usr/odp/test/api_test/.debug"
-- 
1.9.0



^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [[PATCH v2 28/29] ofp: add recipes
  2017-04-26  3:28 [[PATCH v2 01/29] cst :update to a292f9d Chunrong Guo
                   ` (25 preceding siblings ...)
  2017-04-26  3:28 ` [[PATCH v2 27/29] odp: add recipes Chunrong Guo
@ 2017-04-26  3:28 ` Chunrong Guo
  2017-04-26  3:28 ` [[PATCH v2 29/29] linux-qoriq: update to 1ae843c Chunrong Guo
  27 siblings, 0 replies; 29+ messages in thread
From: Chunrong Guo @ 2017-04-26  3:28 UTC (permalink / raw)
  To: meta-freescale; +Cc: zongchun.yu, chunrong.guo

From: Chunrong Guo <chunrong.guo@nxp.com>

Signed-off-by: Chunrong Guo <B40290@freescale.com>
---
 ...Patch-to-install-ofp-example-applications.patch | 166 +++++++++++++++++++++
 ...ation-issue-with-redefinition-of-a-struct.patch |  19 +++
 recipes-extended/ofp/ofp_git.bb                    |  39 +++++
 3 files changed, 224 insertions(+)
 create mode 100644 recipes-extended/ofp/ofp/0001-Patch-to-install-ofp-example-applications.patch
 create mode 100644 recipes-extended/ofp/ofp/Fix-compilation-issue-with-redefinition-of-a-struct.patch
 create mode 100644 recipes-extended/ofp/ofp_git.bb

diff --git a/recipes-extended/ofp/ofp/0001-Patch-to-install-ofp-example-applications.patch b/recipes-extended/ofp/ofp/0001-Patch-to-install-ofp-example-applications.patch
new file mode 100644
index 0000000..041896a
--- /dev/null
+++ b/recipes-extended/ofp/ofp/0001-Patch-to-install-ofp-example-applications.patch
@@ -0,0 +1,166 @@
+From 82691546d6125f1d07c4f9faa06475dff94ba567 Mon Sep 17 00:00:00 2001
+From: Nikhil Agarwal <nikhil.agarwal@linaro.org>
+Date: Wed, 11 Jan 2017 00:24:07 +0530
+Subject: [PATCH] Patch to install ofp example applications.
+
+Signed-off-by: Nikhil Agarwal <nikhil.agarwal@linaro.org>
+---
+ example/classifier/Makefile.am     | 3 ++-
+ example/fpm/Makefile.am            | 3 ++-
+ example/fpm_burstmode/Makefile.am  | 3 ++-
+ example/ioctl_test/Makefile.am     | 3 ++-
+ example/multicast/Makefile.am      | 3 ++-
+ example/socket/Makefile.am         | 3 ++-
+ example/sysctl/Makefile.am         | 3 ++-
+ example/udp_fwd_socket/Makefile.am | 3 ++-
+ example/udpecho/Makefile.am        | 3 ++-
+ example/webserver/Makefile.am      | 3 ++-
+ example/webserver2/Makefile.am     | 3 ++-
+ 11 files changed, 22 insertions(+), 11 deletions(-)
+
+diff --git a/example/classifier/Makefile.am b/example/classifier/Makefile.am
+index c54542c..cb4eb31 100644
+--- a/example/classifier/Makefile.am
++++ b/example/classifier/Makefile.am
+@@ -1,6 +1,7 @@
+ include $(top_srcdir)/example/Makefile.inc
+ 
+-noinst_PROGRAMS = classifier 
++inst_PROGRAMS = classifier
++instdir=${exec_prefix}/ofp/bin
+ classifier_LDFLAGS = $(AM_LDFLAGS) -static
+ 
+ dist_classifier_SOURCES = classifier_main.c
+diff --git a/example/fpm/Makefile.am b/example/fpm/Makefile.am
+index d04916c..2b459d7 100644
+--- a/example/fpm/Makefile.am
++++ b/example/fpm/Makefile.am
+@@ -1,6 +1,7 @@
+ include $(top_srcdir)/example/Makefile.inc
+ 
+-noinst_PROGRAMS = fpm
++inst_PROGRAMS = fpm
++instdir=${exec_prefix}/ofp/bin
+ fpm_LDFLAGS = $(AM_LDFLAGS) -static
+ 
+ dist_fpm_SOURCES = app_main.c \
+diff --git a/example/fpm_burstmode/Makefile.am b/example/fpm_burstmode/Makefile.am
+index 6b7b024..fc8cdfe 100644
+--- a/example/fpm_burstmode/Makefile.am
++++ b/example/fpm_burstmode/Makefile.am
+@@ -1,6 +1,7 @@
+ include $(top_srcdir)/example/Makefile.inc
+ 
+-noinst_PROGRAMS = fpm_burstmode
++inst_PROGRAMS = fpm_burstmode
++instdir=${exec_prefix}/ofp/bin
+ fpm_burstmode_LDFLAGS = $(AM_LDFLAGS) -static
+ 
+ dist_fpm_burstmode_SOURCES = app_main.c
+diff --git a/example/ioctl_test/Makefile.am b/example/ioctl_test/Makefile.am
+index d45c4c4..98fd573 100644
+--- a/example/ioctl_test/Makefile.am
++++ b/example/ioctl_test/Makefile.am
+@@ -1,6 +1,7 @@
+ include $(top_srcdir)/example/Makefile.inc
+ 
+-noinst_PROGRAMS = ioctl_test
++inst_PROGRAMS = ioctl_test
++instdir=${exec_prefix}/ofp/bin
+ 
+ ioctl_test_LDFLAGS = $(AM_LDFLAGS) -static
+ 
+diff --git a/example/multicast/Makefile.am b/example/multicast/Makefile.am
+index 378aaf3..8476123 100644
+--- a/example/multicast/Makefile.am
++++ b/example/multicast/Makefile.am
+@@ -1,6 +1,7 @@
+ include $(top_srcdir)/example/Makefile.inc
+ 
+-noinst_PROGRAMS = mcast
++inst_PROGRAMS = mcast
++instdir=${exec_prefix}/ofp/bin
+ 
+ mcast_LDFLAGS = $(AM_LDFLAGS) -static
+ 
+diff --git a/example/socket/Makefile.am b/example/socket/Makefile.am
+index 9fa2b7d..c296fc2 100644
+--- a/example/socket/Makefile.am
++++ b/example/socket/Makefile.am
+@@ -1,6 +1,7 @@
+ include $(top_srcdir)/example/Makefile.inc
+ 
+-noinst_PROGRAMS = socket
++inst_PROGRAMS = socket
++instdir=${exec_prefix}/ofp/bin
+ socket_LDFLAGS = $(AM_LDFLAGS) -static
+ 
+ dist_socket_SOURCES = \
+diff --git a/example/sysctl/Makefile.am b/example/sysctl/Makefile.am
+index 42f3a27..7ef0227 100644
+--- a/example/sysctl/Makefile.am
++++ b/example/sysctl/Makefile.am
+@@ -1,6 +1,7 @@
+ include $(top_srcdir)/example/Makefile.inc
+ 
+-noinst_PROGRAMS = sysctl
++inst_PROGRAMS = sysctl
++instdir=${exec_prefix}/ofp/bin
+ 
+ sysctl_LDFLAGS = $(AM_LDFLAGS) -static
+ 
+diff --git a/example/udp_fwd_socket/Makefile.am b/example/udp_fwd_socket/Makefile.am
+index 653fd21..c8ce9ca 100644
+--- a/example/udp_fwd_socket/Makefile.am
++++ b/example/udp_fwd_socket/Makefile.am
+@@ -1,6 +1,7 @@
+ include $(top_srcdir)/example/Makefile.inc
+ 
+-noinst_PROGRAMS = udp_fwd_socket
++inst_PROGRAMS = udp_fwd_socket
++instdir=${exec_prefix}/ofp/bin
+ 
+ udp_fwd_socket_LDFLAGS = $(AM_LDFLAGS) -static
+ 
+diff --git a/example/udpecho/Makefile.am b/example/udpecho/Makefile.am
+index e64f2c0..a0c1085 100644
+--- a/example/udpecho/Makefile.am
++++ b/example/udpecho/Makefile.am
+@@ -1,6 +1,7 @@
+ include $(top_srcdir)/example/Makefile.inc
+ 
+-noinst_PROGRAMS = udpecho
++inst_PROGRAMS = udpecho
++instdir=${exec_prefix}/ofp/bin
+ 
+ udpecho_LDFLAGS = $(AM_LDFLAGS) -static
+ 
+diff --git a/example/webserver/Makefile.am b/example/webserver/Makefile.am
+index 1dad1b6..230515e 100644
+--- a/example/webserver/Makefile.am
++++ b/example/webserver/Makefile.am
+@@ -1,6 +1,7 @@
+ include $(top_srcdir)/example/Makefile.inc
+ 
+-noinst_PROGRAMS = webserver
++inst_PROGRAMS = webserver
++instdir=${exec_prefix}/ofp/bin
+ 
+ webserver_LDFLAGS = $(AM_LDFLAGS) -static
+ 
+diff --git a/example/webserver2/Makefile.am b/example/webserver2/Makefile.am
+index d9f4767..c53a9d2 100644
+--- a/example/webserver2/Makefile.am
++++ b/example/webserver2/Makefile.am
+@@ -1,6 +1,7 @@
+ include $(top_srcdir)/example/Makefile.inc
+ 
+-noinst_PROGRAMS = webserver2
++inst_PROGRAMS = webserver2
++instdir=${exec_prefix}/ofp/bin
+ 
+ webserver2_LDFLAGS = $(AM_LDFLAGS) -static
+ 
+-- 
+2.9.3
+
diff --git a/recipes-extended/ofp/ofp/Fix-compilation-issue-with-redefinition-of-a-struct.patch b/recipes-extended/ofp/ofp/Fix-compilation-issue-with-redefinition-of-a-struct.patch
new file mode 100644
index 0000000..4163dc8
--- /dev/null
+++ b/recipes-extended/ofp/ofp/Fix-compilation-issue-with-redefinition-of-a-struct.patch
@@ -0,0 +1,19 @@
+ofp_netlink.c: do not include netinet/ip.h
+
+The struct iphdr is defined in netinet/ip.h and in linux/ip.h. The
+backwards compatible ofp_netlink.c is modified to include linux/ip.h.
+
+http://www.openfastpath.org/pipermail/openfastpath/2016-October/001330.html
+
+
+--- a/src/ofp_netlink.cold	2017-04-20 16:08:20.942851781 +0800
++++ b/src/ofp_netlink.c	2017-04-20 16:08:39.222851148 +0800
+@@ -9,7 +9,7 @@
+ #include <stdio.h>
+ #include <string.h>
+ #include <netinet/in.h>
+-#include <netinet/ip.h>
++#include <linux/ip.h>
+ #include <linux/netlink.h>
+ #include <linux/rtnetlink.h>
+ #include <linux/if_arp.h>
diff --git a/recipes-extended/ofp/ofp_git.bb b/recipes-extended/ofp/ofp_git.bb
new file mode 100644
index 0000000..1c6757e
--- /dev/null
+++ b/recipes-extended/ofp/ofp_git.bb
@@ -0,0 +1,39 @@
+SUMMARY = "An open source user space fast path TCP/IP stack" 
+DESCRIPTION = "openfastpath is used to enable accelerated routing/forwarding for IPv4 and IPv6, \
+               tunneling and termination for a variety of protocols."
+HOMEPAGE = "http://www.openfastpath.org"
+SECTION = "console/network"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=fbe4957c430eed6cc20521d4eb429fae"
+
+SRC_URI = "git://github.com/OpenFastPath/ofp.git;protocol=https \
+           file://0001-Patch-to-install-ofp-example-applications.patch \
+           file://Fix-compilation-issue-with-redefinition-of-a-struct.patch \
+"
+SRCREV = "f7ea51b32450ba45d87aff79504e39fad801e7a7"
+
+S = "${WORKDIR}/git"
+
+inherit autotools-brokensep pkgconfig
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+DEPENDS = "odp"
+
+EXTRA_OECONF = " \
+    --prefix=/usr \
+    --libdir=${libdir} \
+    --host=${SIMPLE_TARGET_SYS} \
+    --with-odp=${STAGING_DIR_TARGET} \
+"
+
+do_configure () {
+    export SIMPLE_TARGET_SYS="$(echo ${TARGET_SYS} | sed s:${TARGET_VENDOR}::g)"
+
+    ${S}/bootstrap
+    ${S}/configure ${EXTRA_OECONF}
+}
+
+FILES_${PN} += "/usr/ofp/bin"
+FILES_${PN}-dbg += "/usr/ofp/bin/.debug"
+COMPATIBLE_MACHINE = "(ls2088a)"
-- 
1.9.0



^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [[PATCH v2 29/29] linux-qoriq: update to 1ae843c
  2017-04-26  3:28 [[PATCH v2 01/29] cst :update to a292f9d Chunrong Guo
                   ` (26 preceding siblings ...)
  2017-04-26  3:28 ` [[PATCH v2 28/29] ofp: " Chunrong Guo
@ 2017-04-26  3:28 ` Chunrong Guo
  27 siblings, 0 replies; 29+ messages in thread
From: Chunrong Guo @ 2017-04-26  3:28 UTC (permalink / raw)
  To: meta-freescale; +Cc: zongchun.yu, chunrong.guo

From: Chunrong Guo <chunrong.guo@nxp.com>

    *include the following changes
     1 ae843c - Merge branch 'feature/rt' into sdk-v2.0.x-yocto
     2 38d9a8a - Merge branch 'feature/usdpaa' into yocto/sdk-2.0.x
     3 bba80f8 - Merge branch 'feature/asf' into yocto/sdk-2.0.x
     4 dc4e9ad - crypto: dpaa2-caam: add congestion management
     5 5d9bbd5 - crypto: dpaa2-caam: uprev to DPSECI vers 5.0
     6 4aeb8ff - staging: fsl-mc: add support for opr
     7 6a58807 - qdma: correct the qdma error interrupt number
     8 4b90023 - qdma: uniform distribute the channels to all the command queue
     9 a6a9cfb - dma: fsl-qdma: rectify the address for some register
    10 cb24b8e - staging: fsl-dpaa2: Move CSCN related API to DPIO header
    11 5784a1d - flextimer: fix flextimer workaround timeout method
    12 a36c26a - dma: fsl-qdma: workaround for ERR010812
    13 b0f638d - staging: fsl-dpaa2: Leave NAPI enabled during ifup/down
    14 d90b9c9 - staging: fsl-dpaa2: Fix memleak in adding class rule
    15 aa8ec9a - staging: fsl-dpaa2: Disable preemption when draining pool
    16 3c62505 - mmc: sdhci-of-esdhc: limit SD clock to 167MHz for ls1046a
    17 bdbe69d - ls208x: dts: fix intergration issue cause wdt not works
    18 60129b7 - armv8: aarch32: enable VIRTIO_NET by default
    19 87d9f30 - staging: fsl-dpaa2: Allocate extra headroom in frame descriptor
    20 0649222 - staging: fsl-dpaa2: Update buffer count for flow control
    21 3ef2dd0 - crypto: caam/qi - add request queues in CGR
    22 37f96c4 - crypto: caam/qi - fix we_mask bits for response FQ init command
    23 14a8ad4 - ls208x: dts: add #stream-ids property in fsl-mc node
    24 514f27d - arm64: dts: ls1046ardb: add MMC HS200/UHS-1 modes support
    25 0a2779a - arm64: dts: ls1046a: add clocks property for eSDHC node
    26 9d15f72e - mmc: sdhci-of-esdhc: fix peripheral clock for ls1046a
    27 53c14c9 - mmc: sdhci-of-esdhc: add voltage switching support for ls1046a
    28 d10efc4 - staging: fsl-dpaa2: Fix Rx buf align regression
    29 ee621b2 - LS1012AQDS: Configure MDIO Clause 45 processing to LS1012 only
    30 e9740c2 - arm64: ls2088a: add the PW20 state to the idle-states dts node
    31 403835e - PCI: layerscape: Add support for ls2088a
/QLINUX-5971
   137 6139b09 - arm64: dts: ls2088a: add clocks property for eSDHC node
   138 383a2af - mmc: fsl_esdhc: get peripheral clock through common clk APIs
   139 277569f - staging: fsl-dpaa2/eth: fix dprtc frequency to 1GHz
   140 26cb8c1 - QLINUX-6717: Compiler Warning issued in CC
   141 fd55b50 - QBMan: Add Order Restoration APIs to DPIO Services
   142 45f8c47 - dpaa2 QBMAN: Increase the poll loop for management commands
   143 5ca2040 - crypto: caam/qi - fix dma_mask initialization on ARM32
   144 d183238 - ahci: qoriq: report error when ecc register address is missing in dts
   145 60c90fa - cpufreq: qoriq: enhance bus frequency calculation
   146 fa0d188 - clk: qoriq: add pll clock to clock lookup table
   147 1275b2e - arm64: dts: freescale: ls2088a: Add DTS support for FSL's LS2088A SoC
   148 1a42a28 - arm64: dts: freescale: ls2080a: Split devicetree for code resuability
   149 bb4c069 - dt-bindings: Add compatible for LS2088A QDS and RDB board
   150 4edce16 - Merge pull request #1612 in SDK/linux-sdk2.0 from jira/QLINUX-6716 to sdk-v2.0.x
   151 8afdfe4 - mtd: spi-nor: fsl-quad: allow sub node probe failed

Signed-off-by: Chunrong Guo <B40290@freescale.com>
---
 recipes-kernel/linux/linux-qoriq_4.1.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/recipes-kernel/linux/linux-qoriq_4.1.bb b/recipes-kernel/linux/linux-qoriq_4.1.bb
index 12d12f5..02680e9 100644
--- a/recipes-kernel/linux/linux-qoriq_4.1.bb
+++ b/recipes-kernel/linux/linux-qoriq_4.1.bb
@@ -18,7 +18,7 @@ SRC_URI = "git://git.freescale.com/ppc/sdk/linux.git;nobranch=1 \
     file://powerpc-64e-Convert-cmpi-to-cmpwi-in-head_64.S.patch \
     file://powerpc-vdso64-Use-double-word-compare-on-pointers.patch \
 "
-SRCREV = "b14540ee315f79f6a5dfc621e7f4217c8fac7d1c"
+SRCREV = "1ae843c08261402b2c35d83422e4fa1e313611f4"
 
 S = "${WORKDIR}/git"
 
-- 
1.9.0



^ permalink raw reply related	[flat|nested] 29+ messages in thread

end of thread, other threads:[~2017-04-26  3:51 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-04-26  3:28 [[PATCH v2 01/29] cst :update to a292f9d Chunrong Guo
2017-04-26  3:28 ` [[PATCH v2 02/29] dpl-examples:update to cea280f Chunrong Guo
2017-04-26  3:28 ` [[PATCH v2 03/29] ls2088ardb: Add machine config file Chunrong Guo
2017-04-26  3:28 ` [[PATCH v2 04/29] ls2-rcw: add ls2088a as COMPATIBLE_MACHINE Chunrong Guo
2017-04-26  3:28 ` [[PATCH v2 05/29] ls2-phy: add ls2088ardb " Chunrong Guo
2017-04-26  3:28 ` [[PATCH v2 06/29] ppa: Add support for ls2088a Chunrong Guo
2017-04-26  3:28 ` [[PATCH v2 07/29] dpl-examples: add ls2088a as COMPATIBLE_MACHINE Chunrong Guo
2017-04-26  3:28 ` [[PATCH v2 08/29] restool: add ls2088ardb as COMPATIBLE_MACHIN Chunrong Guo
2017-04-26  3:28 ` [[PATCH v2 09/29] usdpaa-apps:update to 49fce3a Chunrong Guo
2017-04-26  3:28 ` [[PATCH v2 10/29] usdpaa :update to db0ea70 Chunrong Guo
2017-04-26  3:28 ` [[PATCH v2 11/29] restool: update SRC_URI to fix fetching Chunrong Guo
2017-04-26  3:28 ` [[PATCH v2 12/29] ppa :update to 9fcb080 Chunrong Guo
2017-04-26  3:28 ` [[PATCH v2 13/29] management-complex: upgrade to 10.1.2 Chunrong Guo
2017-04-26  3:28 ` [[PATCH v2 14/29] ls2-rcw: update to 5d4624f Chunrong Guo
2017-04-26  3:28 ` [[PATCH v2 15/29] fm-ucode: update to c275e91 Chunrong Guo
2017-04-26  3:28 ` [[PATCH v2 16/29] dpdk: update to a3395d2 Chunrong Guo
2017-04-26  3:28 ` [[PATCH v2 17/29] dpdk-extras :update to 47ee260 Chunrong Guo
2017-04-26  3:28 ` [[PATCH v2 18/29] u-boot:update to a06b209 Chunrong Guo
2017-04-26  3:28 ` [[PATCH v2 19/29] pkc-firmware: update to 209e0e6 Chunrong Guo
2017-04-26  3:28 ` [[PATCH v2 20/29] openssl-qoriq: upgrade to 1.0.2k Chunrong Guo
2017-04-26  3:28 ` [[PATCH v2 21/29] cryptodev: update to 6c2b61c Chunrong Guo
2017-04-26  3:28 ` [[PATCH v2 22/29] aiopsl: add recipes Chunrong Guo
2017-04-26  3:28 ` [[PATCH v2 23/29] dce: " Chunrong Guo
2017-04-26  3:28 ` [[PATCH v2 24/29] gpp-aioptool: " Chunrong Guo
2017-04-26  3:28 ` [[PATCH v2 25/29] skmm-ep:update to de6816c Chunrong Guo
2017-04-26  3:28 ` [[PATCH v2 26/29] ppa: Add support for ls1012a Chunrong Guo
2017-04-26  3:28 ` [[PATCH v2 27/29] odp: add recipes Chunrong Guo
2017-04-26  3:28 ` [[PATCH v2 28/29] ofp: " Chunrong Guo
2017-04-26  3:28 ` [[PATCH v2 29/29] linux-qoriq: update to 1ae843c Chunrong Guo

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.