[meta-freescale] [meta-fsl-ppc][PATCH 1/4] cryptodev-linux/module: use fsl maintained source

Bob Cochran yocto at mindchasers.com
Mon Jul 14 20:33:27 PDT 2014


On 07/11/2014 11:40 AM, ting.liu at freescale.com wrote:
>> -----Original Message-----
>> From: Bob Cochran [mailto:yocto at mindchasers.com]
>> Sent: Friday, July 11, 2014 10:42 PM
>> To: Liu Ting-B28495; Luo Zhenhua-B19537
>> Cc: meta-freescale at yoctoproject.org
>> Subject: Re: [meta-freescale] [meta-fsl-ppc][PATCH 1/4] cryptodev-linux/module:
>> use fsl maintained source
>>
>> On 07/09/2014 10:13 PM, ting.liu at freescale.com wrote:
>>>> -----Original Message-----
>>>> From: Bob Cochran [mailto:yocto at mindchasers.com]
>>>> Sent: Thursday, July 10, 2014 4:19 AM
>>>> To: Liu Ting-B28495; Luo Zhenhua-B19537;
>>>> meta-freescale at yoctoproject.org
>>>> Subject: Re: [meta-freescale] [meta-fsl-ppc][PATCH 1/4] cryptodev-
>> linux/module:
>>>> use fsl maintained source
>>>>
>>>> On 07/09/2014 04:16 AM, ting.liu at freescale.com wrote:
>>>>> From: Zhenhua Luo <zhenhua.luo at freescale.com>
>>>>>
>>>>> FSL SDK released its own cryptodev based on 1.6, but not all the
>>>>> codes was upstreamed, add bbappend to use fsl maintained source.
>>>>> This change only be applied for fsl machines
>>>>
>>>>
>>>> Hello Ting (and Zhenhua),
>>>>
>>>> Would it be useful to you if I created a hybrid build environment of
>>>> QorIQ
>>>> SDK1.6 with its meta-fsl-ppc tree replaced by the Yocto meta-fsl-ppc
>>>> master branch and test on T1040RDB with the submitted patches?
>>>>
>>>
>>> Hello Bob,
>>> Thanks for your great support. Yes, it is very useful, just do it. Report to
>> us if you find any issue, and we will fix ASAP. Actually that is what we
>> finally want, QorIQ SDK = fsl community bsp + meta-fsl-networking (may have
>> some fsl customization or be empty). we start fsl community bsp test for qoriq
>> now and will upstream the recipes in QorIQ SDK v1.6 as much as possible.
>>
>>
>> I'm currently testing with your patches applied to meta-fsl-ppc master along
>> with any needed Yocto / OE repos, each on its master branch (e.g., meta-
>> virtualization).
>>
>> In addition, I have copied over meta-fsl-networking from SDK1.6 and created my
>> own meta-fsl-transition layer to hold recipes that haven't been patched into
>> meta-fsl-ppc yet (e.g, l2switch and auto-resp).
>
> I'm doing the same test. There will be some issues as poky and other upstream layers have
> new commits after SDK 1.6. let's work together.

Hi Ting,

The fact that SDK1.6 pulls from its own meta-oe repo on FSL Public GIT 
is causing some problems for me as I test your patches alongside the 
master branches of the non FSL-specific Yocto and OE repos.

As an example, the SDK1.6 libhugetlbfs_git.bb recipe is pulling code 
that supports ARCH=powerpc64 in the makefile, but the recipe in 
meta-openembedded/meta-oe master branch pulls in code that has a 
makefile looking for ppc64 (not powerpc64).

I assume you're going to be submitting patches to meta-oe and other 
openembbedded repos in addition to patching your own meta-fsl-ppc?

In the mean time, I think I'm going to patch my local copy of the master 
branch with SDK1.6 recipes that won't build otherwise.

Would you like me to report to you the recipes I need to patch / pull 
from SDK1.6 (e.g, libhugetlbfs)?

Thank you,

Bob



