summaryrefslogtreecommitdiffstats
path: root/meta/recipes-rt
diff options
context:
space:
mode:
authorTudor Florea <tudor.florea@enea.com>2015-10-09 22:59:03 +0200
committerTudor Florea <tudor.florea@enea.com>2015-10-09 22:59:03 +0200
commit972dcfcdbfe75dcfeb777150c136576cf1a71e99 (patch)
tree97a61cd7e293d7ae9d56ef7ed0f81253365bb026 /meta/recipes-rt
downloadpoky-972dcfcdbfe75dcfeb777150c136576cf1a71e99.tar.gz
initial commit for Enea Linux 5.0 arm
Signed-off-by: Tudor Florea <tudor.florea@enea.com>
Diffstat (limited to 'meta/recipes-rt')
-rw-r--r--meta/recipes-rt/README13
-rw-r--r--meta/recipes-rt/images/core-image-rt-sdk.bb12
-rw-r--r--meta/recipes-rt/images/core-image-rt.bb9
-rw-r--r--meta/recipes-rt/rt-tests/files/0001-rt-tests-Allow-for-user-specified-PYLIB.patch35
-rw-r--r--meta/recipes-rt/rt-tests/files/0002-rt-tests-Break-out-install_hwlatdetect.patch68
-rw-r--r--meta/recipes-rt/rt-tests/files/added-missing-dependencies.patch50
-rw-r--r--meta/recipes-rt/rt-tests/files/hackbench-fix-error-check.patch41
-rw-r--r--meta/recipes-rt/rt-tests/hwlatdetect_0.89.bb23
-rw-r--r--meta/recipes-rt/rt-tests/rt-tests.inc18
-rw-r--r--meta/recipes-rt/rt-tests/rt-tests_0.89.bb20
10 files changed, 289 insertions, 0 deletions
diff --git a/meta/recipes-rt/README b/meta/recipes-rt/README
new file mode 100644
index 0000000000..7d7558de49
--- /dev/null
+++ b/meta/recipes-rt/README
@@ -0,0 +1,13 @@
1The recipes-rt recipes provide package and image recipes for using and testing
2the PREEMPT_RT kernel. The core-image-rt*.bb images are minimal images with
3a couple extra packages, including rt-tests. In order to build the image with
4the linux-yocto-rt kernel, be sure to include the following line in your
5local.conf, bblayers.conf, or your $MACHINE.conf.
6
7PREFERRED_PROVIDER_virtual/kernel = "linux-yocto-rt"
8
9If you are creating a new BSP which should use linux-yocto-rt by default,
10use the line above in the $MACHINE.conf in your BSP layer, and specify the
11following in a linux-yocto-rt bbappend recipe:
12
13COMPATIBLE_MACHINE_$MACHINE = $MACHINE
diff --git a/meta/recipes-rt/images/core-image-rt-sdk.bb b/meta/recipes-rt/images/core-image-rt-sdk.bb
new file mode 100644
index 0000000000..db7d581832
--- /dev/null
+++ b/meta/recipes-rt/images/core-image-rt-sdk.bb
@@ -0,0 +1,12 @@
1require recipes-core/images/core-image-minimal.bb
2
3DESCRIPTION = "Small image capable of booting a device with a test suite and \
4tools for real-time use. It includes the full meta-toolchain, development \
5headers and libraries to form a standalone SDK."
6DEPENDS = "linux-yocto-rt"
7
8IMAGE_FEATURES += "dev-pkgs tools-sdk tools-debug eclipse-debug tools-profile tools-testapps debug-tweaks"
9
10IMAGE_INSTALL += "rt-tests hwlatdetect kernel-dev"
11
12LICENSE = "MIT"
diff --git a/meta/recipes-rt/images/core-image-rt.bb b/meta/recipes-rt/images/core-image-rt.bb
new file mode 100644
index 0000000000..cab6f8b749
--- /dev/null
+++ b/meta/recipes-rt/images/core-image-rt.bb
@@ -0,0 +1,9 @@
1require recipes-core/images/core-image-minimal.bb
2
3DESCRIPTION = "A small image just capable of allowing a device to boot plus a \
4real-time test suite and tools appropriate for real-time use."
5DEPENDS = "linux-yocto-rt"
6
7IMAGE_INSTALL += "rt-tests hwlatdetect"
8
9LICENSE = "MIT"
diff --git a/meta/recipes-rt/rt-tests/files/0001-rt-tests-Allow-for-user-specified-PYLIB.patch b/meta/recipes-rt/rt-tests/files/0001-rt-tests-Allow-for-user-specified-PYLIB.patch
new file mode 100644
index 0000000000..8b493eb1f1
--- /dev/null
+++ b/meta/recipes-rt/rt-tests/files/0001-rt-tests-Allow-for-user-specified-PYLIB.patch
@@ -0,0 +1,35 @@
1From 66765522b634952346f1a3ab7d00c7222a1f9361 Mon Sep 17 00:00:00 2001
2Message-Id: <66765522b634952346f1a3ab7d00c7222a1f9361.1347419597.git.dvhart@linux.intel.com>
3From: Darren Hart <dvhart@linux.intel.com>
4Date: Tue, 11 Sep 2012 15:19:30 -0700
5Subject: [PATCH 1/2] rt-tests: Allow for user-specified PYLIB
6
7Upstream-Status: Submitted
8
9Allow users (build systems) to specify PYLIB. This allows for a
10cross-build-system to specify the target PYLIB rather than the host
11PYLIB.
12
13Signed-off-by: Darren Hart <dvhart@linux.intel.com>
14CC: Clark Williams <williams@redhat.com>
15CC: John Kacur <jkacur@redhat.com>
16---
17 Makefile | 2 +-
18 1 file changed, 1 insertion(+), 1 deletion(-)
19
20diff --git a/Makefile b/Makefile
21index 3a82407..61e2f9f 100644
22--- a/Makefile
23+++ b/Makefile
24@@ -23,7 +23,7 @@ endif
25 CFLAGS ?= -D_GNU_SOURCE -Wall -Wno-nonnull -Isrc/include
26 LDFLAGS ?=
27
28-PYLIB := $(shell python -c 'import distutils.sysconfig; print distutils.sysconfig.get_python_lib()')
29+PYLIB ?= $(shell python -c 'import distutils.sysconfig; print distutils.sysconfig.get_python_lib()')
30
31 ifndef DEBUG
32 CFLAGS += -O2
33--
341.7.11.4
35
diff --git a/meta/recipes-rt/rt-tests/files/0002-rt-tests-Break-out-install_hwlatdetect.patch b/meta/recipes-rt/rt-tests/files/0002-rt-tests-Break-out-install_hwlatdetect.patch
new file mode 100644
index 0000000000..bc6136f1de
--- /dev/null
+++ b/meta/recipes-rt/rt-tests/files/0002-rt-tests-Break-out-install_hwlatdetect.patch
@@ -0,0 +1,68 @@
1From af93e580d005a2bba6ed36528003af4cf631adb8 Mon Sep 17 00:00:00 2001
2Message-Id: <af93e580d005a2bba6ed36528003af4cf631adb8.1347419597.git.dvhart@linux.intel.com>
3In-Reply-To: <66765522b634952346f1a3ab7d00c7222a1f9361.1347419597.git.dvhart@linux.intel.com>
4References: <66765522b634952346f1a3ab7d00c7222a1f9361.1347419597.git.dvhart@linux.intel.com>
5From: Darren Hart <dvhart@linux.intel.com>
6Date: Tue, 11 Sep 2012 14:51:10 -0700
7Subject: [PATCH 2/2] rt-tests: Break out install_hwlatdetect
8
9Upstream-Status: Submitted
10
11Allow hwlatdetect to be installed independently of the rest of the
12tests. This is convenient for build systems that package it separately
13due to the python dependency.
14
15Signed-off-by: Darren Hart <dvhart@linux.intel.com>
16CC: Clark Williams <williams@redhat.com>
17CC: John Kacur <jkacur@redhat.com>
18---
19 Makefile | 18 +++++++++++-------
20 1 file changed, 11 insertions(+), 7 deletions(-)
21
22diff --git a/Makefile b/Makefile
23index 61e2f9f..636e63b 100644
24--- a/Makefile
25+++ b/Makefile
26@@ -119,21 +119,15 @@ changelog:
27 git log >ChangeLog
28
29 .PHONY: install
30-install: all
31+install: all install_hwlatdetect
32 mkdir -p "$(DESTDIR)$(bindir)" "$(DESTDIR)$(mandir)/man4"
33 mkdir -p "$(DESTDIR)$(srcdir)" "$(DESTDIR)$(mandir)/man8"
34 cp $(TARGETS) "$(DESTDIR)$(bindir)"
35- if test -n "$(PYLIB)" ; then \
36- install -D -m 755 src/hwlatdetect/hwlatdetect.py $(DESTDIR)$(PYLIB)/hwlatdetect.py ; \
37- rm -f "$(DESTDIR)$(bindir)/hwlatdetect" ; \
38- ln -s $(PYLIB)/hwlatdetect.py "$(DESTDIR)$(bindir)/hwlatdetect" ; \
39- fi
40 install -D -m 644 src/backfire/backfire.c "$(DESTDIR)$(srcdir)/backfire/backfire.c"
41 install -m 644 src/backfire/Makefile "$(DESTDIR)$(srcdir)/backfire/Makefile"
42 gzip src/backfire/backfire.4 -c >"$(DESTDIR)$(mandir)/man4/backfire.4.gz"
43 gzip src/cyclictest/cyclictest.8 -c >"$(DESTDIR)$(mandir)/man8/cyclictest.8.gz"
44 gzip src/pi_tests/pi_stress.8 -c >"$(DESTDIR)$(mandir)/man8/pi_stress.8.gz"
45- gzip src/hwlatdetect/hwlatdetect.8 -c >"$(DESTDIR)$(mandir)/man8/hwlatdetect.8.gz"
46 gzip src/ptsematest/ptsematest.8 -c >"$(DESTDIR)$(mandir)/man8/ptsematest.8.gz"
47 gzip src/sigwaittest/sigwaittest.8 -c >"$(DESTDIR)$(mandir)/man8/sigwaittest.8.gz"
48 gzip src/svsematest/svsematest.8 -c >"$(DESTDIR)$(mandir)/man8/svsematest.8.gz"
49@@ -141,6 +135,16 @@ install: all
50 gzip src/backfire/sendme.8 -c >"$(DESTDIR)$(mandir)/man8/sendme.8.gz"
51 gzip src/hackbench/hackbench.8 -c >"$(DESTDIR)$(mandir)/man8/hackbench.8.gz"
52
53+.PHONY: install_hwlatdetect
54+install_hwlatdetect: hwlatdetect
55+ if test -n "$(PYLIB)" ; then \
56+ mkdir -p "$(DESTDIR)$(bindir)" "$(DESTDIR)$(mandir)/man8" ; \
57+ install -D -m 755 src/hwlatdetect/hwlatdetect.py $(DESTDIR)$(PYLIB)/hwlatdetect.py ; \
58+ rm -f "$(DESTDIR)$(bindir)/hwlatdetect" ; \
59+ ln -s $(PYLIB)/hwlatdetect.py "$(DESTDIR)$(bindir)/hwlatdetect" ; \
60+ gzip src/hwlatdetect/hwlatdetect.8 -c >"$(DESTDIR)$(mandir)/man8/hwlatdetect.8.gz" ; \
61+ fi
62+
63 .PHONY: release
64 release: clean changelog
65 mkdir -p releases
66--
671.7.11.4
68
diff --git a/meta/recipes-rt/rt-tests/files/added-missing-dependencies.patch b/meta/recipes-rt/rt-tests/files/added-missing-dependencies.patch
new file mode 100644
index 0000000000..e4202823e3
--- /dev/null
+++ b/meta/recipes-rt/rt-tests/files/added-missing-dependencies.patch
@@ -0,0 +1,50 @@
1From 82d28701486ba5a699544a168448bf93b1ccd7b1 Mon Sep 17 00:00:00 2001
2From: Jackie Huang <jackie.huang@windriver.com>
3Date: Thu, 6 Dec 2012 11:26:14 +0800
4Subject: [PATCH] Added missing dependencies
5
6Upstream-Status: Submitted [linux-rt-users]
7
8The following targets missed dependency on librttest.a:
9pi_stress
10rt-migrate-test
11hackbench
12
13Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
14---
15 Makefile | 6 +++---
16 1 file changed, 3 insertions(+), 3 deletions(-)
17
18diff --git a/Makefile b/Makefile
19index fd3cdb3..60707a7 100644
20--- a/Makefile
21+++ b/Makefile
22@@ -68,14 +68,14 @@ cyclictest: cyclictest.o librttest.a
23 signaltest: signaltest.o librttest.a
24 $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS)
25
26-pi_stress: pi_stress.o
27+pi_stress: pi_stress.o librttest.a
28 $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS)
29
30 hwlatdetect: src/hwlatdetect/hwlatdetect.py
31 chmod +x src/hwlatdetect/hwlatdetect.py
32 ln -s src/hwlatdetect/hwlatdetect.py hwlatdetect
33
34-rt-migrate-test: rt-migrate-test.o
35+rt-migrate-test: rt-migrate-test.o librttest.a
36 $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS)
37
38 ptsematest: ptsematest.o librttest.a
39@@ -96,7 +96,7 @@ sendme: sendme.o librttest.a
40 pip_stress: pip_stress.o librttest.a
41 $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS)
42
43-hackbench: hackbench.o
44+hackbench: hackbench.o librttest.a
45 $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS)
46
47 librttest.a: rt-utils.o error.o rt-get_cpu.o
48--
491.7.9.5
50
diff --git a/meta/recipes-rt/rt-tests/files/hackbench-fix-error-check.patch b/meta/recipes-rt/rt-tests/files/hackbench-fix-error-check.patch
new file mode 100644
index 0000000000..d17fdff455
--- /dev/null
+++ b/meta/recipes-rt/rt-tests/files/hackbench-fix-error-check.patch
@@ -0,0 +1,41 @@
1childinfo_t is a union that contains both signed (error) and unsigned
2(threadid) members. Thus a large threadid could appear as a negative error
3value, which will cause unexpected failures.
4
5childinfo_t should be changed to a struct, but it could potentially affect the
6performance. So we keep it as a union but only check error against -1. There is
7still a chance of false alarm but it's small.
8
9Upstream-Status: Pending
10
11Signed-off-by: Song.Li <Song.Li@windriver.com>
12Signed-off-by: Jesse Zhang <sen.zhang@windriver.com>
13---
14 src/hackbench/hackbench.c | 4 ++--
15 1 file changed, 2 insertions(+), 2 deletions(-)
16
17diff --git a/src/hackbench/hackbench.c b/src/hackbench/hackbench.c
18index 8baeb23..dc0de8f 100644
19--- a/src/hackbench/hackbench.c
20+++ b/src/hackbench/hackbench.c
21@@ -317,7 +317,7 @@ static unsigned int group(childinfo_t *child,
22 ctx->wakefd = wakefd;
23
24 child[tab_offset+i] = create_worker(ctx, (void *)(void *)receiver);
25- if( child[tab_offset+i].error < 0 ) {
26+ if( child[tab_offset+i].error == -1 ) {
27 return (i > 0 ? i-1 : 0);
28 }
29 snd_ctx->out_fds[i] = fds[1];
30@@ -332,7 +332,7 @@ static unsigned int group(childinfo_t *child,
31 snd_ctx->num_fds = num_fds;
32
33 child[tab_offset+num_fds+i] = create_worker(snd_ctx, (void *)(void *)sender);
34- if( child[tab_offset+num_fds+i].error < 0 ) {
35+ if( child[tab_offset+num_fds+i].error == -1 ) {
36 return (num_fds+i)-1;
37 }
38 }
39--
401.7.9.5
41
diff --git a/meta/recipes-rt/rt-tests/hwlatdetect_0.89.bb b/meta/recipes-rt/rt-tests/hwlatdetect_0.89.bb
new file mode 100644
index 0000000000..8319eb987a
--- /dev/null
+++ b/meta/recipes-rt/rt-tests/hwlatdetect_0.89.bb
@@ -0,0 +1,23 @@
1SUMMARY = "Hardware latency detector"
2DESCRIPTION = "Python utility for controlling the kernel hardware latency detection module (hwlat_detector.ko)."
3HOMEPAGE = "http://git.kernel.org/?p=linux/kernel/git/clrkwllms/rt-tests.git"
4SECTION = "tests"
5LICENSE = "GPLv2"
6LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
7
8require rt-tests.inc
9
10EXTRA_OEMAKE += "PYLIB=${libdir}/python${PYTHON_BASEVERSION}/dist-packages"
11
12do_compile() {
13 oe_runmake hwlatdetect
14}
15
16do_install() {
17 oe_runmake install_hwlatdetect DESTDIR=${D} SBINDIR=${sbindir} \
18 MANDIR=${mandir} INCLUDEDIR=${includedir}
19}
20
21FILES_${PN} += "${libdir}/python${PYTHON_BASEVERSION}/dist-packages/hwlatdetect.py"
22RDEPENDS_${PN} = "python python-subprocess python-textutils"
23RRECOMMENDS_${PN} = "kernel-module-hwlat-detector"
diff --git a/meta/recipes-rt/rt-tests/rt-tests.inc b/meta/recipes-rt/rt-tests/rt-tests.inc
new file mode 100644
index 0000000000..7fbe6d45b8
--- /dev/null
+++ b/meta/recipes-rt/rt-tests/rt-tests.inc
@@ -0,0 +1,18 @@
1# Version v0.89
2PV = "0.89"
3SRCREV = "9164ec4db2645f52ffdd20e6d1b72bb0411ab40e"
4
5SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/clrkwllms/rt-tests.git \
6 file://0001-rt-tests-Allow-for-user-specified-PYLIB.patch \
7 file://0002-rt-tests-Break-out-install_hwlatdetect.patch \
8 file://added-missing-dependencies.patch \
9 file://hackbench-fix-error-check.patch \
10"
11
12S = "${WORKDIR}/git"
13
14# need to append rt-tests' default CFLAGS to ours
15CFLAGS += "-I${S}/src/include -D_GNU_SOURCE -Wall -Wno-nonnull"
16
17# calling 'uname -m' is broken on crossbuilds
18EXTRA_OEMAKE = "NUMA=0"
diff --git a/meta/recipes-rt/rt-tests/rt-tests_0.89.bb b/meta/recipes-rt/rt-tests/rt-tests_0.89.bb
new file mode 100644
index 0000000000..df646de8ed
--- /dev/null
+++ b/meta/recipes-rt/rt-tests/rt-tests_0.89.bb
@@ -0,0 +1,20 @@
1SUMMARY = "Real-Time preemption testcases"
2HOMEPAGE = "https://rt.wiki.kernel.org/index.php/Cyclictest"
3SECTION = "tests"
4DEPENDS = "linux-libc-headers virtual/libc"
5LICENSE = "GPLv2 & GPLv2+"
6LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \
7 file://src/cyclictest/cyclictest.c;beginline=7;endline=9;md5=e768b8da44555fe63f65e5c497844cb5 \
8 file://src/pi_tests/pi_stress.c;beginline=6;endline=19;md5=bd426a634a43ec612e9fbf125dfcc949"
9
10require rt-tests.inc
11
12# Do not install hwlatdetect
13EXTRA_OEMAKE += "PYLIB=''"
14
15do_install() {
16 oe_runmake install DESTDIR=${D} SBINDIR=${sbindir} MANDIR=${mandir} \
17 INCLUDEDIR=${includedir}
18}
19
20FILES_${PN} += "${prefix}/src/backfire"