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

ting.liu at freescale.com ting.liu at freescale.com
Mon Jul 14 22:14:42 PDT 2014


> -----Original Message-----
> From: Bob Cochran [mailto:yocto at mindchasers.com]
> Sent: Tuesday, July 15, 2014 11:33 AM
> 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/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?

Yes, I will. I'm working on it now.

> 
> 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)?

Yes, please. It is helpful.

> 
> 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