>
>>
>> I am NOT using the meta-fsl-ppc-toolchain layer.
>
> Recipes in this layer need update to match poky's changes. I had done some.
> But I think finally it is not needed for fsl community bsp.
>
>>
>> I'm sifting through some build problems now for my t1040rdb-64b build, and
>> I'll report later unless it's just operator error.
>
> Thanks.
>
>>
>> I have found in meta-fsl-networking that recipes-core could be merged into
>> meta-fsl-ppc for consistency with the SDK image and that your
>> busybox_%.bbappend file within meta-fsl-networking/recipes-core is missing a
>> trailing ':' in the FILESEXTRAPATHS_prepend assignment that causes defconfig-
>> fsl not to be picked up.
>
> I found the trailing ':' issue too.
> As said before, I will upstream recipes in meta-fsl-networking as much as possible,
> to meta-fsl-ppc or layers in github.com.
>
>>
>>
>>
>>>
>>>> Please let me know if this would be useful feedback, or if you would
>>>> prefer testing only be done after certain commits (tags) are reached.
>>>>
>>>
>>> You need these four patches applied. Then all should be ok. (skmm-ep
>>> has a workaournd in sdk 1.6, now the pkg developers want to find a
>>> better fix. But it does not affect t1040rdb)
>>>
>>>> Thank you,
>>>>
>>>> Bob
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>>
>>>>> Signed-off-by: Zhenhua Luo <zhenhua.luo at freescale.com>
>>>>> Signed-off-by: Ting Liu <b28495 at freescale.com>
>>>>> ---
>>>>>     recipes-kernel/cryptodev/cryptodev-fsl.inc         |    5 ++
>>>>>     .../cryptodev/cryptodev-linux_1.6.bbappend         |    2 +
>>>>>     .../cryptodev/cryptodev-module_1.6.bbappend        |   25 +++++++
>>>>>     recipes-kernel/cryptodev/cryptodev_1.5.bb          |   51 -------------
>> --
>>>>>     ...pile-and-install-rules-for-cryptodev-test.patch |   69 -------------
>> ---
>>>> ----
>>>>>     .../cryptodev/files/makefile_fixup.patch           |   26 --------
>>>>>     6 files changed, 32 insertions(+), 146 deletions(-)
>>>>>     create mode 100644 recipes-kernel/cryptodev/cryptodev-fsl.inc
>>>>>     create mode 100644 recipes-kernel/cryptodev/cryptodev-
>> linux_1.6.bbappend
>>>>>     create mode 100644 recipes-kernel/cryptodev/cryptodev-
>> module_1.6.bbappend
>>>>>     delete mode 100644 recipes-kernel/cryptodev/cryptodev_1.5.bb
>>>>>     delete mode 100644
>>>>> recipes-kernel/cryptodev/files/Add-the-compile-and-
>>>> install-rules-for-cryptodev-test.patch
>>>>>     delete mode 100644
>>>>> recipes-kernel/cryptodev/files/makefile_fixup.patch
>>>>>
>>>>> diff --git a/recipes-kernel/cryptodev/cryptodev-fsl.inc
>>>>> b/recipes-kernel/cryptodev/cryptodev-fsl.inc
>>>>> new file mode 100644
>>>>> index 0000000..7520152
>>>>> --- /dev/null
>>>>> +++ b/recipes-kernel/cryptodev/cryptodev-fsl.inc
>>>>> @@ -0,0 +1,5 @@
>>>>> +SRC_URI_fslmachine = "git://git.freescale.com/ppc/sdk/cryptodev-
>>>> linux.git;nobranch=1"
>>>>> +SRCREV_fslmachine = "c9baf0623bdc55e8adfc91bf675e8148826d57d1"
>>>>> +
>>>>> +S_fslmachine = "${WORKDIR}/git"
>>>>> +
>>>>> diff --git a/recipes-kernel/cryptodev/cryptodev-linux_1.6.bbappend
>>>>> b/recipes-kernel/cryptodev/cryptodev-linux_1.6.bbappend
>>>>> new file mode 100644
>>>>> index 0000000..3cbbb3d
>>>>> --- /dev/null
>>>>> +++ b/recipes-kernel/cryptodev/cryptodev-linux_1.6.bbappend
>>>>> @@ -0,0 +1,2 @@
>>>>> +require recipes-kernel/cryptodev/cryptodev-fsl.inc
>>>>> +
>>>>> diff --git a/recipes-kernel/cryptodev/cryptodev-module_1.6.bbappend
>>>>> b/recipes-kernel/cryptodev/cryptodev-module_1.6.bbappend
>>>>> new file mode 100644
>>>>> index 0000000..80cef70
>>>>> --- /dev/null
>>>>> +++ b/recipes-kernel/cryptodev/cryptodev-module_1.6.bbappend
>>>>> @@ -0,0 +1,25 @@
>>>>> +require recipes-kernel/cryptodev/cryptodev-fsl.inc
>>>>> +
>>>>> +python () {
>>>>> +	ma = d.getVar("DISTRO_FEATURES", True)
>>>>> +	arch = d.getVar("OVERRIDES", True)
>>>>> +
>>>>> +	# the : after the arch is to skip the message on 64b
>>>>> +	if not "multiarch" in ma and "e6500:" in arch:
>>>>> +		raise bb.parse.SkipPackage("Building the kernel for this arch
>>>>> +requires multiarch to be in DISTRO_FEATURES")
>>>>> +
>>>>> +	promote_kernel = d.getVar('BUILD_64BIT_KERNEL')
>>>>> +
>>>>> +	if promote_kernel == "1":
>>>>> +		d.setVar('KERNEL_CC_append', ' -m64')
>>>>> +		d.setVar('KERNEL_LD_append', ' -melf64ppc')
>>>>> +
>>>>> +	error_qa = d.getVar('ERROR_QA', True)
>>>>> +	if 'arch' in error_qa:
>>>>> +		d.setVar('ERROR_QA', error_qa.replace(' arch', '')) }
>>>>> +
>>>>> +do_install_append_fslmachine () {
>>>>> +    rm -fr ${D}/usr
>>>>> +}
>>>>> +
>>>>> diff --git a/recipes-kernel/cryptodev/cryptodev_1.5.bb
>>>>> b/recipes-kernel/cryptodev/cryptodev_1.5.bb
>>>>> deleted file mode 100644
>>>>> index 4c1dade..0000000
>>>>> --- a/recipes-kernel/cryptodev/cryptodev_1.5.bb
>>>>> +++ /dev/null
>>>>> @@ -1,51 +0,0 @@
>>>>> -SECTION = "devel"
>>>>> -SUMMARY = "Linux Cryptodev KERNEL MODULE"
>>>>> -DESCRIPTION = "The Cryptodev package contains the kernel
>>>>> /dev/crypto
>>>> module"
>>>>> -LICENSE = "GPLv2"
>>>>> -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
>>>>> -RCONFLICTS_${PN} = "ocf-linux"
>>>>> -
>>>>> -inherit module
>>>>> -
>>>>> -PR = "r1"
>>>>> -DEPENDS += "openssl"
>>>>> -
>>>>> -SRCREV = "1c24a0aa996630518d47826a2e3fea129ea094c7"
>>>>> -
>>>>> -SRC_URI = "git://repo.or.cz/cryptodev-linux.git;protocol=git \
>>>>> -           file://makefile_fixup.patch \
>>>>> -           file://Add-the-compile-and-install-rules-for-cryptodev-
>>>> test.patch"
>>>>> -
>>>>> -EXTRA_OEMAKE='KERNEL_DIR="${STAGING_KERNEL_DIR}" PREFIX="${D}"'
>>>>> -
>>>>> -S = "${WORKDIR}/git"
>>>>> -python () {
>>>>> -	ma = d.getVar("DISTRO_FEATURES", True)
>>>>> -	arch = d.getVar("OVERRIDES", True)
>>>>> -
>>>>> -	# the : after the arch is to skip the message on 64b
>>>>> -	if not "multiarch" in ma and ("e5500:" in arch or "e6500:" in arch):
>>>>> -		raise bb.parse.SkipPackage("Building the kernel for this arch
>>>> requires multiarch to be in DISTRO_FEATURES")
>>>>> -
>>>>> -	promote_kernel = d.getVar('BUILD_64BIT_KERNEL')
>>>>> -
>>>>> -	if promote_kernel == "1":
>>>>> -		d.setVar('KERNEL_CC_append', ' -m64')
>>>>> -		d.setVar('KERNEL_LD_append', ' -melf64ppc')
>>>>> -
>>>>> -	error_qa = d.getVar('ERROR_QA', True)
>>>>> -	if 'arch' in error_qa:
>>>>> -		d.setVar('ERROR_QA', error_qa.replace(' arch', ''))
>>>>> -}
>>>>> -
>>>>> -do_compile_append() {
>>>>> -        oe_runmake testprogs
>>>>> -}
>>>>> -
>>>>> -do_install_append() {
>>>>> -        oe_runmake install_tests
>>>>> -}
>>>>> -
>>>>> -PACKAGES += "${PN}-tests"
>>>>> -FILES_${PN}-dbg += "${bindir}/tests_cryptodev/.debug"
>>>>> -FILES_${PN}-tests = "${bindir}/tests_cryptodev/*"
>>>>> diff --git
>>>>> a/recipes-kernel/cryptodev/files/Add-the-compile-and-install-rules-f
>>>>> or
>>>>> -cryptodev-test.patch
>>>>> b/recipes-kernel/cryptodev/files/Add-the-compile-and-install-rules-f
>>>>> or
>>>>> -cryptodev-test.patch
>>>>> deleted file mode 100644
>>>>> index cb871f6..0000000
>>>>> ---
>>>>> a/recipes-kernel/cryptodev/files/Add-the-compile-and-install-rules-f
>>>>> or
>>>>> -cryptodev-test.patch
>>>>> +++ /dev/null
>>>>> @@ -1,69 +0,0 @@
>>>>> -From 1980a8f4779a955e73285e7a0d86549b69bea5c8 Mon Sep 17 00:00:00
>>>>> 2001
>>>>> -From: Yu Zongchun <b40527 at freescale.com>
>>>>> -Date: Sun, 28 Apr 2013 14:39:22 +0800
>>>>> -Subject: [PATCH] Add the compile and install rules for cryptodev
>>>>> tests folder
>>>>> -
>>>>> -This is required to install the cryptodev tests folder to rootfs
>>>>> -
>>>>> -Signed-off-by: Yu Zongchun <b40527 at freescale.com>
>>>>> -
>>>>> -Upstream-Status: Pending
>>>>> -
>>>>> ----
>>>>> - Makefile       |    6 ++++++
>>>>> - tests/Makefile |    8 ++++++++
>>>>> - 2 files changed, 14 insertions(+), 0 deletions(-)
>>>>> -
>>>>> -diff --git a/Makefile b/Makefile
>>>>> -index 2be8825..4cbb865 100644
>>>>> ---- a/Makefile
>>>>> -+++ b/Makefile
>>>>> -@@ -17,6 +17,9 @@ install:
>>>>> - 	@echo "Installing cryptodev.h in /usr/include/crypto ..."
>>>>> - 	@install -D crypto/cryptodev.h /usr/include/crypto/cryptodev.h
>>>>> -
>>>>> -+install_tests:
>>>>> -+	make -C tests install DESTDIR=$(PREFIX)
>>>>> -+
>>>>> - clean:
>>>>> - 	make -C $(KERNEL_DIR) SUBDIRS=`pwd` clean
>>>>> - 	rm -f $(hostprogs) *~
>>>>> -@@ -25,6 +28,9 @@ clean:
>>>>> - check:
>>>>> - 	KERNEL_DIR=$(KERNEL_DIR) make -C tests check
>>>>> -
>>>>> -+testprogs:
>>>>> -+	KERNEL_DIR=$(KERNEL_DIR) make -C tests testprogs
>>>>> -+
>>>>> - FILEBASE = cryptodev-linux-$(VERSION)
>>>>> - TMPDIR ?= /tmp
>>>>> - OUTPUT = $(FILEBASE).tar.gz
>>>>> -diff --git a/tests/Makefile b/tests/Makefile -index
>>>>> 87ca3c7..0488cf6
>>>>> 100644
>>>>> ---- a/tests/Makefile
>>>>> -+++ b/tests/Makefile
>>>>> -@@ -19,6 +19,12 @@ example-async-hmac-objs := async_hmac.o
>>>>> - example-async-speed-objs := async_speed.o
>>>>> - example-hashcrypt-speed-objs := hashcrypt_speed.c
>>>>> -
>>>>> -+install:
>>>>> -+	install -d  $(DESTDIR)/usr/bin/tests_cryptodev
>>>>> -+	for bin in $(hostprogs); do \
>>>>> -+		install -m 755 $${bin} $(DESTDIR)/usr/bin/tests_cryptodev/; \
>>>>> -+	done
>>>>> -+
>>>>> - check: $(hostprogs)
>>>>> - 	./cipher
>>>>> - 	./hmac
>>>>> -@@ -28,6 +34,8 @@ check: $(hostprogs)
>>>>> - 	./cipher-gcm
>>>>> - 	./cipher-aead
>>>>> -
>>>>> -+testprogs: $(hostprogs)
>>>>> -+
>>>>> - clean:
>>>>> - 	rm -f *.o *~ $(hostprogs)
>>>>> -
>>>>> ---
>>>>> -1.7.5.4
>>>>> -
>>>>> diff --git a/recipes-kernel/cryptodev/files/makefile_fixup.patch
>>>>> b/recipes-kernel/cryptodev/files/makefile_fixup.patch
>>>>> deleted file mode 100644
>>>>> index 323aacd..0000000
>>>>> --- a/recipes-kernel/cryptodev/files/makefile_fixup.patch
>>>>> +++ /dev/null
>>>>> @@ -1,26 +0,0 @@
>>>>> -diff --git a/Makefile b/Makefile
>>>>> -index 2be8825..b36d68c 100644
>>>>> ---- a/Makefile
>>>>> -+++ b/Makefile
>>>>> -@@ -1,6 +1,7 @@
>>>>> - KBUILD_CFLAGS += -I$(src)
>>>>> - KERNEL_DIR = /lib/modules/$(shell uname -r)/build
>>>>> - VERSION = 1.5
>>>>> -+PREFIX =
>>>>> -
>>>>> - cryptodev-objs = ioctl.o main.o cryptlib.o authenc.o zc.o util.o
>>>>> -
>>>>> -@@ -12,10 +13,10 @@ build: version.h
>>>>> - version.h: Makefile
>>>>> - 	@echo "#define VERSION \"$(VERSION)\"" > version.h
>>>>> -
>>>>> --install:
>>>>> -+modules_install:
>>>>> - 	make -C $(KERNEL_DIR) SUBDIRS=`pwd` modules_install
>>>>> --	@echo "Installing cryptodev.h in /usr/include/crypto ..."
>>>>> --	@install -D crypto/cryptodev.h /usr/include/crypto/cryptodev.h
>>>>> -+	@echo "Installing cryptodev.h in $(PREFIX)/usr/include/crypto ..."
>>>>> -+	@install -D crypto/cryptodev.h
>>>>> -+$(PREFIX)/usr/include/crypto/cryptodev.h
>>>>> -
>>>>> - clean:
>>>>> - 	make -C $(KERNEL_DIR) SUBDIRS=`pwd` clean
>>>>>
>>>
>>>
>
>



More information about the meta-freescale mailing list