summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdrian Dudau <adrian.dudau@enea.com>2015-10-28 13:30:10 +0100
committerAdrian Dudau <adrian.dudau@enea.com>2015-10-28 13:30:10 +0100
commit38929ed6a4630d2b8f3efa00616800b4012ea0d7 (patch)
tree22bd8dca4994cd3d73f7f959f57f0bc7137d04cf
downloadmeta-el-common-38929ed6a4630d2b8f3efa00616800b4012ea0d7.tar.gz
Initial commit
result of splitting up meta-enea Signed-off-by: Adrian Dudau <adrian.dudau@enea.com>
-rw-r--r--COPYING.MIT17
-rw-r--r--README64
-rw-r--r--conf/distro/enea.conf28
-rw-r--r--conf/layer.conf12
-rw-r--r--images/enea-image-base.bb5
-rw-r--r--images/enea-image-common.inc11
-rw-r--r--images/enea-image-featured.bb76
-rw-r--r--recipes-connectivity/connman/connman_1.25.bbappend5
-rw-r--r--recipes-connectivity/connman/files/0001-added-noipconfig-option.patch353
-rw-r--r--recipes-connectivity/connman/files/connman83
-rw-r--r--recipes-core/busybox/busybox_1.22.1.bbappend19
-rw-r--r--recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bbappend1
-rw-r--r--recipes-core/packagegroups/packagegroup-core-standalone-sdk-target.bbappend1
-rw-r--r--recipes-core/packagegroups/packagegroup-enea-bench.bb14
-rw-r--r--recipes-core/packagegroups/packagegroup-enea-core-boot.bb65
-rw-r--r--recipes-core/packagegroups/packagegroup-enea-ddt.bb22
-rw-r--r--recipes-core/packagegroups/packagegroup-enea-debug.bb35
-rw-r--r--recipes-core/packagegroups/packagegroup-enea-ptest.bb118
-rw-r--r--recipes-core/packagegroups/packagegroup-enea-rt-tools.bb13
-rw-r--r--recipes-core/packagegroups/packagegroup-enea-sys.bb18
-rw-r--r--recipes-core/sysvinit/sysvinit_2.88dsf.bbappend3
-rw-r--r--recipes-devtools/binutils/binutils-2.24.inc6
-rw-r--r--recipes-devtools/binutils/binutils-cross-canadian_2.24.bbappend1
-rw-r--r--recipes-devtools/binutils/binutils-cross_2.24.bbappend1
-rw-r--r--recipes-devtools/binutils/binutils-crosssdk_2.24.bbappend1
-rw-r--r--recipes-devtools/binutils/binutils_2.24.bbappend1
-rw-r--r--recipes-devtools/binutils/files/0001-Revert-Report-overflow-on-PowerPC64-h-and-ha-relocat.patch1087
-rw-r--r--recipes-devtools/e2fsprogs/e2fsprogs_1.42.9.bbappend1
-rw-r--r--recipes-devtools/valgrind/files/disable-power-isa-2.07-check.patch48
-rw-r--r--recipes-devtools/valgrind/valgrind_3.9.0.bbappend30
-rw-r--r--recipes-enea/count-ticks/count-ticks/run-ptest23
-rw-r--r--recipes-enea/count-ticks/count-ticks_1.1.bb25
-rw-r--r--recipes-enea/linx/linx-2.6.6/liblinx_free_buf.patch22
-rw-r--r--recipes-enea/linx/linx-2.6.6/liblinx_nobase.patch29
-rw-r--r--recipes-enea/linx/linx-2.6.6/linxcfg_nobase.patch38
-rw-r--r--recipes-enea/linx/linx-mod-2.6.6/linx-kernel-modules.patch288
-rw-r--r--recipes-enea/linx/linx-mod-2.6.6/support-for-3.11-kernel-versions.patch206
-rw-r--r--recipes-enea/linx/linx-mod-2.6.6/support-for-3.12-kernels.patch24
-rw-r--r--recipes-enea/linx/linx-mod-2.6.6/support-for-3.15-kernels.patch60
-rw-r--r--recipes-enea/linx/linx-mod_2.6.6.bb34
-rw-r--r--recipes-enea/linx/linx.inc23
-rw-r--r--recipes-enea/linx/linx_2.6.6.bb6
-rw-r--r--recipes-enea/list2mask/list2mask/run-ptest15
-rw-r--r--recipes-enea/list2mask/list2mask_1.0.bb25
-rw-r--r--recipes-enea/partrt/partrt/run-ptest9
-rw-r--r--recipes-enea/partrt/partrt_1.1.bb30
-rw-r--r--recipes-extended/libuio/libuio/run-ptest3
-rw-r--r--recipes-extended/libuio/libuio_git.bb31
-rw-r--r--recipes-extended/ltp/ltp_20140422.bbappend3
-rw-r--r--recipes-kernel/linux/enea-common.inc12
-rw-r--r--recipes-kernel/linux/files/cfg/00001-embedded.cfg1
-rw-r--r--recipes-kernel/linux/files/cfg/00002-root_nfs.cfg7
-rw-r--r--recipes-kernel/linux/files/cfg/00003-fuse.cfg1
-rw-r--r--recipes-kernel/linux/files/cfg/00004-systemtap.cfg6
-rw-r--r--recipes-kernel/linux/files/cfg/00005-pramfs.cfg4
-rw-r--r--recipes-kernel/linux/files/cfg/00006-with_modules.cfg5
-rw-r--r--recipes-kernel/linux/files/cfg/00007-oprofile.cfg4
-rw-r--r--recipes-kernel/linux/files/cfg/00008-uio_m.cfg3
-rw-r--r--recipes-kernel/linux/files/cfg/00009-e500mc_debug.cfg6
-rw-r--r--recipes-kernel/linux/files/cfg/00010-pramfs-bsc913x.cfg5
-rw-r--r--recipes-kernel/linux/files/cfg/00012-preempt.cfg9
-rw-r--r--recipes-kernel/linux/files/cfg/00013-localversion.cfg2
-rw-r--r--recipes-kernel/linux/files/cfg/00014-kgdb.cfg9
-rw-r--r--recipes-kernel/linux/files/cfg/00015-uio.cfg3
-rw-r--r--recipes-kernel/linux/files/cfg/00016-largefilessupport.cfg1
-rw-r--r--recipes-kernel/linux/files/cfg/00017-preempt_keystone.cfg7
-rw-r--r--recipes-kernel/linux/files/cfg/00018-rt.cfg3
-rw-r--r--recipes-kernel/linux/files/cfg/00019-i2c.cfg1
-rw-r--r--recipes-kernel/linux/files/cfg/00021-bootlogd.cfg2
-rw-r--r--recipes-kernel/linux/files/cfg/00022-mtd_tests.cfg1
-rw-r--r--recipes-kernel/linux/files/cfg/00023-ikconfig.cfg2
-rw-r--r--recipes-kernel/linux/files/cfg/00024-preempt_romley-ivb.cfg8
-rw-r--r--recipes-kernel/linux/files/cfg/00025-powertop.cfg13
-rw-r--r--recipes-kernel/linux/files/cfg/00026-ltp.cfg3
-rw-r--r--recipes-kernel/linux/files/cfg/00027-lttng.cfg20
-rw-r--r--recipes-kernel/linux/files/cfg/00028-perf.cfg2
-rw-r--r--recipes-kernel/linux/files/cfg/00029-devtmpfs.cfg2
-rw-r--r--recipes-kernel/linux/files/cfg/00030-latencytop.cfg1
-rw-r--r--recipes-kernel/linux/files/cfg/00031-igb_drv.cfg3
-rw-r--r--recipes-kernel/linux/files/cfg/00032-dpa.cfg1
-rw-r--r--recipes-kernel/linux/files/cfg/00033-kprobes.cfg1
-rw-r--r--recipes-kernel/linux/files/cfg/00034-cpusets.cfg3
-rw-r--r--recipes-kernel/linux/files/cfg/00035-netfilter.cfg113
-rw-r--r--recipes-kernel/linux/files/cfg/00036-ppc_virt.cfg5
-rw-r--r--recipes-kernel/linux/files/cfg/00037-ppc_lxc.cfg30
-rw-r--r--recipes-kernel/linux/files/cfg/00038-hotplug_cpu.cfg1
-rw-r--r--recipes-kernel/linux/files/cfg/00039-nohz.cfg9
-rw-r--r--recipes-kernel/linux/files/cfg/00040-9p.cfg5
-rw-r--r--recipes-kernel/linux/files/cfg/00041-virtio.cfg8
-rw-r--r--recipes-kernel/linux/files/cfg/00042-vhost.cfg2
-rw-r--r--recipes-kernel/linux/files/cfg/00043-containers.cfg18
-rw-r--r--recipes-kernel/linux/files/cfg/00044-numa.cfg1
-rw-r--r--recipes-kernel/linux/files/cfg/00045-pci-stub.cfg1
-rw-r--r--recipes-kernel/linux/files/cfg/00046-sata.cfg5
-rw-r--r--recipes-kernel/linux/files/cfg/00047-bridge.cfg1
-rw-r--r--recipes-kernel/linux/files/cfg/00048-containers_no_user_ns.cfg18
-rw-r--r--recipes-kernel/linux/files/cfg/00049-gpio.cfg2
-rw-r--r--recipes-kernel/linux/files/cfg/00050-nfsdv4.cfg7
-rw-r--r--recipes-kernel/linux/files/cfg/00051-sctp.cfg4
-rw-r--r--recipes-kernel/linux/files/cfg/README9
-rwxr-xr-xrecipes-kernel/linux/files/cfg/indexcfgs.pl167
-rw-r--r--recipes-kernel/perf/perf.bbappend4
-rw-r--r--recipes-kernel/pramfs-init/files/pramfs_init80
-rw-r--r--recipes-kernel/pramfs-init/pramfs-init_1.0.bb20
104 files changed, 3694 insertions, 0 deletions
diff --git a/COPYING.MIT b/COPYING.MIT
new file mode 100644
index 0000000..89de354
--- /dev/null
+++ b/COPYING.MIT
@@ -0,0 +1,17 @@
1Permission is hereby granted, free of charge, to any person obtaining a copy
2of this software and associated documentation files (the "Software"), to deal
3in the Software without restriction, including without limitation the rights
4to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
5copies of the Software, and to permit persons to whom the Software is
6furnished to do so, subject to the following conditions:
7
8The above copyright notice and this permission notice shall be included in
9all copies or substantial portions of the Software.
10
11THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
12IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
13FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
14AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
15LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
16OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
17THE SOFTWARE.
diff --git a/README b/README
new file mode 100644
index 0000000..6b0b326
--- /dev/null
+++ b/README
@@ -0,0 +1,64 @@
1meta-enea-base
2===================================================================
3
4This layer is intended to be a central point for defining distros,
5images, recipes, appends or other userspace customizations common
6to all Enea Linux releases.
7
8
9Dependencies
10============
11
12This layer depends on:
13
14 URI: git://git.openembedded.org/bitbake
15 branch: dizzy
16 revision: HEAD
17
18 URI: git://git.yoctoproject.org/poky
19 branch: dizzy
20 revision: HEAD
21
22
23Source code
24===========
25
26git://git.enea.com/linux/meta-enea-base.git
27
28
29Patches
30=======
31
32Please submit any patches against the enea-base layer to the
33linux-maintainers mailing list: linux-maintainers@enea.com
34
35Maintainers: Enea Linux Team <linux-maintainers@enea.com>
36
37
38Table
39=================
40
41 I. Adding the enea-base layer to your build
42 II. Misc
43
44
45I. Adding the enea-base layer to your build
46=================================================
47
48In order to use this layer, you need to make the build system aware of
49it.
50
51Assuming the enea-base layer exists at the top-level of your
52yocto build tree, you can add it to the build system by adding the
53location of the enea-base layer to bblayers.conf, along with any
54other layers needed. e.g.:
55
56
57 BBLAYERS ?= " \
58 /path/to/yocto/meta \
59 /path/to/yocto/meta-yocto \
60 /path/to/yocto/meta-enea-base \
61 "
62
63II. Misc
64========
diff --git a/conf/distro/enea.conf b/conf/distro/enea.conf
new file mode 100644
index 0000000..da5ddd5
--- /dev/null
+++ b/conf/distro/enea.conf
@@ -0,0 +1,28 @@
1require conf/distro/poky.conf
2DISTRO = "enea"
3DISTRO_NAME = "Enea Linux"
4DISTRO_VERSION_MAJOR = "5.0"
5DISTRO_VERSION_MINOR ??= ""
6DISTRO_VERSION = "${DISTRO_VERSION_MAJOR}${DISTRO_VERSION_MINOR}"
7
8
9SDK_VENDOR = "-eneasdk"
10SDK_VERSION := "${@'${DISTRO_VERSION}'.replace('snapshot-${DATE}','snapshot')}"
11
12MAINTAINER = "ENEA <linux-maintainers@enea.com>"
13
14TARGET_VENDOR = "-enea"
15
16PRSERV_HOST ?= "localhost:0"
17
18SANITY_TESTED_DISTROS += "\
19 CentOS-6.1 \n \
20 RedHatEnterpriseServer-6.1 \n \
21 RedHatEnterpriseServer-6.4 \n \
22 Ubuntu-12.10 \n \
23 "
24
25CONNECTIVITY_CHECK_URIS = " \
26 http://linux.enea.com"
27
28BB_DANGLINGAPPENDS_WARNONLY ?= "1"
diff --git a/conf/layer.conf b/conf/layer.conf
new file mode 100644
index 0000000..48ee535
--- /dev/null
+++ b/conf/layer.conf
@@ -0,0 +1,12 @@
1# We have a conf and classes directory, add to BBPATH
2BBPATH .= ":${LAYERDIR}"
3
4# We have recipes-* directories, add to BBFILES
5BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
6 ${LAYERDIR}/images/* \
7 ${LAYERDIR}/packagegroups/* \
8 ${LAYERDIR}/recipes-*/*/*.bbappend"
9
10BBFILE_COLLECTIONS += "enea-base"
11BBFILE_PATTERN_enea-base = "^${LAYERDIR}/"
12BBFILE_PRIORITY_enea-base = "5"
diff --git a/images/enea-image-base.bb b/images/enea-image-base.bb
new file mode 100644
index 0000000..41eba70
--- /dev/null
+++ b/images/enea-image-base.bb
@@ -0,0 +1,5 @@
1DESCRIPTION = "console only image that fully suport target HW"
2require enea-image-common.inc
3
4IMAGE_ROOTFS_EXTRA_SPACE = "131072"
5IMAGE_OVERHEAD_FACTOR = "2"
diff --git a/images/enea-image-common.inc b/images/enea-image-common.inc
new file mode 100644
index 0000000..2f063eb
--- /dev/null
+++ b/images/enea-image-common.inc
@@ -0,0 +1,11 @@
1IMAGE_FEATURES += "ssh-server-dropbear package-management"
2
3IMAGE_INSTALL = " \
4 packagegroup-enea-core-boot \
5 "
6
7IMAGE_LINGUAS = ""
8
9LICENSE = "MIT"
10
11inherit core-image
diff --git a/images/enea-image-featured.bb b/images/enea-image-featured.bb
new file mode 100644
index 0000000..2d22237
--- /dev/null
+++ b/images/enea-image-featured.bb
@@ -0,0 +1,76 @@
1DESCRIPTION = "Full featured image with full target support"
2require enea-image-common.inc
3
4IMAGE_FEATURES[validitems] += "read-only-rootfs empty-root-password allow-empty-password post-install-logging "
5
6IMAGE_FEATURES += " \
7 dbg-pkgs \
8 debug-tweaks \
9 dev-pkgs \
10 doc-pkgs \
11 ptest-pkgs \
12 splash \
13 staticdev-pkgs \
14 eclipse-debug \
15 hwcodecs \
16 nfs-server \
17 qt4-pkgs \
18 ssh-server-openssh \
19 tools-debug \
20 tools-profile \
21 tools-sdk \
22 tools-testapps \
23 x11 \
24 x11-base"
25
26IMAGE_INSTALL = " \
27 packagegroup-base \
28 packagegroup-enea-debug \
29 packagegroup-enea-rt-tools \
30 packagegroup-enea-ptest \
31 packagegroup-enea-ddt \
32 packagegroup-enea-sys \
33 packagegroup-enea-bench \
34 ${ROOTFS_PKGMANAGE_BOOTSTRAP} \
35 beecrypt \
36 binutils \
37 chkconfig \
38 cracklib \
39 curl \
40 dhcp-client \
41 eventlog \
42 file \
43 findutils \
44 freetype \
45 fuse \
46 gawk \
47 gcc \
48 gnutls \
49 grep \
50 gzip \
51 icu \
52 insserv \
53 kbd \
54 kernel-modules \
55 libgcrypt \
56 libgpg-error \
57 libtasn1 \
58 lsb \
59 lsbinitscripts \
60 mingetty \
61 openssh \
62 ossp-uuid \
63 perf \
64 pkgconfig \
65 procps \
66 psmisc \
67 rpm \
68 rt-bmark \
69 tar \
70 tipcutils \
71 udev-extraconf \
72 zip \
73 "
74
75IMAGE_ROOTFS_EXTRA_SPACE = "1048576"
76IMAGE_OVERHEAD_FACTOR = "1.5"
diff --git a/recipes-connectivity/connman/connman_1.25.bbappend b/recipes-connectivity/connman/connman_1.25.bbappend
new file mode 100644
index 0000000..4f72ec3
--- /dev/null
+++ b/recipes-connectivity/connman/connman_1.25.bbappend
@@ -0,0 +1,5 @@
1FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
2
3SRC_URI += "file://0001-added-noipconfig-option.patch \
4 file://connman \
5 "
diff --git a/recipes-connectivity/connman/files/0001-added-noipconfig-option.patch b/recipes-connectivity/connman/files/0001-added-noipconfig-option.patch
new file mode 100644
index 0000000..d86b778
--- /dev/null
+++ b/recipes-connectivity/connman/files/0001-added-noipconfig-option.patch
@@ -0,0 +1,353 @@
1Disabling interface index for desired interfaces so that all methods dealing
2with those indexes (ifup, ifdown, new route, new gateway, etc.) will exit
3immediately. This is obtained through a new option called "noipconfig".
4Helpful when dealing with NFS dhcp method like:
5root=/dev/nfs rw nfsroot=172.21.3.8:/unix/enea_linux_rootfs/user/p2041rdb \
6 ip=dhcp console=ttyS0,115200 memmap=16M$0xf7000000 \
7 mem=4080M max_addr=f6ffffff
8
9This ports the https://www.cvg.de/people/ensc/0001-added-noipconfig-option.patch
10 change to connman_1.25. In http://patchwork.openembedded.org/patch/57539/ that
11 change is considered too intrusive and specific to be upstreamed.
12
13Signed-off-by: George Nita <george.nita@enea.com>
14Upstream-Status: Not Applicable
15
16
17diff --git a/src/connman.h b/src/connman.h
18index db6461f..8f4f4d0 100644
19--- a/src/connman.h
20+++ b/src/connman.h
21@@ -544,7 +544,8 @@ void __connman_technology_notify_regdom_by_device(struct connman_device *device,
22
23 #include <connman/device.h>
24
25-int __connman_device_init(const char *device, const char *nodevice);
26+int __connman_device_init(const char *device, const char *nodevice,
27+ const char *noipconfig);
28 void __connman_device_cleanup(void);
29
30 void __connman_device_list(DBusMessageIter *iter, void *user_data);
31diff --git a/src/device.c b/src/device.c
32index c0683ab..6582c51 100644
33--- a/src/device.c
34+++ b/src/device.c
35@@ -37,6 +37,7 @@
36 static GSList *device_list = NULL;
37 static gchar **device_filter = NULL;
38 static gchar **nodevice_filter = NULL;
39+static gchar **noipconfig_filter = NULL;
40
41 enum connman_pending_type {
42 PENDING_NONE = 0,
43@@ -1314,6 +1315,20 @@ done:
44 return device;
45 }
46
47+static bool __connman_device_noipconfig(const char *devname)
48+{
49+ char **pattern;
50+
51+ for (pattern = noipconfig_filter; *pattern; pattern++) {
52+ if (g_pattern_match_simple(*pattern, devname) == TRUE) {
53+ DBG("do not configure device %s", devname);
54+ return TRUE;
55+ }
56+ }
57+
58+ return FALSE;
59+}
60+
61 bool __connman_device_isfiltered(const char *devname)
62 {
63 char **pattern;
64@@ -1403,6 +1418,9 @@ static void cleanup_devices(void)
65 if (index < 0)
66 continue;
67
68+ if (__connman_device_noipconfig(interfaces[i]))
69+ __connman_inet_disable_index(index);
70+
71 if (!__connman_inet_get_address_netmask(index, &sin_addr,
72 &sin_mask)) {
73 char *address = g_strdup(inet_ntoa(sin_addr.sin_addr));
74@@ -1435,7 +1453,8 @@ static void cleanup_devices(void)
75 g_strfreev(interfaces);
76 }
77
78-int __connman_device_init(const char *device, const char *nodevice)
79+int __connman_device_init(const char *device, const char *nodevice,
80+ const char *noipconfig)
81 {
82 DBG("");
83
84@@ -1445,6 +1464,9 @@ int __connman_device_init(const char *device, const char *nodevice)
85 if (nodevice)
86 nodevice_filter = g_strsplit(nodevice, ",", -1);
87
88+ if (noipconfig != NULL)
89+ noipconfig_filter = g_strsplit(noipconfig, ",", -1);
90+
91 cleanup_devices();
92
93 return 0;
94diff --git a/src/inet.c b/src/inet.c
95index fb37143..d1f2c2f 100644
96--- a/src/inet.c
97+++ b/src/inet.c
98@@ -55,6 +55,45 @@
99 ((struct rtattr *) (((uint8_t*) (nmsg)) + \
100 NLMSG_ALIGN((nmsg)->nlmsg_len)))
101
102+static GHashTable *g_disabled_indices;
103+
104+static guint g_intptr_hash(gconstpointer p)
105+{
106+ uintptr_t v = (uintptr_t)p;
107+ return g_int_hash(&v);
108+}
109+
110+static gboolean g_intptr_equal(gconstpointer p1,
111+ gconstpointer p2)
112+{
113+ uintptr_t v1 = (uintptr_t)p1;
114+ uintptr_t v2 = (uintptr_t)p2;
115+
116+ return g_int_equal(&v1, &v2);
117+}
118+
119+void __connman_inet_disable_index(int index)
120+{
121+ connman_info("disabling interface #%d for ipconfig", index);
122+
123+ if (g_disabled_indices == NULL)
124+ g_disabled_indices = g_hash_table_new_full(g_intptr_hash,
125+ g_intptr_equal,
126+ NULL, NULL);
127+
128+ g_hash_table_add(g_disabled_indices, (void *)index);
129+}
130+
131+static bool __connman_inet_is_disabled_index(int index)
132+{
133+ bool rc;
134+
135+ rc = (g_disabled_indices != NULL &&
136+ g_hash_table_contains(g_disabled_indices, (void *)index));
137+
138+ return rc;
139+}
140+
141 int __connman_inet_rtnl_addattr_l(struct nlmsghdr *n, size_t max_length,
142 int type, const void *data, size_t data_length)
143 {
144@@ -98,6 +137,11 @@ int __connman_inet_modify_address(int cmd, int flags,
145 "prefixlen %hhu broadcast %s", cmd, flags, index, family,
146 address, peer, prefixlen, broadcast);
147
148+ if (__connman_inet_is_disabled_index(index)) {
149+ connman_info("index disabled; skipping %s", __func__);
150+ return 0;
151+ }
152+
153 if (!address)
154 return -EINVAL;
155
156@@ -275,6 +319,11 @@ int connman_inet_ifup(int index)
157 struct ifreq ifr;
158 int sk, err;
159
160+ if (__connman_inet_is_disabled_index(index)) {
161+ connman_info("index disabled; skipping %s", __func__);
162+ return 0;
163+ }
164+
165 sk = socket(PF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0);
166 if (sk < 0)
167 return -errno;
168@@ -318,6 +367,11 @@ int connman_inet_ifdown(int index)
169 struct sockaddr_in *addr;
170 int sk, err;
171
172+ if (__connman_inet_is_disabled_index(index)) {
173+ connman_info("index disabled; skipping %s", __func__);
174+ return 0;
175+ }
176+
177 sk = socket(PF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0);
178 if (sk < 0)
179 return -errno;
180@@ -519,6 +573,11 @@ int connman_inet_add_network_route(int index, const char *host,
181 DBG("index %d host %s gateway %s netmask %s", index,
182 host, gateway, netmask);
183
184+ if (__connman_inet_is_disabled_index(index)) {
185+ connman_info("index disabled; skipping %s", __func__);
186+ return 0;
187+ }
188+
189 sk = socket(PF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0);
190 if (sk < 0) {
191 err = -errno;
192@@ -589,6 +648,11 @@ int connman_inet_del_network_route(int index, const char *host)
193
194 DBG("index %d host %s", index, host);
195
196+ if (__connman_inet_is_disabled_index(index)) {
197+ connman_info("index disabled; skipping %s", __func__);
198+ return 0;
199+ }
200+
201 sk = socket(PF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0);
202 if (sk < 0) {
203 err = -errno;
204@@ -637,6 +701,11 @@ int connman_inet_del_ipv6_network_route(int index, const char *host,
205
206 DBG("index %d host %s", index, host);
207
208+ if (__connman_inet_is_disabled_index(index)) {
209+ connman_info("index disabled; skipping %s", __func__);
210+ return 0;
211+ }
212+
213 if (!host)
214 return -EINVAL;
215
216@@ -687,6 +756,11 @@ int connman_inet_add_ipv6_network_route(int index, const char *host,
217
218 DBG("index %d host %s gateway %s", index, host, gateway);
219
220+ if (__connman_inet_is_disabled_index(index)) {
221+ connman_info("index disabled; skipping %s", __func__);
222+ return 0;
223+ }
224+
225 if (!host)
226 return -EINVAL;
227
228@@ -741,6 +815,11 @@ int connman_inet_clear_ipv6_gateway_address(int index, const char *gateway)
229
230 DBG("index %d gateway %s", index, gateway);
231
232+ if (__connman_inet_is_disabled_index(index)) {
233+ connman_info("index disabled; skipping clear_ipv6_gateway operation");
234+ return 0;
235+ }
236+
237 if (!gateway)
238 return -EINVAL;
239
240@@ -784,6 +863,11 @@ int connman_inet_set_gateway_interface(int index)
241
242 DBG("index %d", index);
243
244+ if (__connman_inet_is_disabled_index(index)) {
245+ connman_info("index disabled; skipping %s", __func__);
246+ return 0;
247+ }
248+
249 sk = socket(PF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0);
250 if (sk < 0) {
251 err = -errno;
252@@ -837,6 +921,11 @@ int connman_inet_set_ipv6_gateway_interface(int index)
253
254 DBG("index %d", index);
255
256+ if (__connman_inet_is_disabled_index(index)) {
257+ connman_info("index disabled; skipping %s", __func__);
258+ return 0;
259+ }
260+
261 sk = socket(PF_INET6, SOCK_DGRAM | SOCK_CLOEXEC, 0);
262 if (sk < 0) {
263 err = -errno;
264@@ -889,6 +978,11 @@ int connman_inet_clear_gateway_address(int index, const char *gateway)
265
266 DBG("index %d gateway %s", index, gateway);
267
268+ if (__connman_inet_is_disabled_index(index)) {
269+ connman_info("index disabled; skipping %s", __func__);
270+ return 0;
271+ }
272+
273 sk = socket(PF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0);
274 if (sk < 0) {
275 err = -errno;
276@@ -946,6 +1040,11 @@ int connman_inet_clear_gateway_interface(int index)
277
278 DBG("index %d", index);
279
280+ if (__connman_inet_is_disabled_index(index)) {
281+ connman_info("index disabled; skipping %s", __func__);
282+ return 0;
283+ }
284+
285 sk = socket(PF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0);
286 if (sk < 0) {
287 err = -errno;
288@@ -999,6 +1098,11 @@ int connman_inet_clear_ipv6_gateway_interface(int index)
289
290 DBG("index %d", index);
291
292+ if (__connman_inet_is_disabled_index(index)) {
293+ connman_info("index disabled; skipping %s", __func__);
294+ return 0;
295+ }
296+
297 sk = socket(PF_INET6, SOCK_DGRAM | SOCK_CLOEXEC, 0);
298 if (sk < 0) {
299 err = -errno;
300@@ -1059,6 +1163,11 @@ bool connman_inet_compare_subnet(int index, const char *host)
301 return -1;
302 host_addr = _host_addr.s_addr;
303
304+ if (__connman_inet_is_disabled_index(index)) {
305+ connman_info("index disabled; skipping %s", __func__);
306+ return 0;
307+ }
308+
309 sk = socket(PF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0);
310 if (sk < 0)
311 return false;
312@@ -1159,6 +1268,11 @@ int connman_inet_set_mtu(int index, int mtu)
313 struct ifreq ifr;
314 int sk, err;
315
316+ if (__connman_inet_is_disabled_index(index)) {
317+ connman_info("index disabled; skipping %s", __func__);
318+ return 0;
319+ }
320+
321 sk = socket(AF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0);
322 if (sk < 0)
323 return sk;
324diff --git a/src/main.c b/src/main.c
325index 7cf6c9a..e06f25c 100644
326--- a/src/main.c
327+++ b/src/main.c
328@@ -453,6 +453,7 @@ static gchar *option_debug = NULL;
329 static gchar *option_device = NULL;
330 static gchar *option_plugin = NULL;
331 static gchar *option_nodevice = NULL;
332+static gchar *option_noipconfig = NULL;
333 static gchar *option_noplugin = NULL;
334 static gchar *option_wifi = NULL;
335 static gboolean option_detach = TRUE;
336@@ -482,6 +483,8 @@ static GOptionEntry options[] = {
337 "Specify networking device or interface", "DEV" },
338 { "nodevice", 'I', 0, G_OPTION_ARG_STRING, &option_nodevice,
339 "Specify networking interface to ignore", "DEV" },
340+ { "noipconfig", 0, 0, G_OPTION_ARG_STRING, &option_noipconfig,
341+ "Specify networking interface which shall not be configured", "DEV" },
342 { "plugin", 'p', 0, G_OPTION_ARG_STRING, &option_plugin,
343 "Specify plugins to load", "NAME,..." },
344 { "noplugin", 'P', 0, G_OPTION_ARG_STRING, &option_noplugin,
345@@ -648,7 +651,7 @@ int main(int argc, char *argv[])
346 __connman_provider_init();
347 __connman_network_init();
348 __connman_config_init();
349- __connman_device_init(option_device, option_nodevice);
350+ __connman_device_init(option_device, option_nodevice, option_noipconfig);
351
352 __connman_ippool_init();
353 __connman_iptables_init();
diff --git a/recipes-connectivity/connman/files/connman b/recipes-connectivity/connman/files/connman
new file mode 100644
index 0000000..a7b7c7b
--- /dev/null
+++ b/recipes-connectivity/connman/files/connman
@@ -0,0 +1,83 @@
1#!/bin/sh
2
3DAEMON=/usr/sbin/connmand
4PIDFILE=/var/run/connmand.pid
5DESC="Connection Manager"
6
7if [ -f /etc/default/connman ] ; then
8 . /etc/default/connman
9fi
10
11set -e
12
13nfsroot=0
14
15exec 9<&0 < /proc/mounts
16while read dev mtpt fstype rest; do
17 if test $mtpt = "/" ; then
18 case $fstype in
19 nfs | nfs4)
20 nfsroot=1
21 break
22 ;;
23 *)
24 ;;
25 esac
26 fi
27done
28
29do_start() {
30 EXTRA_PARAM=""
31 if test $nfsroot -eq 1 ; then
32 NET_DEVS=`cat /proc/net/dev | sed -ne 's/^\([a-zA-Z0-9 ]*\):.*$/\1/p'`
33 NET_ADDR=`cat /proc/cmdline | sed -ne 's/^.*ip=\([^ :]*\).*$/\1/p'`
34
35 if [ ! -z "$NET_ADDR" ]; then
36 if [ "$NET_ADDR" = dhcp ]; then
37 ethn=`ifconfig | grep "^eth" | sed -e "s/\(eth[0-9]\)\(.*\)/\1/"`
38 if [ ! -z "$ethn" ]; then
39 EXTRA_PARAM="--noipconfig $ethn"
40 fi
41 else
42 for i in $NET_DEVS; do
43 ADDR=`ifconfig $i | sed 's/addr://g' | sed -ne 's/^.*inet \([0-9.]*\) .*$/\1/p'`
44 if [ "$NET_ADDR" = "$ADDR" ]; then
45 EXTRA_PARAM="--noipconfig $i"
46 break
47 fi
48 done
49 fi
50 fi
51 fi
52 if [ -f @LIBDIR@/connman/wired-setup ] ; then
53 . @LIBDIR@/connman/wired-setup
54 fi
55 $DAEMON $EXTRA_PARAM
56}
57
58do_stop() {
59 start-stop-daemon --stop --name connmand --quiet
60}
61
62case "$1" in
63 start)
64 echo "Starting $DESC"
65 do_start
66 ;;
67 stop)
68 echo "Stopping $DESC"
69 do_stop
70 ;;
71 restart|force-reload)
72 echo "Restarting $DESC"
73 do_stop
74 sleep 1
75 do_start
76 ;;
77 *)
78 echo "Usage: $0 {start|stop|restart|force-reload}" >&2
79 exit 1
80 ;;
81esac
82
83exit 0
diff --git a/recipes-core/busybox/busybox_1.22.1.bbappend b/recipes-core/busybox/busybox_1.22.1.bbappend
new file mode 100644
index 0000000..7b61cf9
--- /dev/null
+++ b/recipes-core/busybox/busybox_1.22.1.bbappend
@@ -0,0 +1,19 @@
1do_prepare_config_append () {
2 sed -i -e 's/# CONFIG_CHRT is not set/CONFIG_CHRT=y/' .config
3 sed -i -e 's/# CONFIG_TASKSET is not set/CONFIG_TASKSET=y/' .config
4 sed -i -e 's/# CONFIG_FEATURE_TASKSET_FANCY is not set/CONFIG_FEATURE_TASKSET_FANCY=y/' .config
5 sed -i -e 's/# CONFIG_HTTPD is not set/CONFIG_HTTPD=y/' .config
6 sed -i -e 's/# CONFIG_FEATURE_HTTPD_RANGES is not set/CONFIG_FEATURE_HTTPD_RANGES=y/' .config
7 sed -i -e 's/# CONFIG_FEATURE_HTTPD_USE_SENDFILE is not set/CONFIG_FEATURE_HTTPD_USE_SENDFILE=y/' .config
8 sed -i -e 's/# CONFIG_FEATURE_HTTPD_SETUID is not set/CONFIG_FEATURE_HTTPD_SETUID=y/' .config
9 sed -i -e 's/# CONFIG_FEATURE_HTTPD_BASIC_AUTH is not set/CONFIG_FEATURE_HTTPD_BASIC_AUTH=y/' .config
10 sed -i -e 's/# CONFIG_FEATURE_HTTPD_AUTH_MD5 is not set/CONFIG_FEATURE_HTTPD_AUTH_MD5=y/' .config
11 sed -i -e 's/# CONFIG_FEATURE_HTTPD_CGI is not set/CONFIG_FEATURE_HTTPD_CGI=y/' .config
12 sed -i -e 's/# CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR is not set/CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR=y/' .config
13 sed -i -e 's/# CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV is not set/CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV=y/' .config
14 sed -i -e 's/# CONFIG_FEATURE_HTTPD_ENCODE_URL_STR is not set/CONFIG_FEATURE_HTTPD_ENCODE_URL_STR=y/' .config
15 sed -i -e 's/# CONFIG_FEATURE_HTTPD_ERROR_PAGES is not set/CONFIG_FEATURE_HTTPD_ERROR_PAGES=y/' .config
16 sed -i -e 's/# CONFIG_FEATURE_HTTPD_PROXY is not set/CONFIG_FEATURE_HTTPD_PROXY=y/' .config
17 sed -i -e 's/# CONFIG_FEATURE_HTTPD_GZIP is not set/CONFIG_FEATURE_HTTPD_GZIP=y/' .config
18 sed -i -e 's/# CONFIG_FEATURE_TAR_NOPRESERVE_TIME is not set/CONFIG_FEATURE_TAR_NOPRESERVE_TIME=y/' .config
19}
diff --git a/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bbappend b/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bbappend
new file mode 100644
index 0000000..590b4f1
--- /dev/null
+++ b/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bbappend
@@ -0,0 +1 @@
RDEPENDS_${PN} += "nativesdk-e2fsprogs nativesdk-u-boot-mkimage"
diff --git a/recipes-core/packagegroups/packagegroup-core-standalone-sdk-target.bbappend b/recipes-core/packagegroups/packagegroup-core-standalone-sdk-target.bbappend
new file mode 100644
index 0000000..f939bbf
--- /dev/null
+++ b/recipes-core/packagegroups/packagegroup-core-standalone-sdk-target.bbappend
@@ -0,0 +1 @@
RDEPENDS_${PN} += "libstdc++-staticdev glibc-staticdev"
diff --git a/recipes-core/packagegroups/packagegroup-enea-bench.bb b/recipes-core/packagegroups/packagegroup-enea-bench.bb
new file mode 100644
index 0000000..f536bbc
--- /dev/null
+++ b/recipes-core/packagegroups/packagegroup-enea-bench.bb
@@ -0,0 +1,14 @@
1DESCRIPTION = "Package group for benchmarking test"
2LICENSE = "MIT"
3LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \
4 file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
5PR = "r0"
6
7inherit packagegroup
8
9RDEPENDS_${PN} = "\
10 "
11
12RRECOMMENDS_${PN} = "\
13 benchtest-runner \
14 "
diff --git a/recipes-core/packagegroups/packagegroup-enea-core-boot.bb b/recipes-core/packagegroups/packagegroup-enea-core-boot.bb
new file mode 100644
index 0000000..d0836ae
--- /dev/null
+++ b/recipes-core/packagegroups/packagegroup-enea-core-boot.bb
@@ -0,0 +1,65 @@
1#
2# Copyright (C) 2007 OpenedHand Ltd.
3#
4
5SUMMARY = "Minimal boot requirements"
6DESCRIPTION = "The minimal and busybox set of packages required to boot the system"
7LICENSE = "MIT"
8DEPENDS = "virtual/kernel"
9PR = "r11"
10
11PACKAGE_ARCH = "${MACHINE_ARCH}"
12
13inherit packagegroup
14
15#
16# Set by the machine configuration with packages essential for device bootup
17#
18MACHINE_ESSENTIAL_EXTRA_RDEPENDS ?= ""
19MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS ?= ""
20
21# For backwards compatibility after rename
22RPROVIDES_${PN} = "task-core-boot"
23RREPLACES_${PN} = "task-core-boot"
24RCONFLICTS_${PN} = "task-core-boot"
25
26# Distro can override the following VIRTUAL-RUNTIME providers:
27VIRTUAL-RUNTIME_dev_manager ?= "udev"
28VIRTUAL-RUNTIME_login_manager ?= "busybox"
29VIRTUAL-RUNTIME_init_manager ?= "sysvinit"
30VIRTUAL-RUNTIME_initscripts ?= "initscripts"
31VIRTUAL-RUNTIME_keymaps ?= "keymaps"
32
33RDEPENDS_${PN} += "\
34 base-files \
35 base-passwd \
36 ${@base_contains("MACHINE_FEATURES", "keyboard", "${VIRTUAL-RUNTIME_keymaps}", "", d)} \
37 modutils-initscripts \
38 netbase \
39 init-ifupdown \
40 ${VIRTUAL-RUNTIME_login_manager} \
41 ${VIRTUAL-RUNTIME_init_manager} \
42 ${VIRTUAL-RUNTIME_initscripts} \
43 ${VIRTUAL-RUNTIME_dev_manager} \
44 ${VIRTUAL-RUNTIME_update-alternatives} \
45 ${MACHINE_ESSENTIAL_EXTRA_RDEPENDS}"
46
47RDEPENDS_${PN}_append_fslmachine = " u-boot"
48RDEPENDS_${PN}_append_p2041 = " fm-ucode rcw"
49RDEPENDS_${PN}_append_p4080 = " fm-ucode rcw"
50RDEPENDS_${PN} += "\
51 busybox \
52 ${@base_contains("MACHINE_FEATURES", "rtc", "busybox-hwclock", "", d)} \
53 "
54
55RDEPENDS_${PN}_append_x86 = "\
56 kernel-vmlinux \
57 kernel \
58 "
59RDEPENDS_${PN}_append_x86-64 = "\
60 kernel-vmlinux \
61 kernel \
62 "
63
64RRECOMMENDS_${PN} = "\
65 ${MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS}"
diff --git a/recipes-core/packagegroups/packagegroup-enea-ddt.bb b/recipes-core/packagegroups/packagegroup-enea-ddt.bb
new file mode 100644
index 0000000..3116b4b
--- /dev/null
+++ b/recipes-core/packagegroups/packagegroup-enea-ddt.bb
@@ -0,0 +1,22 @@
1DESCRIPTION = "Package group for driver test"
2LICENSE = "MIT"
3LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \
4 file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
5PR = "r0"
6
7inherit packagegroup
8
9RDEPENDS_${PN} = "\
10 hdparm \
11 rt-tests \
12 i2c-tools \
13 mtd-utils \
14 net-tools \
15 pciutils \
16 usbutils \
17 watchdog \
18 "
19
20RRECOMMENDS_${PN} = "\
21 ddt-runner \
22 "
diff --git a/recipes-core/packagegroups/packagegroup-enea-debug.bb b/recipes-core/packagegroups/packagegroup-enea-debug.bb
new file mode 100644
index 0000000..b1d386b
--- /dev/null
+++ b/recipes-core/packagegroups/packagegroup-enea-debug.bb
@@ -0,0 +1,35 @@
1DESCRIPTION = "Tools package group for OE-Core"
2LICENSE = "MIT"
3LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690 \
4 file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
5PR = "r0"
6
7PACKAGES = "\
8 ${PN} \
9 ${PN}-dbg \
10 ${PN}-dev \
11 "
12
13PACKAGE_ARCH = "${MACHINE_ARCH}"
14
15ALLOW_EMPTY_${PN} = "1"
16
17# systemtap needs elfutils which is not fully buildable on uclibc
18# hence we exclude it from uclibc based builds
19SYSTEMTAP = "systemtap"
20SYSTEMTAP_libc-uclibc = ""
21
22# kexec-tools doesn't work on Mips
23KEXECTOOLS ?= "kexec-tools"
24KEXECTOOLS_mips ?= ""
25KEXECTOOLS_mipsel ?= ""
26# No need to remove kexec-tools from powerpc
27#KEXECTOOLS_powerpc ?= ""
28
29RDEPENDS_${PN} = "\
30 gdb \
31 gdbserver \
32 rsync \
33 strace \
34 ${SYSTEMTAP} \
35 "
diff --git a/recipes-core/packagegroups/packagegroup-enea-ptest.bb b/recipes-core/packagegroups/packagegroup-enea-ptest.bb
new file mode 100644
index 0000000..f319469
--- /dev/null
+++ b/recipes-core/packagegroups/packagegroup-enea-ptest.bb
@@ -0,0 +1,118 @@
1DESCRIPTION = "Ptest package group"
2LICENSE = "MIT"
3LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \
4 file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
5PR = "r0"
6
7inherit packagegroup
8
9ENEA_DAEMONS = " \
10 at \
11 cronie \
12 "
13
14ENEA_DATABASE = " \
15 sqlite3 \
16 "
17
18ENEA_TRACE = " \
19 babeltrace \
20 ${VALGRIND} \
21 "
22
23VALGRIND ?= ""
24VALGRIND_powerpc ?= "valgrind"
25VALGRIND_e500v2 ?= ""
26VALGRIND_x86 ?= "valgrind"
27VALGRIND_x86_64 ?= "valgrind"
28VALGRIND_armv7a ?= "valgrind"
29
30ENEA_DEV = " \
31 glibc-locale \
32 "
33
34ENEA_DEVICE = " \
35 libusb1-dbg \
36 libusb-compat-dbg \
37 usbutils \
38 "
39
40ENEA_FSYS = " \
41 acl \
42 pramfs-init \
43 "
44
45ENEA_HIGHAVA = " \
46 kexec \
47 kexec-tools \
48 "
49
50ENEA_LIBS = " \
51 gettext \
52 gettext-runtime \
53 libstdc++ \
54 libuio \
55 zlib \
56 "
57
58ENEA_MESSAGING = " \
59 dbus \
60 "
61
62ENEA_SCRIPTING = " \
63 tcl \
64 python \
65 "
66
67ENEA_SECURITY = " \
68 openssl"
69
70ENEA_SHELL = " \
71 ncurses"
72
73ENEA_UTILS = " \
74 bc \
75 bonnie++ \
76 expat \
77 "
78
79ENEA_GPL ?= " \
80 linx \
81 linx-mod \
82 "
83ENEA_BSD = " \
84 partrt \
85 "
86
87ENEA_GPL_qemux86 = ""
88ENEA_GPL_qemuppc = ""
89ENEA_GPL_armv5 = ""
90ENEA_GPL_armv7a = ""
91ENEA_GPL_aarch64 = ""
92
93RDEPENDS_${PN} = " \
94 ${ENEA_DAEMONS} \
95 ${ENEA_DATABASE} \
96 ${ENEA_TRACE} \
97 ${ENEA_DEV} \
98 ${ENEA_DEVICE} \
99 ${ENEA_FSYS} \
100 ${ENEA_HIGHAVA} \
101 ${ENEA_LIBS} \
102 ${ENEA_MESSAGING} \
103 ${ENEA_SCRIPTING} \
104 ${ENEA_SECURITY} \
105 ${ENEA_SHELL} \
106 ${ENEA_UTILS} \
107 ${ENEA_GPL} \
108 ${ENEA_BSD} \
109 ethtool \
110 libxml2 \
111 gdb \
112 elfutils \
113 "
114
115
116RRECOMMENDS_${PN} = " \
117 ptest-runner \
118 "
diff --git a/recipes-core/packagegroups/packagegroup-enea-rt-tools.bb b/recipes-core/packagegroups/packagegroup-enea-rt-tools.bb
new file mode 100644
index 0000000..7515ed4
--- /dev/null
+++ b/recipes-core/packagegroups/packagegroup-enea-rt-tools.bb
@@ -0,0 +1,13 @@
1DESCRIPTION = "Enea RT-tools package group"
2LICENSE = "MIT"
3LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \
4 file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
5PR = "r1"
6
7inherit packagegroup
8
9RDEPENDS_${PN} = " \
10 partrt \
11 count-ticks \
12 list2mask \
13 "
diff --git a/recipes-core/packagegroups/packagegroup-enea-sys.bb b/recipes-core/packagegroups/packagegroup-enea-sys.bb
new file mode 100644
index 0000000..9ec9756
--- /dev/null
+++ b/recipes-core/packagegroups/packagegroup-enea-sys.bb
@@ -0,0 +1,18 @@
1DESCRIPTION = "Package group for system test"
2LICENSE = "MIT"
3LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \
4 file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
5PR = "r0"
6
7inherit packagegroup
8
9RDEPENDS_${PN} = "\
10 ltp \
11 logrotate \
12 sudo \
13 "
14
15RRECOMMENDS_${PN} = "\
16 systest-runner \
17 perf-networking \
18 "
diff --git a/recipes-core/sysvinit/sysvinit_2.88dsf.bbappend b/recipes-core/sysvinit/sysvinit_2.88dsf.bbappend
new file mode 100644
index 0000000..4fd3c00
--- /dev/null
+++ b/recipes-core/sysvinit/sysvinit_2.88dsf.bbappend
@@ -0,0 +1,3 @@
1do_install_append(){
2 chmod o+x ${D}${base_sbindir}/shutdown
3}
diff --git a/recipes-devtools/binutils/binutils-2.24.inc b/recipes-devtools/binutils/binutils-2.24.inc
new file mode 100644
index 0000000..3a1186c
--- /dev/null
+++ b/recipes-devtools/binutils/binutils-2.24.inc
@@ -0,0 +1,6 @@
1FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
2
3SRC_URI += "\
4 file://0001-Revert-Report-overflow-on-PowerPC64-h-and-ha-relocat.patch \
5 "
6
diff --git a/recipes-devtools/binutils/binutils-cross-canadian_2.24.bbappend b/recipes-devtools/binutils/binutils-cross-canadian_2.24.bbappend
new file mode 100644
index 0000000..0427595
--- /dev/null
+++ b/recipes-devtools/binutils/binutils-cross-canadian_2.24.bbappend
@@ -0,0 +1 @@
require binutils-${PV}.inc
diff --git a/recipes-devtools/binutils/binutils-cross_2.24.bbappend b/recipes-devtools/binutils/binutils-cross_2.24.bbappend
new file mode 100644
index 0000000..0427595
--- /dev/null
+++ b/recipes-devtools/binutils/binutils-cross_2.24.bbappend
@@ -0,0 +1 @@
require binutils-${PV}.inc
diff --git a/recipes-devtools/binutils/binutils-crosssdk_2.24.bbappend b/recipes-devtools/binutils/binutils-crosssdk_2.24.bbappend
new file mode 100644
index 0000000..0427595
--- /dev/null
+++ b/recipes-devtools/binutils/binutils-crosssdk_2.24.bbappend
@@ -0,0 +1 @@
require binutils-${PV}.inc
diff --git a/recipes-devtools/binutils/binutils_2.24.bbappend b/recipes-devtools/binutils/binutils_2.24.bbappend
new file mode 100644
index 0000000..0427595
--- /dev/null
+++ b/recipes-devtools/binutils/binutils_2.24.bbappend
@@ -0,0 +1 @@
require binutils-${PV}.inc
diff --git a/recipes-devtools/binutils/files/0001-Revert-Report-overflow-on-PowerPC64-h-and-ha-relocat.patch b/recipes-devtools/binutils/files/0001-Revert-Report-overflow-on-PowerPC64-h-and-ha-relocat.patch
new file mode 100644
index 0000000..bda760f
--- /dev/null
+++ b/recipes-devtools/binutils/files/0001-Revert-Report-overflow-on-PowerPC64-h-and-ha-relocat.patch
@@ -0,0 +1,1087 @@
1From 269bee7df1abfdc230f1ed6a6de3150adffde962 Mon Sep 17 00:00:00 2001
2From: Alexandru-Cezar Sardan <alexandru.sardan@freescale.com>
3Date: Fri, 11 Apr 2014 16:15:36 +0300
4Subject: [PATCH] Revert 'Report overflow on PowerPC64 @h and @ha
5 relocations.' patch
6
7---
8 bfd/elf64-ppc.c | 183 +++++++++------------------------------------------
9 bfd/reloc.c | 12 ----
10 elfcpp/powerpc.h | 6 --
11 gas/config/tc-ppc.c | 139 ++++++++++----------------------------
12 gold/powerpc.cc | 130 +++++++++++-------------------------
13 include/elf/ppc64.h | 13 +---
14 6 files changed, 109 insertions(+), 374 deletions(-)
15
16diff --git a/bfd/elf64-ppc.c b/bfd/elf64-ppc.c
17index bf13a5d..ba3c655 100644
18--- a/bfd/elf64-ppc.c
19+++ b/bfd/elf64-ppc.c
20@@ -327,7 +327,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = {
21 16, /* bitsize */
22 FALSE, /* pc_relative */
23 0, /* bitpos */
24- complain_overflow_signed, /* complain_on_overflow */
25+ complain_overflow_dont, /* complain_on_overflow */
26 bfd_elf_generic_reloc, /* special_function */
27 "R_PPC64_ADDR16_HI", /* name */
28 FALSE, /* partial_inplace */
29@@ -343,7 +343,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = {
30 16, /* bitsize */
31 FALSE, /* pc_relative */
32 0, /* bitpos */
33- complain_overflow_signed, /* complain_on_overflow */
34+ complain_overflow_dont, /* complain_on_overflow */
35 ppc64_elf_ha_reloc, /* special_function */
36 "R_PPC64_ADDR16_HA", /* name */
37 FALSE, /* partial_inplace */
38@@ -505,7 +505,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = {
39 16, /* bitsize */
40 FALSE, /* pc_relative */
41 0, /* bitpos */
42- complain_overflow_signed,/* complain_on_overflow */
43+ complain_overflow_dont,/* complain_on_overflow */
44 ppc64_elf_unhandled_reloc, /* special_function */
45 "R_PPC64_GOT16_HI", /* name */
46 FALSE, /* partial_inplace */
47@@ -521,7 +521,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = {
48 16, /* bitsize */
49 FALSE, /* pc_relative */
50 0, /* bitpos */
51- complain_overflow_signed,/* complain_on_overflow */
52+ complain_overflow_dont,/* complain_on_overflow */
53 ppc64_elf_unhandled_reloc, /* special_function */
54 "R_PPC64_GOT16_HA", /* name */
55 FALSE, /* partial_inplace */
56@@ -698,7 +698,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = {
57 16, /* bitsize */
58 FALSE, /* pc_relative */
59 0, /* bitpos */
60- complain_overflow_signed, /* complain_on_overflow */
61+ complain_overflow_dont, /* complain_on_overflow */
62 ppc64_elf_unhandled_reloc, /* special_function */
63 "R_PPC64_PLT16_HI", /* name */
64 FALSE, /* partial_inplace */
65@@ -714,7 +714,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = {
66 16, /* bitsize */
67 FALSE, /* pc_relative */
68 0, /* bitpos */
69- complain_overflow_signed, /* complain_on_overflow */
70+ complain_overflow_dont, /* complain_on_overflow */
71 ppc64_elf_unhandled_reloc, /* special_function */
72 "R_PPC64_PLT16_HA", /* name */
73 FALSE, /* partial_inplace */
74@@ -759,7 +759,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = {
75 16, /* bitsize */
76 FALSE, /* pc_relative */
77 0, /* bitpos */
78- complain_overflow_signed, /* complain_on_overflow */
79+ complain_overflow_dont, /* complain_on_overflow */
80 ppc64_elf_sectoff_reloc, /* special_function */
81 "R_PPC64_SECTOFF_HI", /* name */
82 FALSE, /* partial_inplace */
83@@ -774,7 +774,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = {
84 16, /* bitsize */
85 FALSE, /* pc_relative */
86 0, /* bitpos */
87- complain_overflow_signed, /* complain_on_overflow */
88+ complain_overflow_dont, /* complain_on_overflow */
89 ppc64_elf_sectoff_ha_reloc, /* special_function */
90 "R_PPC64_SECTOFF_HA", /* name */
91 FALSE, /* partial_inplace */
92@@ -981,7 +981,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = {
93 16, /* bitsize */
94 FALSE, /* pc_relative */
95 0, /* bitpos */
96- complain_overflow_signed, /* complain_on_overflow */
97+ complain_overflow_dont, /* complain_on_overflow */
98 ppc64_elf_toc_reloc, /* special_function */
99 "R_PPC64_TOC16_HI", /* name */
100 FALSE, /* partial_inplace */
101@@ -1000,7 +1000,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = {
102 16, /* bitsize */
103 FALSE, /* pc_relative */
104 0, /* bitpos */
105- complain_overflow_signed, /* complain_on_overflow */
106+ complain_overflow_dont, /* complain_on_overflow */
107 ppc64_elf_toc_ha_reloc, /* special_function */
108 "R_PPC64_TOC16_HA", /* name */
109 FALSE, /* partial_inplace */
110@@ -1072,7 +1072,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = {
111 16, /* bitsize */
112 FALSE, /* pc_relative */
113 0, /* bitpos */
114- complain_overflow_signed, /* complain_on_overflow */
115+ complain_overflow_dont, /* complain_on_overflow */
116 ppc64_elf_unhandled_reloc, /* special_function */
117 "R_PPC64_PLTGOT16_HI", /* name */
118 FALSE, /* partial_inplace */
119@@ -1090,7 +1090,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = {
120 16, /* bitsize */
121 FALSE, /* pc_relative */
122 0, /* bitpos */
123- complain_overflow_signed, /* complain_on_overflow */
124+ complain_overflow_dont,/* complain_on_overflow */
125 ppc64_elf_unhandled_reloc, /* special_function */
126 "R_PPC64_PLTGOT16_HA", /* name */
127 FALSE, /* partial_inplace */
128@@ -1392,7 +1392,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = {
129 16, /* bitsize */
130 FALSE, /* pc_relative */
131 0, /* bitpos */
132- complain_overflow_signed, /* complain_on_overflow */
133+ complain_overflow_dont, /* complain_on_overflow */
134 ppc64_elf_unhandled_reloc, /* special_function */
135 "R_PPC64_DTPREL16_HI", /* name */
136 FALSE, /* partial_inplace */
137@@ -1407,7 +1407,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = {
138 16, /* bitsize */
139 FALSE, /* pc_relative */
140 0, /* bitpos */
141- complain_overflow_signed, /* complain_on_overflow */
142+ complain_overflow_dont, /* complain_on_overflow */
143 ppc64_elf_unhandled_reloc, /* special_function */
144 "R_PPC64_DTPREL16_HA", /* name */
145 FALSE, /* partial_inplace */
146@@ -1558,7 +1558,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = {
147 16, /* bitsize */
148 FALSE, /* pc_relative */
149 0, /* bitpos */
150- complain_overflow_signed, /* complain_on_overflow */
151+ complain_overflow_dont, /* complain_on_overflow */
152 ppc64_elf_unhandled_reloc, /* special_function */
153 "R_PPC64_TPREL16_HI", /* name */
154 FALSE, /* partial_inplace */
155@@ -1573,7 +1573,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = {
156 16, /* bitsize */
157 FALSE, /* pc_relative */
158 0, /* bitpos */
159- complain_overflow_signed, /* complain_on_overflow */
160+ complain_overflow_dont, /* complain_on_overflow */
161 ppc64_elf_unhandled_reloc, /* special_function */
162 "R_PPC64_TPREL16_HA", /* name */
163 FALSE, /* partial_inplace */
164@@ -1710,7 +1710,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = {
165 16, /* bitsize */
166 FALSE, /* pc_relative */
167 0, /* bitpos */
168- complain_overflow_signed, /* complain_on_overflow */
169+ complain_overflow_dont, /* complain_on_overflow */
170 ppc64_elf_unhandled_reloc, /* special_function */
171 "R_PPC64_GOT_TLSGD16_HI", /* name */
172 FALSE, /* partial_inplace */
173@@ -1725,7 +1725,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = {
174 16, /* bitsize */
175 FALSE, /* pc_relative */
176 0, /* bitpos */
177- complain_overflow_signed, /* complain_on_overflow */
178+ complain_overflow_dont, /* complain_on_overflow */
179 ppc64_elf_unhandled_reloc, /* special_function */
180 "R_PPC64_GOT_TLSGD16_HA", /* name */
181 FALSE, /* partial_inplace */
182@@ -1772,7 +1772,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = {
183 16, /* bitsize */
184 FALSE, /* pc_relative */
185 0, /* bitpos */
186- complain_overflow_signed, /* complain_on_overflow */
187+ complain_overflow_dont, /* complain_on_overflow */
188 ppc64_elf_unhandled_reloc, /* special_function */
189 "R_PPC64_GOT_TLSLD16_HI", /* name */
190 FALSE, /* partial_inplace */
191@@ -1787,7 +1787,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = {
192 16, /* bitsize */
193 FALSE, /* pc_relative */
194 0, /* bitpos */
195- complain_overflow_signed, /* complain_on_overflow */
196+ complain_overflow_dont, /* complain_on_overflow */
197 ppc64_elf_unhandled_reloc, /* special_function */
198 "R_PPC64_GOT_TLSLD16_HA", /* name */
199 FALSE, /* partial_inplace */
200@@ -1833,7 +1833,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = {
201 16, /* bitsize */
202 FALSE, /* pc_relative */
203 0, /* bitpos */
204- complain_overflow_signed, /* complain_on_overflow */
205+ complain_overflow_dont, /* complain_on_overflow */
206 ppc64_elf_unhandled_reloc, /* special_function */
207 "R_PPC64_GOT_DTPREL16_HI", /* name */
208 FALSE, /* partial_inplace */
209@@ -1848,7 +1848,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = {
210 16, /* bitsize */
211 FALSE, /* pc_relative */
212 0, /* bitpos */
213- complain_overflow_signed, /* complain_on_overflow */
214+ complain_overflow_dont, /* complain_on_overflow */
215 ppc64_elf_unhandled_reloc, /* special_function */
216 "R_PPC64_GOT_DTPREL16_HA", /* name */
217 FALSE, /* partial_inplace */
218@@ -1894,7 +1894,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = {
219 16, /* bitsize */
220 FALSE, /* pc_relative */
221 0, /* bitpos */
222- complain_overflow_signed, /* complain_on_overflow */
223+ complain_overflow_dont, /* complain_on_overflow */
224 ppc64_elf_unhandled_reloc, /* special_function */
225 "R_PPC64_GOT_TPREL16_HI", /* name */
226 FALSE, /* partial_inplace */
227@@ -1909,7 +1909,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = {
228 16, /* bitsize */
229 FALSE, /* pc_relative */
230 0, /* bitpos */
231- complain_overflow_signed, /* complain_on_overflow */
232+ complain_overflow_dont, /* complain_on_overflow */
233 ppc64_elf_unhandled_reloc, /* special_function */
234 "R_PPC64_GOT_TPREL16_HA", /* name */
235 FALSE, /* partial_inplace */
236@@ -1982,7 +1982,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = {
237 16, /* bitsize */
238 TRUE, /* pc_relative */
239 0, /* bitpos */
240- complain_overflow_signed, /* complain_on_overflow */
241+ complain_overflow_dont, /* complain_on_overflow */
242 bfd_elf_generic_reloc, /* special_function */
243 "R_PPC64_REL16_HI", /* name */
244 FALSE, /* partial_inplace */
245@@ -1998,7 +1998,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = {
246 16, /* bitsize */
247 TRUE, /* pc_relative */
248 0, /* bitpos */
249- complain_overflow_signed, /* complain_on_overflow */
250+ complain_overflow_dont, /* complain_on_overflow */
251 ppc64_elf_ha_reloc, /* special_function */
252 "R_PPC64_REL16_HA", /* name */
253 FALSE, /* partial_inplace */
254@@ -2006,96 +2006,6 @@ static reloc_howto_type ppc64_elf_howto_raw[] = {
255 0xffff, /* dst_mask */
256 TRUE), /* pcrel_offset */
257
258- /* Like R_PPC64_ADDR16_HI, but no overflow. */
259- HOWTO (R_PPC64_ADDR16_HIGH, /* type */
260- 16, /* rightshift */
261- 1, /* size (0 = byte, 1 = short, 2 = long) */
262- 16, /* bitsize */
263- FALSE, /* pc_relative */
264- 0, /* bitpos */
265- complain_overflow_dont, /* complain_on_overflow */
266- bfd_elf_generic_reloc, /* special_function */
267- "R_PPC64_ADDR16_HIGH", /* name */
268- FALSE, /* partial_inplace */
269- 0, /* src_mask */
270- 0xffff, /* dst_mask */
271- FALSE), /* pcrel_offset */
272-
273- /* Like R_PPC64_ADDR16_HA, but no overflow. */
274- HOWTO (R_PPC64_ADDR16_HIGHA, /* type */
275- 16, /* rightshift */
276- 1, /* size (0 = byte, 1 = short, 2 = long) */
277- 16, /* bitsize */
278- FALSE, /* pc_relative */
279- 0, /* bitpos */
280- complain_overflow_dont, /* complain_on_overflow */
281- ppc64_elf_ha_reloc, /* special_function */
282- "R_PPC64_ADDR16_HIGHA", /* name */
283- FALSE, /* partial_inplace */
284- 0, /* src_mask */
285- 0xffff, /* dst_mask */
286- FALSE), /* pcrel_offset */
287-
288- /* Like R_PPC64_DTPREL16_HI, but no overflow. */
289- HOWTO (R_PPC64_DTPREL16_HIGH,
290- 16, /* rightshift */
291- 1, /* size (0 = byte, 1 = short, 2 = long) */
292- 16, /* bitsize */
293- FALSE, /* pc_relative */
294- 0, /* bitpos */
295- complain_overflow_dont, /* complain_on_overflow */
296- ppc64_elf_unhandled_reloc, /* special_function */
297- "R_PPC64_DTPREL16_HIGH", /* name */
298- FALSE, /* partial_inplace */
299- 0, /* src_mask */
300- 0xffff, /* dst_mask */
301- FALSE), /* pcrel_offset */
302-
303- /* Like R_PPC64_DTPREL16_HA, but no overflow. */
304- HOWTO (R_PPC64_DTPREL16_HIGHA,
305- 16, /* rightshift */
306- 1, /* size (0 = byte, 1 = short, 2 = long) */
307- 16, /* bitsize */
308- FALSE, /* pc_relative */
309- 0, /* bitpos */
310- complain_overflow_dont, /* complain_on_overflow */
311- ppc64_elf_unhandled_reloc, /* special_function */
312- "R_PPC64_DTPREL16_HIGHA", /* name */
313- FALSE, /* partial_inplace */
314- 0, /* src_mask */
315- 0xffff, /* dst_mask */
316- FALSE), /* pcrel_offset */
317-
318- /* Like R_PPC64_TPREL16_HI, but no overflow. */
319- HOWTO (R_PPC64_TPREL16_HIGH,
320- 16, /* rightshift */
321- 1, /* size (0 = byte, 1 = short, 2 = long) */
322- 16, /* bitsize */
323- FALSE, /* pc_relative */
324- 0, /* bitpos */
325- complain_overflow_dont, /* complain_on_overflow */
326- ppc64_elf_unhandled_reloc, /* special_function */
327- "R_PPC64_TPREL16_HIGH", /* name */
328- FALSE, /* partial_inplace */
329- 0, /* src_mask */
330- 0xffff, /* dst_mask */
331- FALSE), /* pcrel_offset */
332-
333- /* Like R_PPC64_TPREL16_HA, but no overflow. */
334- HOWTO (R_PPC64_TPREL16_HIGHA,
335- 16, /* rightshift */
336- 1, /* size (0 = byte, 1 = short, 2 = long) */
337- 16, /* bitsize */
338- FALSE, /* pc_relative */
339- 0, /* bitpos */
340- complain_overflow_dont, /* complain_on_overflow */
341- ppc64_elf_unhandled_reloc, /* special_function */
342- "R_PPC64_TPREL16_HIGHA", /* name */
343- FALSE, /* partial_inplace */
344- 0, /* src_mask */
345- 0xffff, /* dst_mask */
346- FALSE), /* pcrel_offset */
347-
348 /* GNU extension to record C++ vtable hierarchy. */
349 HOWTO (R_PPC64_GNU_VTINHERIT, /* type */
350 0, /* rightshift */
351@@ -2174,12 +2084,8 @@ ppc64_elf_reloc_type_lookup (bfd *abfd ATTRIBUTE_UNUSED,
352 break;
353 case BFD_RELOC_HI16: r = R_PPC64_ADDR16_HI;
354 break;
355- case BFD_RELOC_PPC64_ADDR16_HIGH: r = R_PPC64_ADDR16_HIGH;
356- break;
357 case BFD_RELOC_HI16_S: r = R_PPC64_ADDR16_HA;
358 break;
359- case BFD_RELOC_PPC64_ADDR16_HIGHA: r = R_PPC64_ADDR16_HIGHA;
360- break;
361 case BFD_RELOC_PPC_BA16: r = R_PPC64_ADDR14;
362 break;
363 case BFD_RELOC_PPC_BA16_BRTAKEN: r = R_PPC64_ADDR14_BRTAKEN;
364@@ -2298,12 +2204,8 @@ ppc64_elf_reloc_type_lookup (bfd *abfd ATTRIBUTE_UNUSED,
365 break;
366 case BFD_RELOC_PPC_TPREL16_HI: r = R_PPC64_TPREL16_HI;
367 break;
368- case BFD_RELOC_PPC64_TPREL16_HIGH: r = R_PPC64_TPREL16_HIGH;
369- break;
370 case BFD_RELOC_PPC_TPREL16_HA: r = R_PPC64_TPREL16_HA;
371 break;
372- case BFD_RELOC_PPC64_TPREL16_HIGHA: r = R_PPC64_TPREL16_HIGHA;
373- break;
374 case BFD_RELOC_PPC_TPREL: r = R_PPC64_TPREL64;
375 break;
376 case BFD_RELOC_PPC_DTPREL16: r = R_PPC64_DTPREL16;
377@@ -2312,12 +2214,8 @@ ppc64_elf_reloc_type_lookup (bfd *abfd ATTRIBUTE_UNUSED,
378 break;
379 case BFD_RELOC_PPC_DTPREL16_HI: r = R_PPC64_DTPREL16_HI;
380 break;
381- case BFD_RELOC_PPC64_DTPREL16_HIGH: r = R_PPC64_DTPREL16_HIGH;
382- break;
383 case BFD_RELOC_PPC_DTPREL16_HA: r = R_PPC64_DTPREL16_HA;
384 break;
385- case BFD_RELOC_PPC64_DTPREL16_HIGHA: r = R_PPC64_DTPREL16_HIGHA;
386- break;
387 case BFD_RELOC_PPC_DTPREL: r = R_PPC64_DTPREL64;
388 break;
389 case BFD_RELOC_PPC_GOT_TLSGD16: r = R_PPC64_GOT_TLSGD16;
390@@ -3662,8 +3560,6 @@ must_be_dyn_reloc (struct bfd_link_info *info,
391 case R_PPC64_TPREL16_HA:
392 case R_PPC64_TPREL16_DS:
393 case R_PPC64_TPREL16_LO_DS:
394- case R_PPC64_TPREL16_HIGH:
395- case R_PPC64_TPREL16_HIGHA:
396 case R_PPC64_TPREL16_HIGHER:
397 case R_PPC64_TPREL16_HIGHERA:
398 case R_PPC64_TPREL16_HIGHEST:
399@@ -5394,8 +5290,6 @@ ppc64_elf_check_relocs (bfd *abfd, struct bfd_link_info *info,
400 case R_PPC64_DTPREL16_HA:
401 case R_PPC64_DTPREL16_DS:
402 case R_PPC64_DTPREL16_LO_DS:
403- case R_PPC64_DTPREL16_HIGH:
404- case R_PPC64_DTPREL16_HIGHA:
405 case R_PPC64_DTPREL16_HIGHER:
406 case R_PPC64_DTPREL16_HIGHERA:
407 case R_PPC64_DTPREL16_HIGHEST:
408@@ -5556,8 +5450,6 @@ ppc64_elf_check_relocs (bfd *abfd, struct bfd_link_info *info,
409 case R_PPC64_TPREL16_HA:
410 case R_PPC64_TPREL16_DS:
411 case R_PPC64_TPREL16_LO_DS:
412- case R_PPC64_TPREL16_HIGH:
413- case R_PPC64_TPREL16_HIGHA:
414 case R_PPC64_TPREL16_HIGHER:
415 case R_PPC64_TPREL16_HIGHERA:
416 case R_PPC64_TPREL16_HIGHEST:
417@@ -5605,8 +5497,6 @@ ppc64_elf_check_relocs (bfd *abfd, struct bfd_link_info *info,
418 case R_PPC64_ADDR16_DS:
419 case R_PPC64_ADDR16_HA:
420 case R_PPC64_ADDR16_HI:
421- case R_PPC64_ADDR16_HIGH:
422- case R_PPC64_ADDR16_HIGHA:
423 case R_PPC64_ADDR16_HIGHER:
424 case R_PPC64_ADDR16_HIGHERA:
425 case R_PPC64_ADDR16_HIGHEST:
426@@ -7363,8 +7253,6 @@ dec_dynrel_count (bfd_vma r_info,
427 case R_PPC64_TPREL16_HA:
428 case R_PPC64_TPREL16_DS:
429 case R_PPC64_TPREL16_LO_DS:
430- case R_PPC64_TPREL16_HIGH:
431- case R_PPC64_TPREL16_HIGHA:
432 case R_PPC64_TPREL16_HIGHER:
433 case R_PPC64_TPREL16_HIGHERA:
434 case R_PPC64_TPREL16_HIGHEST:
435@@ -7386,8 +7274,6 @@ dec_dynrel_count (bfd_vma r_info,
436 case R_PPC64_ADDR16_DS:
437 case R_PPC64_ADDR16_HA:
438 case R_PPC64_ADDR16_HI:
439- case R_PPC64_ADDR16_HIGH:
440- case R_PPC64_ADDR16_HIGHA:
441 case R_PPC64_ADDR16_HIGHER:
442 case R_PPC64_ADDR16_HIGHERA:
443 case R_PPC64_ADDR16_HIGHEST:
444@@ -14091,8 +13977,6 @@ ppc64_elf_relocate_section (bfd *output_bfd,
445 case R_PPC64_TPREL16_HA:
446 case R_PPC64_TPREL16_DS:
447 case R_PPC64_TPREL16_LO_DS:
448- case R_PPC64_TPREL16_HIGH:
449- case R_PPC64_TPREL16_HIGHA:
450 case R_PPC64_TPREL16_HIGHER:
451 case R_PPC64_TPREL16_HIGHERA:
452 case R_PPC64_TPREL16_HIGHEST:
453@@ -14127,8 +14011,6 @@ ppc64_elf_relocate_section (bfd *output_bfd,
454 case R_PPC64_DTPREL16_HA:
455 case R_PPC64_DTPREL16_DS:
456 case R_PPC64_DTPREL16_LO_DS:
457- case R_PPC64_DTPREL16_HIGH:
458- case R_PPC64_DTPREL16_HIGHA:
459 case R_PPC64_DTPREL16_HIGHER:
460 case R_PPC64_DTPREL16_HIGHERA:
461 case R_PPC64_DTPREL16_HIGHEST:
462@@ -14161,8 +14043,6 @@ ppc64_elf_relocate_section (bfd *output_bfd,
463 case R_PPC64_ADDR16_DS:
464 case R_PPC64_ADDR16_HA:
465 case R_PPC64_ADDR16_HI:
466- case R_PPC64_ADDR16_HIGH:
467- case R_PPC64_ADDR16_HIGHA:
468 case R_PPC64_ADDR16_HIGHER:
469 case R_PPC64_ADDR16_HIGHERA:
470 case R_PPC64_ADDR16_HIGHEST:
471@@ -14477,20 +14357,21 @@ ppc64_elf_relocate_section (bfd *output_bfd,
472 default:
473 break;
474
475- case R_PPC64_REL16_HA:
476 case R_PPC64_ADDR16_HA:
477- case R_PPC64_ADDR16_HIGHA:
478+ case R_PPC64_REL16_HA:
479 case R_PPC64_ADDR16_HIGHERA:
480 case R_PPC64_ADDR16_HIGHESTA:
481 case R_PPC64_TOC16_HA:
482 case R_PPC64_SECTOFF_HA:
483 case R_PPC64_TPREL16_HA:
484- case R_PPC64_TPREL16_HIGHA:
485+ case R_PPC64_DTPREL16_HA:
486+ case R_PPC64_TPREL16_HIGHER:
487 case R_PPC64_TPREL16_HIGHERA:
488+ case R_PPC64_TPREL16_HIGHEST:
489 case R_PPC64_TPREL16_HIGHESTA:
490- case R_PPC64_DTPREL16_HA:
491- case R_PPC64_DTPREL16_HIGHA:
492+ case R_PPC64_DTPREL16_HIGHER:
493 case R_PPC64_DTPREL16_HIGHERA:
494+ case R_PPC64_DTPREL16_HIGHEST:
495 case R_PPC64_DTPREL16_HIGHESTA:
496 /* It's just possible that this symbol is a weak symbol
497 that's not actually defined anywhere. In that case,
498diff --git a/bfd/reloc.c b/bfd/reloc.c
499index 77a04f8..cc34760 100644
500--- a/bfd/reloc.c
501+++ b/bfd/reloc.c
502@@ -2895,10 +2895,6 @@ ENUMX
503 BFD_RELOC_PPC64_PLTGOT16_DS
504 ENUMX
505 BFD_RELOC_PPC64_PLTGOT16_LO_DS
506-ENUMX
507- BFD_RELOC_PPC64_ADDR16_HIGH
508-ENUMX
509- BFD_RELOC_PPC64_ADDR16_HIGHA
510 ENUMDOC
511 Power(rs6000) and PowerPC relocations.
512
513@@ -2986,14 +2982,6 @@ ENUMX
514 BFD_RELOC_PPC64_DTPREL16_HIGHEST
515 ENUMX
516 BFD_RELOC_PPC64_DTPREL16_HIGHESTA
517-ENUMX
518- BFD_RELOC_PPC64_TPREL16_HIGH
519-ENUMX
520- BFD_RELOC_PPC64_TPREL16_HIGHA
521-ENUMX
522- BFD_RELOC_PPC64_DTPREL16_HIGH
523-ENUMX
524- BFD_RELOC_PPC64_DTPREL16_HIGHA
525 ENUMDOC
526 PowerPC and PowerPC64 thread-local storage relocations.
527
528diff --git a/elfcpp/powerpc.h b/elfcpp/powerpc.h
529index 98354a2..0f13eda 100644
530--- a/elfcpp/powerpc.h
531+++ b/elfcpp/powerpc.h
532@@ -164,17 +164,11 @@ enum
533 R_PPC_EMB_SDA21 = 109,
534 R_PPC64_TOCSAVE = 109,
535 R_PPC_EMB_MRKREF = 110,
536- R_PPC64_ADDR16_HIGH = 110,
537 R_PPC_EMB_RELSEC16 = 111,
538- R_PPC64_ADDR16_HIGHA = 111,
539 R_PPC_EMB_RELST_LO = 112,
540- R_PPC64_TPREL16_HIGH = 112,
541 R_PPC_EMB_RELST_HI = 113,
542- R_PPC64_TPREL16_HIGHA = 113,
543 R_PPC_EMB_RELST_HA = 114,
544- R_PPC64_DTPREL16_HIGH = 114,
545 R_PPC_EMB_BIT_FLD = 115,
546- R_PPC64_DTPREL16_HIGHA = 115,
547 R_PPC_EMB_RELSDA = 116,
548
549 R_PPC_VLE_REL8 = 216,
550diff --git a/gas/config/tc-ppc.c b/gas/config/tc-ppc.c
551index 7c99e43..d888aee 100644
552--- a/gas/config/tc-ppc.c
553+++ b/gas/config/tc-ppc.c
554@@ -87,11 +87,7 @@ static int set_target_endian = 0;
555 compensating for #lo being treated as a signed number. */
556 #define PPC_HIGHESTA(v) PPC_HIGHEST ((v) + 0x8000)
557
558-#define SEX16(val) (((val) ^ 0x8000) - 0x8000)
559-
560-/* For the time being on ppc64, don't report overflow on @h and @ha
561- applied to constants. */
562-#define REPORT_OVERFLOW_HI 0
563+#define SEX16(val) ((((val) & 0xffff) ^ 0x8000) - 0x8000)
564
565 static bfd_boolean reg_names_p = TARGET_REG_NAMES_P;
566
567@@ -1935,8 +1931,6 @@ ppc_elf_suffix (char **str_p, expressionS *exp_p)
568 MAP32 ("bitfld", BFD_RELOC_PPC_EMB_BIT_FLD),
569 MAP32 ("relsda", BFD_RELOC_PPC_EMB_RELSDA),
570 MAP32 ("xgot", BFD_RELOC_PPC_TOC16),
571- MAP64 ("high", BFD_RELOC_PPC64_ADDR16_HIGH),
572- MAP64 ("higha", BFD_RELOC_PPC64_ADDR16_HIGHA),
573 MAP64 ("higher", BFD_RELOC_PPC64_HIGHER),
574 MAP64 ("highera", BFD_RELOC_PPC64_HIGHER_S),
575 MAP64 ("highest", BFD_RELOC_PPC64_HIGHEST),
576@@ -1946,14 +1940,10 @@ ppc_elf_suffix (char **str_p, expressionS *exp_p)
577 MAP64 ("toc@l", BFD_RELOC_PPC64_TOC16_LO),
578 MAP64 ("toc@h", BFD_RELOC_PPC64_TOC16_HI),
579 MAP64 ("toc@ha", BFD_RELOC_PPC64_TOC16_HA),
580- MAP64 ("dtprel@high", BFD_RELOC_PPC64_DTPREL16_HIGH),
581- MAP64 ("dtprel@higha", BFD_RELOC_PPC64_DTPREL16_HIGHA),
582 MAP64 ("dtprel@higher", BFD_RELOC_PPC64_DTPREL16_HIGHER),
583 MAP64 ("dtprel@highera", BFD_RELOC_PPC64_DTPREL16_HIGHERA),
584 MAP64 ("dtprel@highest", BFD_RELOC_PPC64_DTPREL16_HIGHEST),
585 MAP64 ("dtprel@highesta", BFD_RELOC_PPC64_DTPREL16_HIGHESTA),
586- MAP64 ("tprel@high", BFD_RELOC_PPC64_TPREL16_HIGH),
587- MAP64 ("tprel@higha", BFD_RELOC_PPC64_TPREL16_HIGHA),
588 MAP64 ("tprel@higher", BFD_RELOC_PPC64_TPREL16_HIGHER),
589 MAP64 ("tprel@highera", BFD_RELOC_PPC64_TPREL16_HIGHERA),
590 MAP64 ("tprel@highest", BFD_RELOC_PPC64_TPREL16_HIGHEST),
591@@ -2923,76 +2913,55 @@ md_assemble (char *str)
592 break;
593
594 case BFD_RELOC_LO16:
595- ex.X_add_number &= 0xffff;
596- if ((operand->flags & PPC_OPERAND_SIGNED) != 0)
597+ /* X_unsigned is the default, so if the user has done
598+ something which cleared it, we always produce a
599+ signed value. */
600+ if (ex.X_unsigned && ! (operand->flags & PPC_OPERAND_SIGNED))
601+ ex.X_add_number &= 0xffff;
602+ else
603 ex.X_add_number = SEX16 (ex.X_add_number);
604 break;
605
606 case BFD_RELOC_HI16:
607- if (REPORT_OVERFLOW_HI && ppc_obj64)
608- {
609- /* PowerPC64 @h is tested for overflow. */
610- ex.X_add_number = (addressT) ex.X_add_number >> 16;
611- if ((operand->flags & PPC_OPERAND_SIGNED) != 0)
612- {
613- addressT sign = (((addressT) -1 >> 16) + 1) >> 1;
614- ex.X_add_number
615- = ((addressT) ex.X_add_number ^ sign) - sign;
616- }
617- break;
618- }
619- /* Fall thru */
620-
621- case BFD_RELOC_PPC64_ADDR16_HIGH:
622- ex.X_add_number = PPC_HI (ex.X_add_number);
623- if ((operand->flags & PPC_OPERAND_SIGNED) != 0)
624- ex.X_add_number = SEX16 (ex.X_add_number);
625+ if (ex.X_unsigned && ! (operand->flags & PPC_OPERAND_SIGNED))
626+ ex.X_add_number = PPC_HI (ex.X_add_number);
627+ else
628+ ex.X_add_number = SEX16 (PPC_HI (ex.X_add_number));
629 break;
630
631 case BFD_RELOC_HI16_S:
632- if (REPORT_OVERFLOW_HI && ppc_obj64)
633- {
634- /* PowerPC64 @ha is tested for overflow. */
635- ex.X_add_number
636- = ((addressT) ex.X_add_number + 0x8000) >> 16;
637- if ((operand->flags & PPC_OPERAND_SIGNED) != 0)
638- {
639- addressT sign = (((addressT) -1 >> 16) + 1) >> 1;
640- ex.X_add_number
641- = ((addressT) ex.X_add_number ^ sign) - sign;
642- }
643- break;
644- }
645- /* Fall thru */
646-
647- case BFD_RELOC_PPC64_ADDR16_HIGHA:
648- ex.X_add_number = PPC_HA (ex.X_add_number);
649- if ((operand->flags & PPC_OPERAND_SIGNED) != 0)
650- ex.X_add_number = SEX16 (ex.X_add_number);
651+ if (ex.X_unsigned && ! (operand->flags & PPC_OPERAND_SIGNED))
652+ ex.X_add_number = PPC_HA (ex.X_add_number);
653+ else
654+ ex.X_add_number = SEX16 (PPC_HA (ex.X_add_number));
655 break;
656
657 case BFD_RELOC_PPC64_HIGHER:
658- ex.X_add_number = PPC_HIGHER (ex.X_add_number);
659- if ((operand->flags & PPC_OPERAND_SIGNED) != 0)
660- ex.X_add_number = SEX16 (ex.X_add_number);
661+ if (ex.X_unsigned && ! (operand->flags & PPC_OPERAND_SIGNED))
662+ ex.X_add_number = PPC_HIGHER (ex.X_add_number);
663+ else
664+ ex.X_add_number = SEX16 (PPC_HIGHER (ex.X_add_number));
665 break;
666
667 case BFD_RELOC_PPC64_HIGHER_S:
668- ex.X_add_number = PPC_HIGHERA (ex.X_add_number);
669- if ((operand->flags & PPC_OPERAND_SIGNED) != 0)
670- ex.X_add_number = SEX16 (ex.X_add_number);
671+ if (ex.X_unsigned && ! (operand->flags & PPC_OPERAND_SIGNED))
672+ ex.X_add_number = PPC_HIGHERA (ex.X_add_number);
673+ else
674+ ex.X_add_number = SEX16 (PPC_HIGHERA (ex.X_add_number));
675 break;
676
677 case BFD_RELOC_PPC64_HIGHEST:
678- ex.X_add_number = PPC_HIGHEST (ex.X_add_number);
679- if ((operand->flags & PPC_OPERAND_SIGNED) != 0)
680- ex.X_add_number = SEX16 (ex.X_add_number);
681+ if (ex.X_unsigned && ! (operand->flags & PPC_OPERAND_SIGNED))
682+ ex.X_add_number = PPC_HIGHEST (ex.X_add_number);
683+ else
684+ ex.X_add_number = SEX16 (PPC_HIGHEST (ex.X_add_number));
685 break;
686
687 case BFD_RELOC_PPC64_HIGHEST_S:
688- ex.X_add_number = PPC_HIGHESTA (ex.X_add_number);
689- if ((operand->flags & PPC_OPERAND_SIGNED) != 0)
690- ex.X_add_number = SEX16 (ex.X_add_number);
691+ if (ex.X_unsigned && ! (operand->flags & PPC_OPERAND_SIGNED))
692+ ex.X_add_number = PPC_HIGHESTA (ex.X_add_number);
693+ else
694+ ex.X_add_number = SEX16 (PPC_HIGHESTA (ex.X_add_number));
695 break;
696 }
697 #endif /* OBJ_ELF */
698@@ -6566,51 +6535,25 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED)
699 fieldval = value & 0xffff;
700 sign_extend_16:
701 if (operand != NULL && (operand->flags & PPC_OPERAND_SIGNED) != 0)
702- fieldval = SEX16 (fieldval);
703+ fieldval = (fieldval ^ 0x8000) - 0x8000;
704 fixP->fx_no_overflow = 1;
705 break;
706
707- case BFD_RELOC_HI16:
708- case BFD_RELOC_HI16_PCREL:
709 #ifdef OBJ_ELF
710- if (REPORT_OVERFLOW_HI && ppc_obj64)
711- {
712- fieldval = value >> 16;
713- if (operand != NULL && (operand->flags & PPC_OPERAND_SIGNED) != 0)
714- {
715- valueT sign = (((valueT) -1 >> 16) + 1) >> 1;
716- fieldval = ((valueT) fieldval ^ sign) - sign;
717- }
718- break;
719- }
720- /* Fall thru */
721-
722 case BFD_RELOC_PPC_VLE_HI16A:
723 case BFD_RELOC_PPC_VLE_HI16D:
724- case BFD_RELOC_PPC64_ADDR16_HIGH:
725 #endif
726+ case BFD_RELOC_HI16:
727+ case BFD_RELOC_HI16_PCREL:
728 fieldval = PPC_HI (value);
729 goto sign_extend_16;
730
731- case BFD_RELOC_HI16_S:
732- case BFD_RELOC_HI16_S_PCREL:
733 #ifdef OBJ_ELF
734- if (REPORT_OVERFLOW_HI && ppc_obj64)
735- {
736- fieldval = (value + 0x8000) >> 16;
737- if (operand != NULL && (operand->flags & PPC_OPERAND_SIGNED) != 0)
738- {
739- valueT sign = (((valueT) -1 >> 16) + 1) >> 1;
740- fieldval = ((valueT) fieldval ^ sign) - sign;
741- }
742- break;
743- }
744- /* Fall thru */
745-
746 case BFD_RELOC_PPC_VLE_HA16A:
747 case BFD_RELOC_PPC_VLE_HA16D:
748- case BFD_RELOC_PPC64_ADDR16_HIGHA:
749 #endif
750+ case BFD_RELOC_HI16_S:
751+ case BFD_RELOC_HI16_S_PCREL:
752 fieldval = PPC_HA (value);
753 goto sign_extend_16;
754
755@@ -6673,14 +6616,10 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED)
756 case BFD_RELOC_PPC_GOT_DTPREL16_HA:
757 case BFD_RELOC_PPC64_TPREL16_DS:
758 case BFD_RELOC_PPC64_TPREL16_LO_DS:
759- case BFD_RELOC_PPC64_TPREL16_HIGH:
760- case BFD_RELOC_PPC64_TPREL16_HIGHA:
761 case BFD_RELOC_PPC64_TPREL16_HIGHER:
762 case BFD_RELOC_PPC64_TPREL16_HIGHERA:
763 case BFD_RELOC_PPC64_TPREL16_HIGHEST:
764 case BFD_RELOC_PPC64_TPREL16_HIGHESTA:
765- case BFD_RELOC_PPC64_DTPREL16_HIGH:
766- case BFD_RELOC_PPC64_DTPREL16_HIGHA:
767 case BFD_RELOC_PPC64_DTPREL16_DS:
768 case BFD_RELOC_PPC64_DTPREL16_LO_DS:
769 case BFD_RELOC_PPC64_DTPREL16_HIGHER:
770@@ -6866,8 +6805,6 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED)
771 case BFD_RELOC_PPC64_HIGHER_S:
772 case BFD_RELOC_PPC64_HIGHEST:
773 case BFD_RELOC_PPC64_HIGHEST_S:
774- case BFD_RELOC_PPC64_ADDR16_HIGH:
775- case BFD_RELOC_PPC64_ADDR16_HIGHA:
776 break;
777
778 case BFD_RELOC_PPC_DTPMOD:
779@@ -6944,14 +6881,10 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED)
780 case BFD_RELOC_PPC64_TOC16_LO:
781 case BFD_RELOC_PPC64_TOC16_HI:
782 case BFD_RELOC_PPC64_TOC16_HA:
783- case BFD_RELOC_PPC64_DTPREL16_HIGH:
784- case BFD_RELOC_PPC64_DTPREL16_HIGHA:
785 case BFD_RELOC_PPC64_DTPREL16_HIGHER:
786 case BFD_RELOC_PPC64_DTPREL16_HIGHERA:
787 case BFD_RELOC_PPC64_DTPREL16_HIGHEST:
788 case BFD_RELOC_PPC64_DTPREL16_HIGHESTA:
789- case BFD_RELOC_PPC64_TPREL16_HIGH:
790- case BFD_RELOC_PPC64_TPREL16_HIGHA:
791 case BFD_RELOC_PPC64_TPREL16_HIGHER:
792 case BFD_RELOC_PPC64_TPREL16_HIGHERA:
793 case BFD_RELOC_PPC64_TPREL16_HIGHEST:
794diff --git a/gold/powerpc.cc b/gold/powerpc.cc
795index 1aa4791..b8e932e 100644
796--- a/gold/powerpc.cc
797+++ b/gold/powerpc.cc
798@@ -5168,8 +5168,6 @@ Target_powerpc<size, big_endian>::Scan::check_non_pic(Relobj* object,
799 case elfcpp::R_PPC64_JMP_IREL:
800 case elfcpp::R_PPC64_ADDR16_DS:
801 case elfcpp::R_PPC64_ADDR16_LO_DS:
802- case elfcpp::R_PPC64_ADDR16_HIGH:
803- case elfcpp::R_PPC64_ADDR16_HIGHA:
804 case elfcpp::R_PPC64_ADDR16_HIGHER:
805 case elfcpp::R_PPC64_ADDR16_HIGHEST:
806 case elfcpp::R_PPC64_ADDR16_HIGHERA:
807@@ -5178,8 +5176,6 @@ Target_powerpc<size, big_endian>::Scan::check_non_pic(Relobj* object,
808 case elfcpp::R_POWERPC_ADDR30:
809 case elfcpp::R_PPC64_TPREL16_DS:
810 case elfcpp::R_PPC64_TPREL16_LO_DS:
811- case elfcpp::R_PPC64_TPREL16_HIGH:
812- case elfcpp::R_PPC64_TPREL16_HIGHA:
813 case elfcpp::R_PPC64_TPREL16_HIGHER:
814 case elfcpp::R_PPC64_TPREL16_HIGHEST:
815 case elfcpp::R_PPC64_TPREL16_HIGHERA:
816@@ -5354,6 +5350,7 @@ Target_powerpc<size, big_endian>::Scan::local(
817 case elfcpp::R_POWERPC_GNU_VTINHERIT:
818 case elfcpp::R_POWERPC_GNU_VTENTRY:
819 case elfcpp::R_PPC64_TOCSAVE:
820+ case elfcpp::R_PPC_EMB_MRKREF:
821 case elfcpp::R_POWERPC_TLS:
822 break;
823
824@@ -5391,8 +5388,6 @@ Target_powerpc<size, big_endian>::Scan::local(
825 case elfcpp::R_POWERPC_ADDR16_HI:
826 case elfcpp::R_POWERPC_ADDR16_HA:
827 case elfcpp::R_POWERPC_UADDR16:
828- case elfcpp::R_PPC64_ADDR16_HIGH:
829- case elfcpp::R_PPC64_ADDR16_HIGHA:
830 case elfcpp::R_PPC64_ADDR16_HIGHER:
831 case elfcpp::R_PPC64_ADDR16_HIGHERA:
832 case elfcpp::R_PPC64_ADDR16_HIGHEST:
833@@ -5451,35 +5446,31 @@ Target_powerpc<size, big_endian>::Scan::local(
834 case elfcpp::R_POWERPC_REL16_HI:
835 case elfcpp::R_POWERPC_REL16_HA:
836 case elfcpp::R_POWERPC_SECTOFF:
837- case elfcpp::R_POWERPC_SECTOFF_LO:
838- case elfcpp::R_POWERPC_SECTOFF_HI:
839- case elfcpp::R_POWERPC_SECTOFF_HA:
840- case elfcpp::R_PPC64_SECTOFF_DS:
841- case elfcpp::R_PPC64_SECTOFF_LO_DS:
842 case elfcpp::R_POWERPC_TPREL16:
843+ case elfcpp::R_POWERPC_DTPREL16:
844+ case elfcpp::R_POWERPC_SECTOFF_LO:
845 case elfcpp::R_POWERPC_TPREL16_LO:
846+ case elfcpp::R_POWERPC_DTPREL16_LO:
847+ case elfcpp::R_POWERPC_SECTOFF_HI:
848 case elfcpp::R_POWERPC_TPREL16_HI:
849+ case elfcpp::R_POWERPC_DTPREL16_HI:
850+ case elfcpp::R_POWERPC_SECTOFF_HA:
851 case elfcpp::R_POWERPC_TPREL16_HA:
852- case elfcpp::R_PPC64_TPREL16_DS:
853- case elfcpp::R_PPC64_TPREL16_LO_DS:
854- case elfcpp::R_PPC64_TPREL16_HIGH:
855- case elfcpp::R_PPC64_TPREL16_HIGHA:
856+ case elfcpp::R_POWERPC_DTPREL16_HA:
857+ case elfcpp::R_PPC64_DTPREL16_HIGHER:
858 case elfcpp::R_PPC64_TPREL16_HIGHER:
859+ case elfcpp::R_PPC64_DTPREL16_HIGHERA:
860 case elfcpp::R_PPC64_TPREL16_HIGHERA:
861+ case elfcpp::R_PPC64_DTPREL16_HIGHEST:
862 case elfcpp::R_PPC64_TPREL16_HIGHEST:
863+ case elfcpp::R_PPC64_DTPREL16_HIGHESTA:
864 case elfcpp::R_PPC64_TPREL16_HIGHESTA:
865- case elfcpp::R_POWERPC_DTPREL16:
866- case elfcpp::R_POWERPC_DTPREL16_LO:
867- case elfcpp::R_POWERPC_DTPREL16_HI:
868- case elfcpp::R_POWERPC_DTPREL16_HA:
869+ case elfcpp::R_PPC64_TPREL16_DS:
870+ case elfcpp::R_PPC64_TPREL16_LO_DS:
871 case elfcpp::R_PPC64_DTPREL16_DS:
872 case elfcpp::R_PPC64_DTPREL16_LO_DS:
873- case elfcpp::R_PPC64_DTPREL16_HIGH:
874- case elfcpp::R_PPC64_DTPREL16_HIGHA:
875- case elfcpp::R_PPC64_DTPREL16_HIGHER:
876- case elfcpp::R_PPC64_DTPREL16_HIGHERA:
877- case elfcpp::R_PPC64_DTPREL16_HIGHEST:
878- case elfcpp::R_PPC64_DTPREL16_HIGHESTA:
879+ case elfcpp::R_PPC64_SECTOFF_DS:
880+ case elfcpp::R_PPC64_SECTOFF_LO_DS:
881 case elfcpp::R_PPC64_TLSGD:
882 case elfcpp::R_PPC64_TLSLD:
883 break;
884@@ -5713,6 +5704,7 @@ Target_powerpc<size, big_endian>::Scan::global(
885 case elfcpp::R_POWERPC_GNU_VTINHERIT:
886 case elfcpp::R_POWERPC_GNU_VTENTRY:
887 case elfcpp::R_PPC_LOCAL24PC:
888+ case elfcpp::R_PPC_EMB_MRKREF:
889 case elfcpp::R_POWERPC_TLS:
890 break;
891
892@@ -5762,8 +5754,6 @@ Target_powerpc<size, big_endian>::Scan::global(
893 case elfcpp::R_POWERPC_ADDR16_HI:
894 case elfcpp::R_POWERPC_ADDR16_HA:
895 case elfcpp::R_POWERPC_UADDR16:
896- case elfcpp::R_PPC64_ADDR16_HIGH:
897- case elfcpp::R_PPC64_ADDR16_HIGHA:
898 case elfcpp::R_PPC64_ADDR16_HIGHER:
899 case elfcpp::R_PPC64_ADDR16_HIGHERA:
900 case elfcpp::R_PPC64_ADDR16_HIGHEST:
901@@ -5897,35 +5887,31 @@ Target_powerpc<size, big_endian>::Scan::global(
902 case elfcpp::R_POWERPC_REL16_HI:
903 case elfcpp::R_POWERPC_REL16_HA:
904 case elfcpp::R_POWERPC_SECTOFF:
905- case elfcpp::R_POWERPC_SECTOFF_LO:
906- case elfcpp::R_POWERPC_SECTOFF_HI:
907- case elfcpp::R_POWERPC_SECTOFF_HA:
908- case elfcpp::R_PPC64_SECTOFF_DS:
909- case elfcpp::R_PPC64_SECTOFF_LO_DS:
910 case elfcpp::R_POWERPC_TPREL16:
911+ case elfcpp::R_POWERPC_DTPREL16:
912+ case elfcpp::R_POWERPC_SECTOFF_LO:
913 case elfcpp::R_POWERPC_TPREL16_LO:
914+ case elfcpp::R_POWERPC_DTPREL16_LO:
915+ case elfcpp::R_POWERPC_SECTOFF_HI:
916 case elfcpp::R_POWERPC_TPREL16_HI:
917+ case elfcpp::R_POWERPC_DTPREL16_HI:
918+ case elfcpp::R_POWERPC_SECTOFF_HA:
919 case elfcpp::R_POWERPC_TPREL16_HA:
920- case elfcpp::R_PPC64_TPREL16_DS:
921- case elfcpp::R_PPC64_TPREL16_LO_DS:
922- case elfcpp::R_PPC64_TPREL16_HIGH:
923- case elfcpp::R_PPC64_TPREL16_HIGHA:
924+ case elfcpp::R_POWERPC_DTPREL16_HA:
925+ case elfcpp::R_PPC64_DTPREL16_HIGHER:
926 case elfcpp::R_PPC64_TPREL16_HIGHER:
927+ case elfcpp::R_PPC64_DTPREL16_HIGHERA:
928 case elfcpp::R_PPC64_TPREL16_HIGHERA:
929+ case elfcpp::R_PPC64_DTPREL16_HIGHEST:
930 case elfcpp::R_PPC64_TPREL16_HIGHEST:
931+ case elfcpp::R_PPC64_DTPREL16_HIGHESTA:
932 case elfcpp::R_PPC64_TPREL16_HIGHESTA:
933- case elfcpp::R_POWERPC_DTPREL16:
934- case elfcpp::R_POWERPC_DTPREL16_LO:
935- case elfcpp::R_POWERPC_DTPREL16_HI:
936- case elfcpp::R_POWERPC_DTPREL16_HA:
937+ case elfcpp::R_PPC64_TPREL16_DS:
938+ case elfcpp::R_PPC64_TPREL16_LO_DS:
939 case elfcpp::R_PPC64_DTPREL16_DS:
940 case elfcpp::R_PPC64_DTPREL16_LO_DS:
941- case elfcpp::R_PPC64_DTPREL16_HIGH:
942- case elfcpp::R_PPC64_DTPREL16_HIGHA:
943- case elfcpp::R_PPC64_DTPREL16_HIGHER:
944- case elfcpp::R_PPC64_DTPREL16_HIGHERA:
945- case elfcpp::R_PPC64_DTPREL16_HIGHEST:
946- case elfcpp::R_PPC64_DTPREL16_HIGHESTA:
947+ case elfcpp::R_PPC64_SECTOFF_DS:
948+ case elfcpp::R_PPC64_SECTOFF_LO_DS:
949 case elfcpp::R_PPC64_TLSGD:
950 case elfcpp::R_PPC64_TLSLD:
951 break;
952@@ -7098,10 +7084,8 @@ Target_powerpc<size, big_endian>::Relocate::relocate(
953
954 case elfcpp::R_PPC64_TPREL16_DS:
955 case elfcpp::R_PPC64_TPREL16_LO_DS:
956- case elfcpp::R_PPC64_TPREL16_HIGH:
957- case elfcpp::R_PPC64_TPREL16_HIGHA:
958 if (size != 64)
959- // R_PPC_TLSGD, R_PPC_TLSLD, R_PPC_EMB_RELST_LO, R_PPC_EMB_RELST_HI
960+ // R_PPC_TLSGD and R_PPC_TLSLD
961 break;
962 case elfcpp::R_POWERPC_TPREL16:
963 case elfcpp::R_POWERPC_TPREL16_LO:
964@@ -7131,8 +7115,6 @@ Target_powerpc<size, big_endian>::Relocate::relocate(
965 case elfcpp::R_POWERPC_DTPREL16_HI:
966 case elfcpp::R_POWERPC_DTPREL16_HA:
967 case elfcpp::R_POWERPC_DTPREL:
968- case elfcpp::R_PPC64_DTPREL16_HIGH:
969- case elfcpp::R_PPC64_DTPREL16_HIGHA:
970 // tls symbol values are relative to tls_segment()->vaddr()
971 value -= dtp_offset;
972 break;
973@@ -7273,34 +7255,6 @@ Target_powerpc<size, big_endian>::Relocate::relocate(
974 overflow = Reloc::CHECK_BITFIELD;
975 break;
976
977- case elfcpp::R_POWERPC_ADDR16_HI:
978- case elfcpp::R_POWERPC_ADDR16_HA:
979- case elfcpp::R_POWERPC_GOT16_HI:
980- case elfcpp::R_POWERPC_GOT16_HA:
981- case elfcpp::R_POWERPC_PLT16_HI:
982- case elfcpp::R_POWERPC_PLT16_HA:
983- case elfcpp::R_POWERPC_SECTOFF_HI:
984- case elfcpp::R_POWERPC_SECTOFF_HA:
985- case elfcpp::R_PPC64_TOC16_HI:
986- case elfcpp::R_PPC64_TOC16_HA:
987- case elfcpp::R_PPC64_PLTGOT16_HI:
988- case elfcpp::R_PPC64_PLTGOT16_HA:
989- case elfcpp::R_POWERPC_TPREL16_HI:
990- case elfcpp::R_POWERPC_TPREL16_HA:
991- case elfcpp::R_POWERPC_DTPREL16_HI:
992- case elfcpp::R_POWERPC_DTPREL16_HA:
993- case elfcpp::R_POWERPC_GOT_TLSGD16_HI:
994- case elfcpp::R_POWERPC_GOT_TLSGD16_HA:
995- case elfcpp::R_POWERPC_GOT_TLSLD16_HI:
996- case elfcpp::R_POWERPC_GOT_TLSLD16_HA:
997- case elfcpp::R_POWERPC_GOT_TPREL16_HI:
998- case elfcpp::R_POWERPC_GOT_TPREL16_HA:
999- case elfcpp::R_POWERPC_GOT_DTPREL16_HI:
1000- case elfcpp::R_POWERPC_GOT_DTPREL16_HA:
1001- case elfcpp::R_POWERPC_REL16_HI:
1002- case elfcpp::R_POWERPC_REL16_HA:
1003- if (size == 32)
1004- break;
1005 case elfcpp::R_POWERPC_REL24:
1006 case elfcpp::R_PPC_PLTREL24:
1007 case elfcpp::R_PPC_LOCAL24PC:
1008@@ -7334,6 +7288,7 @@ Target_powerpc<size, big_endian>::Relocate::relocate(
1009 case elfcpp::R_POWERPC_TLS:
1010 case elfcpp::R_POWERPC_GNU_VTINHERIT:
1011 case elfcpp::R_POWERPC_GNU_VTENTRY:
1012+ case elfcpp::R_PPC_EMB_MRKREF:
1013 break;
1014
1015 case elfcpp::R_PPC64_ADDR64:
1016@@ -7404,12 +7359,6 @@ Target_powerpc<size, big_endian>::Relocate::relocate(
1017 status = Reloc::addr16_u(view, value, overflow);
1018 break;
1019
1020- case elfcpp::R_PPC64_ADDR16_HIGH:
1021- case elfcpp::R_PPC64_TPREL16_HIGH:
1022- case elfcpp::R_PPC64_DTPREL16_HIGH:
1023- if (size == 32)
1024- // R_PPC_EMB_MRKREF, R_PPC_EMB_RELST_LO, R_PPC_EMB_RELST_HA
1025- goto unsupp;
1026 case elfcpp::R_POWERPC_ADDR16_HI:
1027 case elfcpp::R_POWERPC_REL16_HI:
1028 case elfcpp::R_PPC64_TOC16_HI:
1029@@ -7424,12 +7373,6 @@ Target_powerpc<size, big_endian>::Relocate::relocate(
1030 Reloc::addr16_hi(view, value);
1031 break;
1032
1033- case elfcpp::R_PPC64_ADDR16_HIGHA:
1034- case elfcpp::R_PPC64_TPREL16_HIGHA:
1035- case elfcpp::R_PPC64_DTPREL16_HIGHA:
1036- if (size == 32)
1037- // R_PPC_EMB_RELSEC16, R_PPC_EMB_RELST_HI, R_PPC_EMB_BIT_FLD
1038- goto unsupp;
1039 case elfcpp::R_POWERPC_ADDR16_HA:
1040 case elfcpp::R_POWERPC_REL16_HA:
1041 case elfcpp::R_PPC64_TOC16_HA:
1042@@ -7554,6 +7497,11 @@ Target_powerpc<size, big_endian>::Relocate::relocate(
1043 case elfcpp::R_PPC64_PLT16_LO_DS:
1044 case elfcpp::R_PPC64_PLTGOT16_DS:
1045 case elfcpp::R_PPC64_PLTGOT16_LO_DS:
1046+ case elfcpp::R_PPC_EMB_RELSEC16:
1047+ case elfcpp::R_PPC_EMB_RELST_LO:
1048+ case elfcpp::R_PPC_EMB_RELST_HI:
1049+ case elfcpp::R_PPC_EMB_RELST_HA:
1050+ case elfcpp::R_PPC_EMB_BIT_FLD:
1051 case elfcpp::R_PPC_EMB_RELSDA:
1052 case elfcpp::R_PPC_TOC16:
1053 default:
1054diff --git a/include/elf/ppc64.h b/include/elf/ppc64.h
1055index 78d947b..5888460 100644
1056--- a/include/elf/ppc64.h
1057+++ b/include/elf/ppc64.h
1058@@ -141,14 +141,6 @@ START_RELOC_NUMBERS (elf_ppc64_reloc_type)
1059 RELOC_NUMBER (R_PPC64_TLSLD, 108)
1060 RELOC_NUMBER (R_PPC64_TOCSAVE, 109)
1061
1062-/* Added when HA and HI relocs were changed to report overflows. */
1063- RELOC_NUMBER (R_PPC64_ADDR16_HIGH, 110)
1064- RELOC_NUMBER (R_PPC64_ADDR16_HIGHA, 111)
1065- RELOC_NUMBER (R_PPC64_TPREL16_HIGH, 112)
1066- RELOC_NUMBER (R_PPC64_TPREL16_HIGHA, 113)
1067- RELOC_NUMBER (R_PPC64_DTPREL16_HIGH, 114)
1068- RELOC_NUMBER (R_PPC64_DTPREL16_HIGHA, 115)
1069-
1070 #ifndef RELOC_MACROS_GEN_FUNC
1071 /* Fake relocation only used internally by ld. */
1072 RELOC_NUMBER (R_PPC64_LO_DS_OPT, 128)
1073@@ -169,9 +161,8 @@ START_RELOC_NUMBERS (elf_ppc64_reloc_type)
1074
1075 END_RELOC_NUMBERS (R_PPC64_max)
1076
1077-#define IS_PPC64_TLS_RELOC(R) \
1078- (((R) >= R_PPC64_TLS && (R) <= R_PPC64_DTPREL16_HIGHESTA) \
1079- || ((R) >= R_PPC64_TPREL16_HIGH && (R) <= R_PPC64_DTPREL16_HIGHA))
1080+#define IS_PPC64_TLS_RELOC(R) \
1081+ ((R) >= R_PPC64_TLS && (R) <= R_PPC64_DTPREL16_HIGHESTA)
1082
1083
1084 /* e_flags bits specifying ABI.
1085--
10861.7.9.5
1087
diff --git a/recipes-devtools/e2fsprogs/e2fsprogs_1.42.9.bbappend b/recipes-devtools/e2fsprogs/e2fsprogs_1.42.9.bbappend
new file mode 100644
index 0000000..c9eeb4e
--- /dev/null
+++ b/recipes-devtools/e2fsprogs/e2fsprogs_1.42.9.bbappend
@@ -0,0 +1 @@
BBCLASSEXTEND += " nativesdk"
diff --git a/recipes-devtools/valgrind/files/disable-power-isa-2.07-check.patch b/recipes-devtools/valgrind/files/disable-power-isa-2.07-check.patch
new file mode 100644
index 0000000..88a8a54
--- /dev/null
+++ b/recipes-devtools/valgrind/files/disable-power-isa-2.07-check.patch
@@ -0,0 +1,48 @@
1valgrind: Disable Power ISA 2.07 check
2
3The Power ISA 2.07 check fails when not supported by both machine
4architecture and gcc.
5
6Upstream-Status: Inappropriate [disable feature]
7
8Signed-off-by: Gabriel Barbu <gabriel.barbu@enea.com>
9
10--- a/configure.ac 2014-05-05 17:06:29.674630565 +0200
11+++ b/configure.ac 2014-05-06 13:16:47.525598513 +0200
12@@ -1316,18 +1316,25 @@
13 AM_CONDITIONAL(BUILD_DFP_TESTS, test x$ac_gcc_have_dfp_type = xyes)
14
15 # isa 2.07 checking
16-AC_MSG_CHECKING([that assembler knows ISA 2.07 ])
17+AC_ARG_ENABLE([isa_2_07_check],
18+ [AS_HELP_STRING([--disable-isa_2_07_check],
19+ [disable Power ISA 2.07 check])],
20+ [],
21+ [disable_isa_2_07_check=no])
22
23-AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
24-]], [[
25- __asm__ __volatile__("mtvsrd 1,2 ");
26-]])], [
27-ac_asm_have_isa_2_07=yes
28-AC_MSG_RESULT([yes])
29-], [
30-ac_asm_have_isa_2_07=no
31-AC_MSG_RESULT([no])
32-])
33+AS_IF([test "x$disable_isa_2_07_check" = xno],
34+ [AC_MSG_CHECKING([that assembler knows ISA 2.07 ])
35+
36+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
37+ ]], [[
38+ __asm__ __volatile__("mtvsrd 1,2 ");
39+ ]])], [
40+ ac_asm_have_isa_2_07=yes
41+ AC_MSG_RESULT([yes])
42+ ], [
43+ ac_asm_have_isa_2_07=no
44+ AC_MSG_RESULT([no])
45+ ])])
46
47 AM_CONDITIONAL(HAS_ISA_2_07, test x$ac_asm_have_isa_2_07 = xyes)
48
diff --git a/recipes-devtools/valgrind/valgrind_3.9.0.bbappend b/recipes-devtools/valgrind/valgrind_3.9.0.bbappend
new file mode 100644
index 0000000..4af368d
--- /dev/null
+++ b/recipes-devtools/valgrind/valgrind_3.9.0.bbappend
@@ -0,0 +1,30 @@
1EXTRA_OECONF_append_b4860qds-64b = " --disable-isa_2_07_check"
2
3FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
4
5SRC_URI += "\
6 file://disable-power-isa-2.07-check.patch \
7 "
8
9do_compile_ptest_zc702-zynq7-prt() {
10 # This is to replace the ptest building part that fails due to
11 # internal compiler error on ARM targets (LXCR-3358)
12 echo ""
13}
14
15do_compile_ptest_zc702-zynq7() {
16 # This is to replace the ptest building part that fails due to
17 # internal compiler error on ARM targets (LXCR-3358)
18 echo ""
19}
20
21do_compile_ptest_k2hk-evm() {
22 # This is to replace the ptest building part that fails due to
23 # internal compiler error on ARM targets (LXCR-3358)
24 echo ""
25}
26do_compile_ptest_proliant-m800() {
27 # This is to replace the ptest building part that fails due to
28 # internal compiler error on ARM targets (LXCR-3358)
29 echo ""
30}
diff --git a/recipes-enea/count-ticks/count-ticks/run-ptest b/recipes-enea/count-ticks/count-ticks/run-ptest
new file mode 100644
index 0000000..b54364a
--- /dev/null
+++ b/recipes-enea/count-ticks/count-ticks/run-ptest
@@ -0,0 +1,23 @@
1#!/bin/sh -eu
2
3fail () {
4 printf "%s\n" "$*"
5 exit
6}
7
8count_ticks --cpu 0 --start || fail "Failed starting tick counting"
9find /usr -name dummy 2>&1 > /dev/null
10
11nr_ticks=$(count_ticks --batch --cpu 0 --end)
12
13if [ $? -ne 0 ]; then
14 echo "FAIL: count_ticks failed execution"
15 exit
16fi
17
18if [ $nr_ticks == 0 ]; then
19 echo "FAIL: count_ticks didn't see any ticks"
20 exit
21fi
22
23echo "PASS: count_ticks"
diff --git a/recipes-enea/count-ticks/count-ticks_1.1.bb b/recipes-enea/count-ticks/count-ticks_1.1.bb
new file mode 100644
index 0000000..caa6ed7
--- /dev/null
+++ b/recipes-enea/count-ticks/count-ticks_1.1.bb
@@ -0,0 +1,25 @@
1SUMMARY = "Tick count tool"
2DESCRIPTION = "Count number of kernel ticks during command execution."
3SECTION = "utils"
4LICENSE = "BSD"
5LIC_FILES_CHKSUM = "file://LICENSE;md5=b52bab7a403562f36be803f11489f1a4"
6
7PR = "r1"
8
9RDEPENDS_${PN} = "bash"
10
11SRC_URI = "git://github.com/OpenEneaLinux/rt-tools.git;branch=master \
12 file://run-ptest \
13 "
14
15SRCREV = "0fa0a8e084fe68e77a1f0968f2fbfa993292ae9c"
16
17inherit ptest
18
19S = "${WORKDIR}/git"
20
21FILES_${PN} += "/bin/*"
22
23do_install() {
24 install -D ${S}/install/bin/count_ticks ${D}/usr/bin/count_ticks
25}
diff --git a/recipes-enea/linx/linx-2.6.6/liblinx_free_buf.patch b/recipes-enea/linx/linx-2.6.6/liblinx_free_buf.patch
new file mode 100644
index 0000000..42f3e99
--- /dev/null
+++ b/recipes-enea/linx/linx-2.6.6/liblinx_free_buf.patch
@@ -0,0 +1,22 @@
1Fixed buffer free problem when sending between threads in the same process.
2
3Upstream-Status: Not Applicable
4
5Signed-off-by: Huimin She <huimin.she@enea.com>
6
7---
8diff -rup a/liblinx/linx.c b/liblinx/linx.c
9--- a/liblinx/linx.c 2014-04-17 13:40:30.000000000 +0200
10+++ b/liblinx/linx.c 2014-07-24 14:22:30.264648751 +0200
11@@ -711,7 +711,10 @@ int linx_send(LINX * linx, union LINX_SI
12 if (ret == 0) {
13 sig_adm->sndrcv = sndrcv;
14 }
15- adm_free_buf(linx, sig_adm);
16+ if (ret != 1) {
17+ /* Don't free signals sent back to itself, they are needed later! */
18+ adm_free_buf(linx, sig_adm);
19+ }
20 out:
21 /* Take signal pointer from user. */
22 *sig = LINX_NIL;
diff --git a/recipes-enea/linx/linx-2.6.6/liblinx_nobase.patch b/recipes-enea/linx/linx-2.6.6/liblinx_nobase.patch
new file mode 100644
index 0000000..05a4b7e
--- /dev/null
+++ b/recipes-enea/linx/linx-2.6.6/liblinx_nobase.patch
@@ -0,0 +1,29 @@
1From 5ea9763286eb43e01c4ef2f3db59e13367a77138 Mon Sep 17 00:00:00 2001
2From: jack zhang <jack.zhang@enea.com>
3Date: Mon, 17 Dec 2012 03:52:11 +0100
4Subject: [PATCH] LXCR-995 As an Enea sales person, I want LINX added to Enea
5 Linux
6Signed-off-by: jack zhang <jack.zhang@enea.com>
7
8 Upstream-Status: Pending
9 For details, see LINXCR-1518
10---
11 liblinx/Makefile.am | 2 +-
12 1 files changed, 1 insertions(+), 1 deletions(-)
13
14diff --git a/liblinx/Makefile.am b/liblinx/Makefile.am
15index 8559e43..3ce47d6 100644
16--- a/liblinx/Makefile.am
17+++ b/liblinx/Makefile.am
18@@ -47,7 +47,7 @@ dist_man7_MANS = $(LINXROOT)/doc/man7/linx.7
19
20 include $(LINXROOT)/flags.am
21
22-include_HEADERS = \
23+nobase_include_HEADERS = \
24 $(LINXROOT)/include/linx.h \
25 $(LINXROOT)/include/linx_ioctl.h \
26 $(LINXROOT)/include/linx_socket.h \
27--
281.7.5.4
29
diff --git a/recipes-enea/linx/linx-2.6.6/linxcfg_nobase.patch b/recipes-enea/linx/linx-2.6.6/linxcfg_nobase.patch
new file mode 100644
index 0000000..af4b477
--- /dev/null
+++ b/recipes-enea/linx/linx-2.6.6/linxcfg_nobase.patch
@@ -0,0 +1,38 @@
1From a3b3dc8117490ddfcc2081fca5ff663e4157a106 Mon Sep 17 00:00:00 2001
2From: jack zhang <jack.zhang@enea.com>
3Date: Mon, 17 Dec 2012 03:57:15 +0100
4Subject: [PATCH] LXCR-995 As an Enea sales person, I want LINX added to Enea
5 Linux
6Signed-off-by: jack zhang <jack.zhang@enea.com>
7
8 Upstream-Status: Pending
9 For details, see LINXCR-1518
10---
11 linxcfg/Makefile.am | 4 +---
12 1 files changed, 1 insertions(+), 3 deletions(-)
13
14diff --git a/linxcfg/Makefile.am b/linxcfg/Makefile.am
15index 9fc8e84..287c71b 100644
16--- a/linxcfg/Makefile.am
17+++ b/linxcfg/Makefile.am
18@@ -24,16 +24,14 @@ dist_man1_MANS = \
19 $(LINXROOT)/doc/man1/mkcmclcon.1 \
20 $(LINXROOT)/doc/man1/rmcmclcon.1
21
22-include_HEADERS = \
23+nobase_include_HEADERS = \
24 $(LINXROOT)/include/linxcfg.h \
25 $(LINXROOT)/include/linux/ethcm_db_ioctl.h \
26 $(LINXROOT)/include/linux/rlnh_db_ioctl.h \
27 $(LINXROOT)/include/linux/tcpcm_db_ioctl.h \
28 $(LINXROOT)/include/linux/shmcm_db_ioctl.h \
29- $(LINXROOT)/include/linux/riocm_db_ioctl.h \
30 $(LINXROOT)/include/linux/cmcl_db_ioctl.h \
31 $(LINXROOT)/include/linux/riocm_db_ioctl.h \
32- $(LINXROOT)/include/linux/cmcl_db_ioctl.h \
33 $(LINXROOT)/include/db_ioctl.h \
34 $(LINXROOT)/include/ethcm_db_ioctl.h \
35 $(LINXROOT)/include/rlnh_db_ioctl.h \
36--
371.7.5.4
38
diff --git a/recipes-enea/linx/linx-mod-2.6.6/linx-kernel-modules.patch b/recipes-enea/linx/linx-mod-2.6.6/linx-kernel-modules.patch
new file mode 100644
index 0000000..f29019b
--- /dev/null
+++ b/recipes-enea/linx/linx-mod-2.6.6/linx-kernel-modules.patch
@@ -0,0 +1,288 @@
1Use KERNEL_SRC and modules_install to get use of pokys build kernel modules.
2fix version.h problem.
3
4Signed-off-by: Anders Roxell <anders.roxell@enea.com>
5
6Upstream-status: Pending
7---
8diff -uNr a/cmcl/Makefile b/cmcl/Makefile
9--- a/cmcl/Makefile 2013-02-25 15:46:59.777325274 +0100
10+++ b/cmcl/Makefile 2013-02-25 15:57:22.038398316 +0100
11@@ -3,8 +3,8 @@
12 LINX ?= $(CURDIR)/../../..
13 include $(LINX)/net/linx/config.mk
14
15-KERNEL_CODE := $(shell awk '/LINUX_VERSION_CODE/ {print $$3}' $(KERNEL)/include/linux/version.h)
16-VENDOR_VERSION := $(shell awk '/UTS_RELEASE/ {print $$3}' $(KERNEL)/include/linux/version.h)
17+KERNEL_CODE := $(shell awk '/LINUX_VERSION_CODE/ {print $$3}' $(KERNEL_SRC)/include/generated/utsrelease.h)
18+VENDOR_VERSION := $(shell awk '/UTS_RELEASE/ {print $$3}' $(KERNEL_SRC)/include/generated/utsrelease.h)
19
20 ifneq ($(VENDOR_VERSION), "")
21 EXTRA_CFLAGS += -DGFP_IS_INT
22@@ -38,15 +38,17 @@
23
24 linx_cmcl-y += cmcl.o
25
26+SRC := $(shell pwd)
27+
28 modules:
29- $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL) M=`pwd` modules
30+ $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL_SRC) M=$(SRC) modules
31 $(CP) linx_cmcl.ko ..
32
33 clean:
34- $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL) M=`pwd` clean
35+ $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL_SRC) M=$(SRC) clean
36 $(LINXRM) Module.symvers Module.markers modules.order ../linx_cmcl.ko
37
38-install: modules
39- $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL) M=`pwd` modules_install
40+modules_install: modules
41+ $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL_SRC) M=$(SRC) modules_install
42 depmod
43
44diff -uNr a/config.mk b/config.mk
45--- a/config.mk 2013-02-25 15:46:59.781325113 +0100
46+++ b/config.mk 2013-02-25 16:13:30.672459997 +0100
47@@ -3,7 +3,7 @@
48 # CROSS_COMPILE is cross compiler prefix (including full path)
49 CROSS_COMPILE ?=
50 # KERNEL is the path to your kernel sources
51-KERNEL ?=
52+KERNEL_SRC ?=
53
54 # Host architecture
55 HOST_ARCH ?= $(patsubst i%86,i386,$(shell uname -m))
56@@ -26,13 +26,13 @@
57 endif
58
59 ifeq ($(ARCH),$(HOST_ARCH))
60-ifndef KERNEL
61-KERNEL := $(HOST_KERNEL)
62+ifndef KERNEL_SRC
63+KERNEL_SRC := $(HOST_KERNEL)
64 endif
65 else
66-ifndef KERNEL
67+ifndef KERNEL_SRC
68 ifdef NEED_KERNEL
69-$(error Please define KERNEL.)
70+$(error Please define KERNEL_SRC.)
71 endif
72 endif
73 endif
74@@ -53,8 +53,8 @@
75 ifdef CROSS_COMPILE
76 $(ECHO) "# CROSS_COMPILE=$(CROSS_COMPILE)"
77 endif
78-ifdef KERNEL
79- $(ECHO) "# KERNEL=$(KERNEL)"
80+ifdef KERNEL_SRC
81+ $(ECHO) "# KERNEL_SRC=$(KERNEL_SRC)"
82 endif
83 ifdef VERBOSE
84 $(ECHO) "# VERBOSE=$(VERBOSE)"
85@@ -62,7 +62,7 @@
86 $(ECHO) "# VERBOSE=no"
87 endif
88
89-export ARCH CROSS_COMPILE KERNEL LINX
90+export ARCH CROSS_COMPILE KERNEL_SRC LINX
91
92 .PHONY: echo_config
93
94@@ -117,5 +117,5 @@
95 # in the mercury linux distribution.
96 EXTRA_CFLAGS += -I$(KDIR)/arch/ppc -DRLNH_ALIGN_ANY
97 else # x86
98-KDIR := /lib/modules/$(shell uname -r)/build
99+KDIR := /lib/modules/$(KERNEL_VERSION)/build
100 endif
101diff -uNr a/ecm/Makefile b/ecm/Makefile
102--- a/ecm/Makefile 2013-02-25 15:46:59.781325113 +0100
103+++ b/ecm/Makefile 2013-02-25 16:11:13.754388313 +0100
104@@ -5,8 +5,8 @@
105 LINX ?= $(CURDIR)/../../..
106 include $(LINX)/net/linx/config.mk
107
108-KERNEL_CODE := $(shell awk '/LINUX_VERSION_CODE/ {print $$3}' $(KERNEL)/include/linux/version.h)
109-VENDOR_VERSION := $(shell awk '/UTS_RELEASE/ {print $$3}' $(KERNEL)/include/linux/version.h)
110+KERNEL_CODE := $(shell awk '/LINUX_VERSION_CODE/ {print $$3}' $(KERNEL_SRC)/include/generated/utsrelease.h)
111+VENDOR_VERSION := $(shell awk '/UTS_RELEASE/ {print $$3}' $(KERNEL_SRC)/include/generated/utsrelease.h)
112
113 ifneq ($(VENDOR_VERSION), "")
114 EXTRA_CFLAGS += -DGFP_IS_INT
115@@ -43,14 +43,16 @@
116 linx_eth_cm-y += ecm_rx.o
117 linx_eth_cm-y += ecm_kutils.o
118
119+SRC := $(shell pwd)
120+
121 modules:
122- $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL) M=`pwd` modules
123+ $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL_SRC) M=$(SRC) modules
124 $(CP) linx_eth_cm.ko ..
125
126 clean:
127- $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL) M=`pwd` clean
128+ $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL_SRC) M=$(SRC) clean
129 $(LINXRM) Module.symvers Module.markers modules.order ../linx_eth_cm.ko
130
131-install: modules
132- $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL) M=`pwd` modules_install
133+modules_install: modules
134+ $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL_SRC) M=$(SRC) modules_install
135 depmod
136diff -uNr a/Makefile b/Makefile
137--- a/Makefile 2013-02-25 15:46:59.781325113 +0100
138+++ b/Makefile 2013-02-25 15:53:22.752757899 +0100
139@@ -63,9 +63,9 @@
140 2_6_11 := 132619
141
142 # Vendors version of kernel, needed to catch certain back patches
143-VENDOR_VERSION := $(shell awk '/UTS_RELEASE/ {print $$3}' $(KERNEL)/include/linux/version.h)
144+VENDOR_VERSION := $(shell awk '/UTS_RELEASE/ {print $$3}' $(KERNEL_SRC)/include/generated/utsrelease.h)
145 # Main line kernel version
146-KERNEL_CODE := $(shell awk '/LINUX_VERSION_CODE/ {print $$3}' $(KERNEL)/include/linux/version.h)
147+KERNEL_CODE := $(shell awk '/LINUX_VERSION_CODE/ {print $$3}' $(KERNEL_SRC)/include/generated/utsrelease.h)
148
149 #
150 # 'gt_or_eq'
151@@ -140,14 +140,16 @@
152 obj-y += riocm/
153 obj-y += cmcl/
154
155+SRC := $(shell pwd)
156+
157 modules:
158- $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL) M=`pwd` modules
159+ $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL_SRC) M=$(SRC) modules
160 $(CP) */*.ko .
161 clean:
162- $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL) M=`pwd` clean
163+ $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL_SRC) M=$(SRC) clean
164 $(LINXRM) Module.symvers Module.markers modules.order
165
166-install: modules
167- $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL) M=`pwd` modules_install
168+modules_install: modules
169+ $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL_SRC) M=$(SRC) modules_install
170 depmod
171
172diff -uNr a/riocm/Makefile b/riocm/Makefile
173--- a/riocm/Makefile 2013-02-25 15:46:59.781325113 +0100
174+++ b/riocm/Makefile 2013-02-25 16:05:33.381125565 +0100
175@@ -5,8 +5,8 @@
176 LINX ?= $(CURDIR)/../../..
177 include $(LINX)/net/linx/config.mk
178
179-KERNEL_CODE := $(shell awk '/LINUX_VERSION_CODE/ {print $$3}' $(KERNEL)/include/linux/version.h)
180-VENDOR_VERSION := $(shell awk '/UTS_RELEASE/ {print $$3}' $(KERNEL)/include/linux/version.h)
181+KERNEL_CODE := $(shell awk '/LINUX_VERSION_CODE/ {print $$3}' $(KERNEL_SRC)/include/generated/utsrelease.h)
182+VENDOR_VERSION := $(shell awk '/UTS_RELEASE/ {print $$3}' $(KERNEL_SRC)/include/generated/utsrelease.h)
183
184 ifneq ($(VENDOR_VERSION), "")
185 EXTRA_CFLAGS += -DGFP_IS_INT
186@@ -43,15 +43,17 @@
187 linx_rio_cm-y += rio_rx.o
188 linx_rio_cm-y += rio_kutils.o
189
190+SRC := $(shell pwd)
191+
192 modules:
193- $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL) M=`pwd` modules
194+ $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL_SRC) M=$(SRC) modules
195 $(CP) linx_rio_cm.ko ..
196
197 clean:
198- $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL) M=`pwd` clean
199+ $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL_SRC) M=$(SRC) clean
200 $(LINXRM) Module.symvers Module.markers modules.order ../linx_rio_cm.ko
201
202-install: modules
203- $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL) M=`pwd` modules_install
204+modules_install: modules
205+ $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL_SRC) M=$(SRC) modules_install
206 depmod
207
208diff -uNr a/shmcm/Makefile b/shmcm/Makefile
209--- a/shmcm/Makefile 2013-02-25 15:46:59.781325113 +0100
210+++ b/shmcm/Makefile 2013-02-25 16:03:58.113250295 +0100
211@@ -5,8 +5,8 @@
212 LINX ?= $(CURDIR)/../../..
213 include $(LINX)/net/linx/config.mk
214
215-KERNEL_CODE := $(shell awk '/LINUX_VERSION_CODE/ {print $$3}' $(KERNEL)/include/linux/version.h)
216-VENDOR_VERSION := $(shell awk '/UTS_RELEASE/ {print $$3}' $(KERNEL)/include/linux/version.h)
217+KERNEL_CODE := $(shell awk '/LINUX_VERSION_CODE/ {print $$3}' $(KERNEL_SRC)/include/generated/utsrelease.h)
218+VENDOR_VERSION := $(shell awk '/UTS_RELEASE/ {print $$3}' $(KERNEL_SRC)/include/generated/utsrelease.h)
219
220 ifneq ($(VENDOR_VERSION), "")
221 EXTRA_CFLAGS += -DGFP_IS_INT
222@@ -60,7 +60,7 @@
223 -I$(LINX)/net/linx/include \
224 -I$(LINX)/net/linx/shmcm
225
226-INSTALLDIR = /lib/modules/`uname -r`/kernel/net/linx
227+INSTALLDIR = /lib/modules/$(KERNEL_VERSION)/kernel/net/linx
228 MODULES = linx_shm_cm.ko
229
230 obj-m := linx_shm_cm.o
231@@ -70,15 +70,17 @@
232 linx_shm_cm-y += shmcm_tx.o
233 linx_shm_cm-y += shmcm_kutils.o
234
235+SRC := $(shell pwd)
236+
237 modules:
238- $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL) M=`pwd` modules
239+ $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL_SRC) M=$(SRC) modules
240 $(CP) linx_shm_cm.ko ..
241
242 clean:
243- $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL) M=`pwd` clean
244+ $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL_SRC) M=$(SRC) clean
245 $(LINXRM) Module.symvers Module.markers modules.order ../linx_shm_cm.ko
246
247-install: modules
248- $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL) M=`pwd` modules_install
249+modules_install: modules
250+ $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL_SRC) M=$(SRC) modules_install
251 depmod
252
253diff -uNr a/tcp_cm/Makefile b/tcp_cm/Makefile
254--- a/tcp_cm/Makefile 2013-02-25 15:46:59.781325113 +0100
255+++ b/tcp_cm/Makefile 2013-02-25 16:10:09.097187839 +0100
256@@ -3,8 +3,8 @@
257 LINX ?= $(CURDIR)/../../..
258 include $(LINX)/net/linx/config.mk
259
260-KERNEL_CODE := $(shell awk '/LINUX_VERSION_CODE/ {print $$3}' $(KERNEL)/include/linux/version.h)
261-VENDOR_VERSION := $(shell awk '/UTS_RELEASE/ {print $$3}' $(KERNEL)/include/linux/version.h)
262+KERNEL_CODE := $(shell awk '/LINUX_VERSION_CODE/ {print $$3}' $(KERNEL_SRC)/include/generated/utsrelease.h)
263+VENDOR_VERSION := $(shell awk '/UTS_RELEASE/ {print $$3}' $(KERNEL_SRC)/include/generated/utsrelease.h)
264
265 ifneq ($(VENDOR_VERSION), "")
266 EXTRA_CFLAGS += -DGFP_IS_INT
267@@ -38,15 +38,17 @@
268
269 linx_tcp_cm-y += tcp_cm.o
270
271+SRC := $(shell pwd)
272+
273 modules:
274- $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL) M=`pwd` modules
275+ $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL_SRC) M=$(SRC) modules
276 $(CP) linx_tcp_cm.ko ..
277
278 clean:
279- $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL) M=`pwd` clean
280+ $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL_SRC) M=$(SRC) clean
281 $(LINXRM) Module.symvers Module.markers modules.order ../linx_tcp_cm.ko
282
283-install: modules
284- $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL) M=`pwd` modules_install
285+modules_install: modules
286+ $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL_SRC) M=$(SRC) modules_install
287 depmod
288
diff --git a/recipes-enea/linx/linx-mod-2.6.6/support-for-3.11-kernel-versions.patch b/recipes-enea/linx/linx-mod-2.6.6/support-for-3.11-kernel-versions.patch
new file mode 100644
index 0000000..d6f9106
--- /dev/null
+++ b/recipes-enea/linx/linx-mod-2.6.6/support-for-3.11-kernel-versions.patch
@@ -0,0 +1,206 @@
1From 20294330f08283d28b6092b568156e29b1792328 Mon Sep 17 00:00:00 2001
2From: Adrian Dudau <adrian.dudau@enea.com>
3Date: Thu, 12 Dec 2013 11:23:24 +0100
4Subject: [PATCH] support for 3.11 kernel versions
5
6Fixed NULL pointer dereference in ecm_conn.c
7
8Signed-off-by: Adrian Dudau <adrian.dudau@enea.com>
9---
10 cfg/db_proc.c | 23 ++++++++++++++++++-----
11 ecm/ecm_conn.c | 11 ++++++++---
12 ipc/hunt.c | 24 ++++++++++++++++++++++++
13 3 files changed, 50 insertions(+), 8 deletions(-)
14
15diff --git a/cfg/db_proc.c b/cfg/db_proc.c
16index c062a3d..bad0353 100644
17--- a/cfg/db_proc.c
18+++ b/cfg/db_proc.c
19@@ -41,6 +41,12 @@
20 #include "db_format.h"
21 #include <asm/uaccess.h>
22
23+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 0))
24+#define PDE_INODE_NAME(inode) PDE_DATA(inode)
25+#else
26+#define PDE_INODE_NAME(inode) PDE(inode)->name
27+#endif
28+
29 struct db_seq {
30 const struct db_template *template;
31 struct list_head *list;
32@@ -148,11 +154,11 @@ static int db_proc_open(struct inode *inode, struct file *file)
33 if (status != 0)
34 goto out_20;
35
36- status = db_template_get(PDE(inode)->name, &p->template);
37+ status = db_template_get(PDE_INODE_NAME(inode), &p->template);
38 if (status != 0)
39 goto out_20;
40
41- status = db_list_get(PDE(inode)->name, &p->list);
42+ status = db_list_get(PDE_INODE_NAME(inode), &p->list);
43 if (status != 0)
44 goto out_10;
45
46@@ -161,7 +167,7 @@ static int db_proc_open(struct inode *inode, struct file *file)
47 return 0;
48
49 out_10:
50- db_template_put(PDE(inode)->name, &p->template);
51+ db_template_put(PDE_INODE_NAME(inode), &p->template);
52 out_20:
53 kfree(p);
54 return status;
55@@ -217,11 +223,11 @@ static int db_proc_release(struct inode *inode, struct file *file)
56 s = file->private_data;
57 p = s->private;
58
59- status = db_list_put(PDE(inode)->name, &p->list);
60+ status = db_list_put(PDE_INODE_NAME(inode), &p->list);
61 if (status != 0)
62 return status;
63
64- status = db_template_put(PDE(inode)->name, &p->template);
65+ status = db_template_put(PDE_INODE_NAME(inode), &p->template);
66 if (status != 0)
67 return status;
68
69@@ -258,14 +264,21 @@ int db_proc_add(const char *name)
70 {
71 struct proc_dir_entry *pde;
72
73+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 0)
74+ pde = proc_create_data(name, 0777, db_proc_root,
75+ &db_proc_file_ops, (void *)name);
76+#else
77 pde = create_proc_entry(name, 0777, db_proc_root);
78+#endif
79 if (pde == NULL)
80 return -EINVAL;
81
82 #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 29)
83 pde->owner = THIS_MODULE;
84 #endif
85+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0)
86 pde->proc_fops = &db_proc_file_ops;
87+#endif
88 return 0;
89 }
90 EXPORT_SYMBOL(db_proc_add);
91diff --git a/ecm/ecm_conn.c b/ecm/ecm_conn.c
92index aaf5161..b81abd1 100644
93--- a/ecm/ecm_conn.c
94+++ b/ecm/ecm_conn.c
95@@ -905,8 +905,9 @@ static void free_ecm_connection(struct RlnhLinkObj *co)
96 {
97 /* Undo alloc_ecm_connection(). */
98 if (co != NULL) {
99- if (list_empty(&co->ecm_dev->conn_list))
100- dev_remove_pack(&co->ecm_dev->pt);
101+ if (co->ecm_dev != NULL)
102+ if (list_empty(&co->ecm_dev->conn_list))
103+ dev_remove_pack(&co->ecm_dev->pt);
104 if (co->con_name != NULL)
105 kfree(co->con_name);
106 if (co->dev_name != NULL)
107@@ -1315,7 +1316,11 @@ static int net_event(struct notifier_block *nb, unsigned long event, void *data)
108 struct ecm_work_net_event *p;
109
110 (void)nb;
111- dev = data;
112+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0))
113+ dev = netdev_notifier_info_to_dev(data);
114+#else
115+ dev = data;
116+#endif
117
118 w = alloc_ecm_work(sizeof(*p), ECM_WORK_NET_EVENT, GFP_KERNEL);
119 if (w == NULL)
120diff --git a/ipc/hunt.c b/ipc/hunt.c
121index 843a893..f4564eb 100644
122--- a/ipc/hunt.c
123+++ b/ipc/hunt.c
124@@ -743,7 +743,9 @@ static inline struct sock *__locate_name(const char *name,
125 unsigned hash, uint32_t hunter_spid)
126 {
127 struct sock *s, *s_found = NULL;
128+#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,9,0))
129 struct hlist_node *node;
130+#endif
131
132 linx_trace_enter(LINX_TRACEGROUP_IPC,
133 "%s, %d, 0x%x, 0x%x", name, len, hash, hunter_spid);
134@@ -753,7 +755,11 @@ static inline struct sock *__locate_name(const char *name,
135
136 /* Traverse the list of sockets in the specified hash slot to find a
137 match. */
138+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0))
139+ sk_for_each(s, &linx_sockets_bound[hash]) {
140+#else
141 sk_for_each(s, node, &linx_sockets_bound[hash]) {
142+#endif
143 linx_check_sock(s);
144
145 /* If the length of the aname are the same, potential match was found. */
146@@ -1122,7 +1128,9 @@ int linx_info_sockets(struct linx_info_sockets *isockets,
147 LINX_SPID __user * spids)
148 {
149 struct sock *sk;
150+#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,9,0))
151 const struct hlist_node *node;
152+#endif
153 int i, tot_sockets = 0, tot_sockets_tmp = 0, max_sockets;
154
155 LINX_ASSERT(isockets != NULL);
156@@ -1131,7 +1139,11 @@ int linx_info_sockets(struct linx_info_sockets *isockets,
157
158 read_lock_bh(&linx_socket_bound_unbound_lock);
159 /* Count the number of sockets the needs to be returned. */
160+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0))
161+ sk_for_each(sk, &linx_sockets_unbound) {
162+#else
163 sk_for_each(sk, node, &linx_sockets_unbound) {
164+#endif
165 if (linx_sk(sk)->type == LINX_TYPE_REMOTE && isockets->remote) {
166 tot_sockets_tmp++;
167 } else if (linx_sk(sk)->type == LINX_TYPE_LOCAL &&
168@@ -1156,7 +1168,11 @@ int linx_info_sockets(struct linx_info_sockets *isockets,
169
170 tot_sockets_tmp = 0;
171
172+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0))
173+ sk_for_each(sk, &linx_sockets_unbound) {
174+#else
175 sk_for_each(sk, node, &linx_sockets_unbound) {
176+#endif
177 LINX_SPID spid = linx_sock_to_spid(sk);
178 if (linx_sk(sk)->type == LINX_TYPE_REMOTE &&
179 isockets->remote) {
180@@ -1197,7 +1213,11 @@ int linx_info_sockets(struct linx_info_sockets *isockets,
181 for (i = 0; i < LINX_HASH_SIZE; i++) {
182 tot_sockets_tmp = 0;
183 read_lock_bh(&linx_socket_bound_unbound_lock);
184+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0))
185+ sk_for_each(sk, &linx_sockets_bound[i]) {
186+#else
187 sk_for_each(sk, node, &linx_sockets_bound[i]) {
188+#endif
189 if (linx_sk(sk)->type == LINX_TYPE_REMOTE &&
190 isockets->remote) {
191 tot_sockets_tmp++;
192@@ -1222,7 +1242,11 @@ int linx_info_sockets(struct linx_info_sockets *isockets,
193 }
194
195 tot_sockets_tmp = 0;
196+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0))
197+ sk_for_each(sk, &linx_sockets_bound[i]) {
198+#else
199 sk_for_each(sk, node, &linx_sockets_bound[i]) {
200+#endif
201 LINX_SPID spid = linx_sock_to_spid(sk);
202 if (linx_sk(sk)->type == LINX_TYPE_REMOTE &&
203 isockets->remote) {
204--
2051.8.3.2
206
diff --git a/recipes-enea/linx/linx-mod-2.6.6/support-for-3.12-kernels.patch b/recipes-enea/linx/linx-mod-2.6.6/support-for-3.12-kernels.patch
new file mode 100644
index 0000000..60c69a8
--- /dev/null
+++ b/recipes-enea/linx/linx-mod-2.6.6/support-for-3.12-kernels.patch
@@ -0,0 +1,24 @@
1Fixed build errors for linx_mod with kernel 3.12.X.
2
3For details, see [LXCR-3427].
4
5Upstream-Status: Not Applicable
6
7Signed-off-by: Liviu Gheorghisan <liviu.gheorghisan@enea.com>
8
9---
10--- a/af_linx.c 2014-04-02 10:19:44.000000000 +0300
11+++ b/af_linx.c 2014-07-23 17:40:01.629687646 +0300
12@@ -1034,8 +1034,11 @@
13 failure:
14 *errcode = err;
15 return NULL;
16-#else
17+#elif LINUX_VERSION_CODE < KERNEL_VERSION(3,12,0)
18 return sock_alloc_send_pskb(sk, 0, data_len, 0, errcode);
19+#else
20+ /* max_page_order == 0 => no paged allocations */
21+ return sock_alloc_send_pskb(sk, 0, data_len, 0, errcode, 0);
22 #endif
23 }
24
diff --git a/recipes-enea/linx/linx-mod-2.6.6/support-for-3.15-kernels.patch b/recipes-enea/linx/linx-mod-2.6.6/support-for-3.15-kernels.patch
new file mode 100644
index 0000000..80118a4
--- /dev/null
+++ b/recipes-enea/linx/linx-mod-2.6.6/support-for-3.15-kernels.patch
@@ -0,0 +1,60 @@
1Fixed build errors for linx-mod with kernel >= 3.15.0
2
3Upstream-Status: Not Applicable
4
5Signed-off-by: Huimin She <huimin.she@enea.com>
6
7---
8diff -rup a/af_linx.c b/af_linx.c
9--- a/af_linx.c 2014-07-25 16:22:23.295570583 +0200
10+++ b/af_linx.c 2014-07-25 16:22:23.299570583 +0200
11@@ -743,7 +743,11 @@ setup_receive_filter(struct sock *sk, st
12 /* This function is called to wake up a receiving socket when it is sleeping
13 * waiting for a new message in poll or select.
14 */
15+#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,15,0))
16 static void linx_data_ready(struct sock *sk, int len)
17+#else
18+static void linx_data_ready(struct sock *sk)
19+#endif
20 {
21 linx_check_sock(sk);
22
23@@ -1401,7 +1405,11 @@ linx_do_legacy_sendmsg(struct sock *sk,
24 LINX_SOCK_STAT_QUEUE_SIGNAL(to, payload_size);
25 #endif
26 /* Wake up the receiver, if it sleeps and wait for the signal. */
27+#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,15,0))
28 to->sk_data_ready(to, payload_size);
29+#else
30+ to->sk_data_ready(to);
31+#endif
32
33 return 0;
34 out:
35@@ -1577,7 +1585,11 @@ linx_do_sendmsg(struct sock *sk,
36 LINX_SOCK_STAT_QUEUE_SIGNAL(to, payload_size);
37 #endif
38 /* Wake up the receiver, if it sleeps and wait for the signal. */
39- to->sk_data_ready(to, payload_size);
40+#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,15,0))
41+ to->sk_data_ready(to, payload_size);
42+#else
43+ to->sk_data_ready(to);
44+#endif
45
46 return 0;
47 out:
48@@ -1636,7 +1648,11 @@ int __linx_do_sendmsg_skb_to_local_sk(st
49 LINX_SOCK_STAT_QUEUE_SIGNAL(to, payload_size);
50 #endif
51 /* Wake up the receiver, if it sleeps and waits for the signal. */
52- to->sk_data_ready(to, payload_size);
53+#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,15,0))
54+ to->sk_data_ready(to, payload_size);
55+#else
56+ to->sk_data_ready(to);
57+#endif
58
59 return 0;
60 }
diff --git a/recipes-enea/linx/linx-mod_2.6.6.bb b/recipes-enea/linx/linx-mod_2.6.6.bb
new file mode 100644
index 0000000..18adef9
--- /dev/null
+++ b/recipes-enea/linx/linx-mod_2.6.6.bb
@@ -0,0 +1,34 @@
1SUMMARY = "LINX for Linux fast IPC"
2DESCRIPTION = "LINX is a distributed communication protocol stack for transparent inter node and interprocess communication for a heterogeneous mix of systems."
3HOMEPAGE = "http://linx.sourceforge.net/"
4
5SECTION = "kernel/modules"
6
7LICENSE = "GPLv2"
8LIC_FILES_CHKSUM = "file://../../COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
9
10DEPENDS = "linux-libc-headers linx"
11RRECOMMENDS_${PN} = "linx kmod"
12
13SRC_URI = "http://linux.enea.com/linx/linx-${PV}.tar.gz \
14 file://support-for-3.12-kernels.patch \
15 file://support-for-3.15-kernels.patch"
16
17SRC_URI[md5sum] = "f6d7e103eee0807cacf73aa20cf95571"
18SRC_URI[sha256sum] = "a8fa3fe221e883ecb6afaa001652c96080a474b95e8d37c3bcf3e0c2ae618799"
19
20S = "${WORKDIR}/linx-${PV}/net/linx"
21
22inherit module
23
24module_do_compile_prepend () {
25
26 HAS_LOADABLE_MODULES=$(cat ${STAGING_KERNEL_DIR}/.config | grep "CONFIG_MODULES=y")
27
28 if [[ ${#HAS_LOADABLE_MODULES} -eq 0 ]] ; then
29 echo "The specified Linux kernel has no support for pluggable modules (CONFIG_MODULES=y). Enable it before baking this."
30 exit 1
31 fi
32
33 do_make_scripts
34}
diff --git a/recipes-enea/linx/linx.inc b/recipes-enea/linx/linx.inc
new file mode 100644
index 0000000..3160cfb
--- /dev/null
+++ b/recipes-enea/linx/linx.inc
@@ -0,0 +1,23 @@
1SUMMARY = "LINX for Linux fast IPC"
2DESCRIPTION = "LINX is a distributed communication protocol stack for transparent inter node and interprocess communication for a heterogeneous mix of systems."
3HOMEPAGE = "http://linx.sourceforge.net/"
4SECTION = "system/library"
5
6DEPENDS = "linux-libc-headers virtual/libc"
7RRECOMMENDS_${PN} = "linx-mod"
8
9SRC_URI = "http://linux.enea.com/linx/linx-${PV}.tar.gz \
10 file://liblinx_free_buf.patch"
11
12SRC_URI[md5sum] = "f6d7e103eee0807cacf73aa20cf95571"
13SRC_URI[sha256sum] = "a8fa3fe221e883ecb6afaa001652c96080a474b95e8d37c3bcf3e0c2ae618799"
14
15S = "${WORKDIR}/linx-${PV}"
16
17inherit autotools-brokensep
18
19do_install_append () {
20 mkdir -p ${D}/etc
21 install -m 644 ${S}/linxgw/linxgws/example.conf ${D}/etc/linxgws.conf
22}
23
diff --git a/recipes-enea/linx/linx_2.6.6.bb b/recipes-enea/linx/linx_2.6.6.bb
new file mode 100644
index 0000000..79f7ed7
--- /dev/null
+++ b/recipes-enea/linx/linx_2.6.6.bb
@@ -0,0 +1,6 @@
1require linx.inc
2LICENSE = "BSD"
3
4PR = "r0"
5
6LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
diff --git a/recipes-enea/list2mask/list2mask/run-ptest b/recipes-enea/list2mask/list2mask/run-ptest
new file mode 100644
index 0000000..9eb6c2f
--- /dev/null
+++ b/recipes-enea/list2mask/list2mask/run-ptest
@@ -0,0 +1,15 @@
1#!/bin/sh -eu
2
3mask=$(list2mask --cpus 2-3,5,7-8)
4
5if [ $? -ne 0 ]; then
6 echo "FAIL: list2mask failed to execute"
7 exit
8fi
9
10if [ "$mask" != "1ac" ]; then
11 echo "FAIL: list2mask returns mask '$mask', expected '1ac'"
12 exit
13fi
14
15echo "PASS: list2mask"
diff --git a/recipes-enea/list2mask/list2mask_1.0.bb b/recipes-enea/list2mask/list2mask_1.0.bb
new file mode 100644
index 0000000..d72bcda
--- /dev/null
+++ b/recipes-enea/list2mask/list2mask_1.0.bb
@@ -0,0 +1,25 @@
1SUMMARY = "Translate CPU list to a CPU mask"
2DESCRIPTION = "Translate CPU list given on command line to a hexadecimal CPU mask. Can use kernel boot parameters isolcpus or nohz_full as input as well as a list given on command line."
3SECTION = "utils"
4LICENSE = "BSD"
5LIC_FILES_CHKSUM = "file://LICENSE;md5=b52bab7a403562f36be803f11489f1a4"
6
7PR = "r1"
8
9RDEPENDS_${PN} = "bash"
10
11SRC_URI = "git://github.com/OpenEneaLinux/rt-tools.git;branch=master \
12 file://run-ptest \
13 "
14
15SRCREV = "db6eff03d80c04803fb146939c504b500e16fe2f"
16
17inherit ptest
18
19S = "${WORKDIR}/git"
20
21FILES_${PN} += "/bin/*"
22
23do_install() {
24 install -D ${S}/install/bin/${PN} ${D}/usr/bin/${PN}
25}
diff --git a/recipes-enea/partrt/partrt/run-ptest b/recipes-enea/partrt/partrt/run-ptest
new file mode 100644
index 0000000..b84af18
--- /dev/null
+++ b/recipes-enea/partrt/partrt/run-ptest
@@ -0,0 +1,9 @@
1#!/bin/sh
2
3./test_partition.py target -v
4
5if [ $? -eq 0 ]; then
6 echo "PASS: test_partition"
7else
8 echo "FAIL: test_partition"
9fi
diff --git a/recipes-enea/partrt/partrt_1.1.bb b/recipes-enea/partrt/partrt_1.1.bb
new file mode 100644
index 0000000..8113805
--- /dev/null
+++ b/recipes-enea/partrt/partrt_1.1.bb
@@ -0,0 +1,30 @@
1SUMMARY = "CPU partitioning tool"
2DESCRIPTION = "partrt is a tool for dividing a SMP Linux system into a real time domain and a non-real time domain."
3SECTION = "utils"
4LICENSE = "BSD"
5LIC_FILES_CHKSUM = "file://LICENSE;md5=b52bab7a403562f36be803f11489f1a4"
6
7RDEPENDS_${PN} = "bash"
8RDEPENDS_${PN}-ptest += "python"
9
10SRC_URI = "git://github.com/OpenEneaLinux/rt-tools.git;branch=master \
11 file://run-ptest \
12 "
13
14SRCREV = "cbe36a4946a2b3bb4927ca3b8ac800111ae9ce49"
15
16inherit ptest
17
18S = "${WORKDIR}/git"
19
20FILES_${PN} += "/bin/*"
21
22do_install() {
23 install -d ${D}/usr/bin
24 install ${S}/install/bin/partrt ${D}/usr/bin
25}
26
27do_install_ptest() {
28 install ${S}/test/test_partition.py ${D}${PTEST_PATH}
29 sed -i s/target/${MACHINE}/ ${D}${PTEST_PATH}/run-ptest
30}
diff --git a/recipes-extended/libuio/libuio/run-ptest b/recipes-extended/libuio/libuio/run-ptest
new file mode 100644
index 0000000..46c80b5
--- /dev/null
+++ b/recipes-extended/libuio/libuio/run-ptest
@@ -0,0 +1,3 @@
1#!/bin/sh
2echo "SKIP: no upstream test"
3
diff --git a/recipes-extended/libuio/libuio_git.bb b/recipes-extended/libuio/libuio_git.bb
new file mode 100644
index 0000000..216c678
--- /dev/null
+++ b/recipes-extended/libuio/libuio_git.bb
@@ -0,0 +1,31 @@
1SUMMARY = "libUIO"
2DESCRIPTION = "Provide a generic framework for handling devices in userspace."
3HOMEPAGE = "https://www.osadl.org/UIO.uio.0.html"
4SECTION = "libs"
5LICENSE = "GPLv2"
6
7LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
8
9SRCREV = "cc233857ba1613801e7218d07127d19608a99702"
10PR = "r0"
11PV = "1.0+git${SRCPV}"
12
13SRC_URI = "git://git.linutronix.de/projects/libUIO;protocol=git \
14 file://run-ptest"
15
16DEPENDS = "virtual/libc"
17
18S = "${WORKDIR}/git"
19
20inherit autotools
21
22do_configure_prepend () {
23 touch ${S}/ChangeLog
24}
25
26do_install_append () {
27 if [ "${PN}" = "${BPN}" -a ${PTEST_ENABLED} = "1" ]; then
28 mkdir -p ${D}${PTEST_PATH}
29 install -m 0755 ${WORKDIR}/run-ptest ${D}${PTEST_PATH}
30 fi
31}
diff --git a/recipes-extended/ltp/ltp_20140422.bbappend b/recipes-extended/ltp/ltp_20140422.bbappend
new file mode 100644
index 0000000..59a4341
--- /dev/null
+++ b/recipes-extended/ltp/ltp_20140422.bbappend
@@ -0,0 +1,3 @@
1do_compile_prepend () {
2 ( make -C ${B}/testcases/open_posix_testsuite generate-makefiles conformance-all tools-all functional-all stress-all )
3}
diff --git a/recipes-kernel/linux/enea-common.inc b/recipes-kernel/linux/enea-common.inc
new file mode 100644
index 0000000..5de0749
--- /dev/null
+++ b/recipes-kernel/linux/enea-common.inc
@@ -0,0 +1,12 @@
1FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
2
3def format_file_uri(d):
4 substrlist = d.getVar("ENEA_KERN_FRAGMENTS").split()
5 ostr = ''
6 for substr in substrlist:
7 ostr = ostr + " file://" + substr
8 return ostr.lstrip()
9
10ENEA_KERN_FRAGMENTS ??= ""
11
12SRC_URI += "${@format_file_uri(d)}"
diff --git a/recipes-kernel/linux/files/cfg/00001-embedded.cfg b/recipes-kernel/linux/files/cfg/00001-embedded.cfg
new file mode 100644
index 0000000..2f0e6bf
--- /dev/null
+++ b/recipes-kernel/linux/files/cfg/00001-embedded.cfg
@@ -0,0 +1 @@
CONFIG_EMBEDDED=y
diff --git a/recipes-kernel/linux/files/cfg/00002-root_nfs.cfg b/recipes-kernel/linux/files/cfg/00002-root_nfs.cfg
new file mode 100644
index 0000000..f8d8748
--- /dev/null
+++ b/recipes-kernel/linux/files/cfg/00002-root_nfs.cfg
@@ -0,0 +1,7 @@
1CONFIG_NETWORK_FILESYSTEMS=y
2CONFIG_NFS_USE_KERNEL_DNS=y
3CONFIG_ROOT_NFS=y
4CONFIG_NFS_FS=y
5CONFIG_NFS_V3=y
6CONFIG_NFS_V4=y
7CONFIG_NFSD=y
diff --git a/recipes-kernel/linux/files/cfg/00003-fuse.cfg b/recipes-kernel/linux/files/cfg/00003-fuse.cfg
new file mode 100644
index 0000000..43e95f2
--- /dev/null
+++ b/recipes-kernel/linux/files/cfg/00003-fuse.cfg
@@ -0,0 +1 @@
CONFIG_FUSE_FS=y
diff --git a/recipes-kernel/linux/files/cfg/00004-systemtap.cfg b/recipes-kernel/linux/files/cfg/00004-systemtap.cfg
new file mode 100644
index 0000000..88c278c
--- /dev/null
+++ b/recipes-kernel/linux/files/cfg/00004-systemtap.cfg
@@ -0,0 +1,6 @@
1CONFIG_DEBUG_INFO=y
2CONFIG_KPROBES=y
3CONFIG_RELAY=y
4CONFIG_DEBUG_FS=y
5CONFIG_MODULES=y
6CONFIG_MODULE_UNLOAD=y
diff --git a/recipes-kernel/linux/files/cfg/00005-pramfs.cfg b/recipes-kernel/linux/files/cfg/00005-pramfs.cfg
new file mode 100644
index 0000000..21aabc1
--- /dev/null
+++ b/recipes-kernel/linux/files/cfg/00005-pramfs.cfg
@@ -0,0 +1,4 @@
1CONFIG_MISC_FILESYSTEMS=y
2CONFIG_PRAMFS=y
3CONFIG_PRAMFS_XATTR=y
4CONFIG_PRAMFS_TEST_MODULE=m
diff --git a/recipes-kernel/linux/files/cfg/00006-with_modules.cfg b/recipes-kernel/linux/files/cfg/00006-with_modules.cfg
new file mode 100644
index 0000000..f4b3ae2
--- /dev/null
+++ b/recipes-kernel/linux/files/cfg/00006-with_modules.cfg
@@ -0,0 +1,5 @@
1CONFIG_MODULES=y
2# CONFIG_MODULE_FORCE_LOAD is not set
3CONFIG_MODULE_UNLOAD=y
4CONFIG_MODULE_FORCE_UNLOAD=y
5CONFIG_MODVERSIONS=y
diff --git a/recipes-kernel/linux/files/cfg/00007-oprofile.cfg b/recipes-kernel/linux/files/cfg/00007-oprofile.cfg
new file mode 100644
index 0000000..959e94b
--- /dev/null
+++ b/recipes-kernel/linux/files/cfg/00007-oprofile.cfg
@@ -0,0 +1,4 @@
1CONFIG_PROFILING=y
2CONFIG_OPROFILE=m
3CONFIG_PROFILE_ALL_BRANCHES=y
4CONFIG_OPROFILE_NMI_TIMER=y
diff --git a/recipes-kernel/linux/files/cfg/00008-uio_m.cfg b/recipes-kernel/linux/files/cfg/00008-uio_m.cfg
new file mode 100644
index 0000000..d82eee4
--- /dev/null
+++ b/recipes-kernel/linux/files/cfg/00008-uio_m.cfg
@@ -0,0 +1,3 @@
1CONFIG_UIO=m
2CONFIG_UIO_PDRV=m
3CONFIG_UIO_PDRV_GENIRQ=m
diff --git a/recipes-kernel/linux/files/cfg/00009-e500mc_debug.cfg b/recipes-kernel/linux/files/cfg/00009-e500mc_debug.cfg
new file mode 100644
index 0000000..eaddbaf
--- /dev/null
+++ b/recipes-kernel/linux/files/cfg/00009-e500mc_debug.cfg
@@ -0,0 +1,6 @@
1CONFIG_FSL_EMB_PERFMON=y
2CONFIG_FSL_EMB_PERF_EVENT=y
3CONFIG_FSL_EMB_PERF_EVENT_E500=y
4
5CONFIG_PPC_OF=y
6CONFIG_PPC_UDBG_16550=y
diff --git a/recipes-kernel/linux/files/cfg/00010-pramfs-bsc913x.cfg b/recipes-kernel/linux/files/cfg/00010-pramfs-bsc913x.cfg
new file mode 100644
index 0000000..1476224
--- /dev/null
+++ b/recipes-kernel/linux/files/cfg/00010-pramfs-bsc913x.cfg
@@ -0,0 +1,5 @@
1CONFIG_MISC_FILESYSTEMS=y
2CONFIG_PRAMFS=y
3CONFIG_PRAMFS_TEST=y
4CONFIG_TEST_MODULE=m
5
diff --git a/recipes-kernel/linux/files/cfg/00012-preempt.cfg b/recipes-kernel/linux/files/cfg/00012-preempt.cfg
new file mode 100644
index 0000000..43fd0bd
--- /dev/null
+++ b/recipes-kernel/linux/files/cfg/00012-preempt.cfg
@@ -0,0 +1,9 @@
1CONFIG_GENERIC_LOCKBREAK=y
2CONFIG_TREE_PREEMPT_RCU=y
3CONFIG_PREEMPT_RCU=y
4CONFIG_UNINLINE_SPIN_UNLOCK=y
5CONFIG_PREEMPT=y
6CONFIG_PREEMPT__LL=y
7CONFIG_PREEMPT_COUNT=y
8CONFIG_DEBUG_PREEMPT=y
9CONFIG_RCU_CPU_STALL_VERBOSE=y
diff --git a/recipes-kernel/linux/files/cfg/00013-localversion.cfg b/recipes-kernel/linux/files/cfg/00013-localversion.cfg
new file mode 100644
index 0000000..71481b4
--- /dev/null
+++ b/recipes-kernel/linux/files/cfg/00013-localversion.cfg
@@ -0,0 +1,2 @@
1CONFIG_LOCALVERSION_AUTO=n
2CONFIG_DEFAULT_HOSTNAME="(none)"
diff --git a/recipes-kernel/linux/files/cfg/00014-kgdb.cfg b/recipes-kernel/linux/files/cfg/00014-kgdb.cfg
new file mode 100644
index 0000000..f23cfe3
--- /dev/null
+++ b/recipes-kernel/linux/files/cfg/00014-kgdb.cfg
@@ -0,0 +1,9 @@
1#depends
2CONFIG_DEBUG_KERNEL=y
3CONFIG_EXPERIMENTAL=y
4
5#configs
6CONFIG_KGDB=y
7CONFIG_KGDB_SERIAL_CONSOLE=y
8CONFIG_KGDB_KDB=y
9CONFIG_MAGIC_SYSRQ=y
diff --git a/recipes-kernel/linux/files/cfg/00015-uio.cfg b/recipes-kernel/linux/files/cfg/00015-uio.cfg
new file mode 100644
index 0000000..b26593e
--- /dev/null
+++ b/recipes-kernel/linux/files/cfg/00015-uio.cfg
@@ -0,0 +1,3 @@
1CONFIG_UIO=y
2CONFIG_UIO_PDRV=y
3CONFIG_UIO_PDRV_GENIRQ=y
diff --git a/recipes-kernel/linux/files/cfg/00016-largefilessupport.cfg b/recipes-kernel/linux/files/cfg/00016-largefilessupport.cfg
new file mode 100644
index 0000000..b3fae70
--- /dev/null
+++ b/recipes-kernel/linux/files/cfg/00016-largefilessupport.cfg
@@ -0,0 +1 @@
CONFIG_LBDAF=y
diff --git a/recipes-kernel/linux/files/cfg/00017-preempt_keystone.cfg b/recipes-kernel/linux/files/cfg/00017-preempt_keystone.cfg
new file mode 100644
index 0000000..89aea43
--- /dev/null
+++ b/recipes-kernel/linux/files/cfg/00017-preempt_keystone.cfg
@@ -0,0 +1,7 @@
1CONFIG_TREE_PREEMPT_RCU=y
2CONFIG_PREEMPT_RCU=y
3CONFIG_UNINLINE_SPIN_UNLOCK=y
4CONFIG_PREEMPT=y
5CONFIG_PREEMPT_COUNT=y
6CONFIG_DEBUG_PREEMPT=y
7CONFIG_RCU_CPU_STALL_VERBOSE=y
diff --git a/recipes-kernel/linux/files/cfg/00018-rt.cfg b/recipes-kernel/linux/files/cfg/00018-rt.cfg
new file mode 100644
index 0000000..a15c930
--- /dev/null
+++ b/recipes-kernel/linux/files/cfg/00018-rt.cfg
@@ -0,0 +1,3 @@
1CONFIG_PREEMPT_RT_FULL=y
2CONFIG_HZ_1000=y
3CONFIG_HZ=1000
diff --git a/recipes-kernel/linux/files/cfg/00019-i2c.cfg b/recipes-kernel/linux/files/cfg/00019-i2c.cfg
new file mode 100644
index 0000000..8dbcc3c
--- /dev/null
+++ b/recipes-kernel/linux/files/cfg/00019-i2c.cfg
@@ -0,0 +1 @@
CONFIG_I2C_CHARDEV=y
diff --git a/recipes-kernel/linux/files/cfg/00021-bootlogd.cfg b/recipes-kernel/linux/files/cfg/00021-bootlogd.cfg
new file mode 100644
index 0000000..0d83d11
--- /dev/null
+++ b/recipes-kernel/linux/files/cfg/00021-bootlogd.cfg
@@ -0,0 +1,2 @@
1CONFIG_LEGACY_PTYS=y
2CONFIG_LEGACY_PTY_COUNT=256
diff --git a/recipes-kernel/linux/files/cfg/00022-mtd_tests.cfg b/recipes-kernel/linux/files/cfg/00022-mtd_tests.cfg
new file mode 100644
index 0000000..1477bd7
--- /dev/null
+++ b/recipes-kernel/linux/files/cfg/00022-mtd_tests.cfg
@@ -0,0 +1 @@
CONFIG_MTD_TESTS=m
diff --git a/recipes-kernel/linux/files/cfg/00023-ikconfig.cfg b/recipes-kernel/linux/files/cfg/00023-ikconfig.cfg
new file mode 100644
index 0000000..9e7666c
--- /dev/null
+++ b/recipes-kernel/linux/files/cfg/00023-ikconfig.cfg
@@ -0,0 +1,2 @@
1CONFIG_IKCONFIG=y
2CONFIG_IKCONFIG_PROC=y
diff --git a/recipes-kernel/linux/files/cfg/00024-preempt_romley-ivb.cfg b/recipes-kernel/linux/files/cfg/00024-preempt_romley-ivb.cfg
new file mode 100644
index 0000000..c9b47ac
--- /dev/null
+++ b/recipes-kernel/linux/files/cfg/00024-preempt_romley-ivb.cfg
@@ -0,0 +1,8 @@
1CONFIG_TREE_PREEMPT_RCU=y
2CONFIG_PREEMPT_RCU=y
3CONFIG_RCU_STALL_COMMON=y
4CONFIG_UNINLINE_SPIN_UNLOCK=y
5CONFIG_PREEMPT=y
6CONFIG_PREEMPT_COUNT=y
7CONFIG_DEBUG_PREEMPT=y
8CONFIG_RCU_CPU_STALL_VERBOSE=y
diff --git a/recipes-kernel/linux/files/cfg/00025-powertop.cfg b/recipes-kernel/linux/files/cfg/00025-powertop.cfg
new file mode 100644
index 0000000..655c101
--- /dev/null
+++ b/recipes-kernel/linux/files/cfg/00025-powertop.cfg
@@ -0,0 +1,13 @@
1CONFIG_EXPERT=y
2CONFIG_PROC_FS=y
3CONFIG_DEBUG_FS=y
4CONFIG_NO_HZ=y
5CONFIG_HIGH_RES_TIMERS=y
6CONFIG_HPET_TIMER=y
7CONFIG_CPU_FREQ=y
8CONFIG_CPU_FREQ_GOV_ONDEMAND=y
9CONFIG_TIMER_STATS=y
10CONFIG_PERF_EVENTS=y
11CONFIG_TRACEPOINTS=y
12CONFIG_TRACING=y
13CONFIG_X86_MSR=y
diff --git a/recipes-kernel/linux/files/cfg/00026-ltp.cfg b/recipes-kernel/linux/files/cfg/00026-ltp.cfg
new file mode 100644
index 0000000..e36a9c2
--- /dev/null
+++ b/recipes-kernel/linux/files/cfg/00026-ltp.cfg
@@ -0,0 +1,3 @@
1CONFIG_TUN=y
2CONFIG_KSM=y
3CONFIG_NUMA=y
diff --git a/recipes-kernel/linux/files/cfg/00027-lttng.cfg b/recipes-kernel/linux/files/cfg/00027-lttng.cfg
new file mode 100644
index 0000000..1334194
--- /dev/null
+++ b/recipes-kernel/linux/files/cfg/00027-lttng.cfg
@@ -0,0 +1,20 @@
1CONFIG_MODULES=y
2CONFIG_KALLSYMS=y
3CONFIG_HIGH_RES_TIMERS=y
4CONFIG_TRACEPOINTS=y
5CONFIG_FTRACE=y
6CONFIG_PERF_EVENTS=y
7CONFIG_EVENT_TRACING=y
8CONFIG_KPROBES=y
9CONFIG_KRETPROBES=y
10CONFIG_FUNCTION_TRACER=y
11CONFIG_FUNCTION_GRAPH_TRACER=y
12CONFIG_IRQSOFF_TRACER=y
13CONFIG_PREEMPT_TRACER=y
14CONFIG_SCHED_TRACER=y
15CONFIG_NOP_TRACER=y
16CONFIG_CONTEXT_SWITCH_TRACER=y
17CONFIG_GENERIC_TRACER=y
18CONFIG_TRACER_MAX_TRACE=y
19CONFIG_TRACER_SNAPSHOT=y
20CONFIG_STACK_TRACER=n
diff --git a/recipes-kernel/linux/files/cfg/00028-perf.cfg b/recipes-kernel/linux/files/cfg/00028-perf.cfg
new file mode 100644
index 0000000..5fddec0
--- /dev/null
+++ b/recipes-kernel/linux/files/cfg/00028-perf.cfg
@@ -0,0 +1,2 @@
1CONFIG_CGROUP_PERF=y
2CONFIG_PERF_EVENTS=y
diff --git a/recipes-kernel/linux/files/cfg/00029-devtmpfs.cfg b/recipes-kernel/linux/files/cfg/00029-devtmpfs.cfg
new file mode 100644
index 0000000..5e9cf98
--- /dev/null
+++ b/recipes-kernel/linux/files/cfg/00029-devtmpfs.cfg
@@ -0,0 +1,2 @@
1CONFIG_DEVTMPFS=y
2CONFIG_DEVTMPFS_MOUNT=y
diff --git a/recipes-kernel/linux/files/cfg/00030-latencytop.cfg b/recipes-kernel/linux/files/cfg/00030-latencytop.cfg
new file mode 100644
index 0000000..0a42694
--- /dev/null
+++ b/recipes-kernel/linux/files/cfg/00030-latencytop.cfg
@@ -0,0 +1 @@
CONFIG_LATENCYTOP=y
diff --git a/recipes-kernel/linux/files/cfg/00031-igb_drv.cfg b/recipes-kernel/linux/files/cfg/00031-igb_drv.cfg
new file mode 100644
index 0000000..3498fd0
--- /dev/null
+++ b/recipes-kernel/linux/files/cfg/00031-igb_drv.cfg
@@ -0,0 +1,3 @@
1CONFIG_IGB=y
2CONFIG_IGB_DCA=y
3CONFIG_IGBVF=y
diff --git a/recipes-kernel/linux/files/cfg/00032-dpa.cfg b/recipes-kernel/linux/files/cfg/00032-dpa.cfg
new file mode 100644
index 0000000..c873cd5
--- /dev/null
+++ b/recipes-kernel/linux/files/cfg/00032-dpa.cfg
@@ -0,0 +1 @@
CONFIG_FSL_FM_MAX_FRAME_SIZE=9600
diff --git a/recipes-kernel/linux/files/cfg/00033-kprobes.cfg b/recipes-kernel/linux/files/cfg/00033-kprobes.cfg
new file mode 100644
index 0000000..e24be27
--- /dev/null
+++ b/recipes-kernel/linux/files/cfg/00033-kprobes.cfg
@@ -0,0 +1 @@
CONFIG_KPROBES=y
diff --git a/recipes-kernel/linux/files/cfg/00034-cpusets.cfg b/recipes-kernel/linux/files/cfg/00034-cpusets.cfg
new file mode 100644
index 0000000..ec8fad4
--- /dev/null
+++ b/recipes-kernel/linux/files/cfg/00034-cpusets.cfg
@@ -0,0 +1,3 @@
1CONFIG_CGROUPS=y
2CONFIG_CPUSETS=y
3CONFIG_CGROUP_PERF=y
diff --git a/recipes-kernel/linux/files/cfg/00035-netfilter.cfg b/recipes-kernel/linux/files/cfg/00035-netfilter.cfg
new file mode 100644
index 0000000..2dfdba9
--- /dev/null
+++ b/recipes-kernel/linux/files/cfg/00035-netfilter.cfg
@@ -0,0 +1,113 @@
1CONFIG_NETFILTER=y
2CONFIG_IP_NF_IPTABLES=y
3CONFIG_NETFILTER_XT_TARGET_NFQUEUE=y
4CONFIG_BRIDGE_NF_EBTABLES=y
5CONFIG_IP_VS=y
6CONFIG_IP_NF_FILTER=y
7CONFIG_IP_NF_TARGET_ULOG=y
8CONFIG_IP_NF_IPTABLES=y
9#
10# Not directly sourced via a kernel type but via an external bb
11#
12CONFIG_NETFILTER=y
13CONFIG_NETFILTER_ADVANCED=y
14
15#
16# Core Netfilter Configuration
17#
18CONFIG_NETFILTER_NETLINK=m
19CONFIG_NETFILTER_NETLINK_QUEUE=m
20CONFIG_NETFILTER_NETLINK_LOG=m
21CONFIG_NF_CONNTRACK=m
22CONFIG_NF_CONNTRACK_MARK=y
23CONFIG_NF_CT_PROTO_GRE=m
24CONFIG_NF_CT_PROTO_SCTP=m
25CONFIG_NF_CT_PROTO_UDPLITE=m
26CONFIG_NF_CONNTRACK_AMANDA=m
27CONFIG_NF_CONNTRACK_FTP=m
28CONFIG_NF_CONNTRACK_H323=m
29CONFIG_NF_CONNTRACK_IRC=m
30CONFIG_NF_CONNTRACK_NETBIOS_NS=m
31CONFIG_NF_CONNTRACK_PPTP=m
32CONFIG_NF_CONNTRACK_SANE=m
33CONFIG_NF_CONNTRACK_SIP=m
34CONFIG_NF_CONNTRACK_TFTP=m
35CONFIG_NF_CT_NETLINK=m
36CONFIG_NETFILTER_XTABLES=m
37CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
38CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
39CONFIG_NETFILTER_XT_TARGET_DSCP=m
40CONFIG_NETFILTER_XT_TARGET_HL=m
41CONFIG_NETFILTER_XT_TARGET_MARK=m
42CONFIG_NETFILTER_XT_TARGET_NFLOG=m
43CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
44CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
45CONFIG_NETFILTER_XT_TARGET_TRACE=m
46CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
47CONFIG_NETFILTER_XT_MATCH_COMMENT=m
48CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
49CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
50CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
51CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
52CONFIG_NETFILTER_XT_MATCH_DCCP=m
53CONFIG_NETFILTER_XT_MATCH_DSCP=m
54CONFIG_NETFILTER_XT_MATCH_ESP=m
55CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
56CONFIG_NETFILTER_XT_MATCH_HELPER=m
57CONFIG_NETFILTER_XT_MATCH_HL=m
58CONFIG_NETFILTER_XT_MATCH_LENGTH=m
59CONFIG_NETFILTER_XT_MATCH_LIMIT=m
60CONFIG_NETFILTER_XT_MATCH_MAC=m
61CONFIG_NETFILTER_XT_MATCH_MARK=m
62CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
63CONFIG_NETFILTER_XT_MATCH_POLICY=m
64CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
65CONFIG_NETFILTER_XT_MATCH_QUOTA=m
66CONFIG_NETFILTER_XT_MATCH_REALM=m
67CONFIG_NETFILTER_XT_MATCH_SCTP=m
68CONFIG_NETFILTER_XT_MATCH_STATE=m
69CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
70CONFIG_NETFILTER_XT_MATCH_STRING=m
71CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
72CONFIG_NETFILTER_XT_MATCH_U32=m
73
74#
75# IP: Netfilter Configuration
76#
77CONFIG_NF_DEFRAG_IPV4=m
78CONFIG_NF_CONNTRACK_IPV4=m
79CONFIG_NF_CONNTRACK_PROC_COMPAT=y
80CONFIG_IP_NF_IPTABLES=m
81CONFIG_IP_NF_MATCH_AH=m
82CONFIG_IP_NF_MATCH_ECN=m
83CONFIG_IP_NF_MATCH_TTL=m
84CONFIG_IP_NF_FILTER=m
85CONFIG_IP_NF_TARGET_REJECT=m
86CONFIG_IP_NF_TARGET_ULOG=m
87CONFIG_NF_NAT=m
88CONFIG_NF_NAT_NEEDED=y
89CONFIG_NF_NAT_IPV4=m
90CONFIG_IP_NF_TARGET_MASQUERADE=m
91CONFIG_IP_NF_TARGET_NETMAP=m
92CONFIG_IP_NF_TARGET_REDIRECT=m
93CONFIG_NF_NAT_SNMP_BASIC=m
94CONFIG_NF_NAT_PROTO_GRE=m
95CONFIG_NF_NAT_PROTO_UDPLITE=m
96CONFIG_NF_NAT_PROTO_SCTP=m
97CONFIG_NF_NAT_FTP=m
98CONFIG_NF_NAT_IRC=m
99CONFIG_NF_NAT_TFTP=m
100CONFIG_NF_NAT_AMANDA=m
101CONFIG_NF_NAT_PPTP=m
102CONFIG_NF_NAT_H323=m
103CONFIG_NF_NAT_SIP=m
104CONFIG_IP_NF_MANGLE=m
105CONFIG_IP_NF_TARGET_CLUSTERIP=m
106CONFIG_IP_NF_TARGET_ECN=m
107CONFIG_IP_NF_TARGET_TTL=m
108CONFIG_IP_NF_RAW=m
109CONFIG_IP_NF_ARPTABLES=m
110CONFIG_IP_NF_ARPFILTER=m
111CONFIG_IP_NF_ARP_MANGLE=m
112
113CONFIG_NET_SCHED=y
diff --git a/recipes-kernel/linux/files/cfg/00036-ppc_virt.cfg b/recipes-kernel/linux/files/cfg/00036-ppc_virt.cfg
new file mode 100644
index 0000000..e41d2e9
--- /dev/null
+++ b/recipes-kernel/linux/files/cfg/00036-ppc_virt.cfg
@@ -0,0 +1,5 @@
1CONFIG_VIRTUALIZATION=y
2CONFIG_KVM_E500MC=y
3CONFIG_BRIDGE=y
4CONFIG_TUN=y
5CONFIG_PCI_STUB=y
diff --git a/recipes-kernel/linux/files/cfg/00037-ppc_lxc.cfg b/recipes-kernel/linux/files/cfg/00037-ppc_lxc.cfg
new file mode 100644
index 0000000..d4e5f8f
--- /dev/null
+++ b/recipes-kernel/linux/files/cfg/00037-ppc_lxc.cfg
@@ -0,0 +1,30 @@
1CONFIG_MEMCG=y
2CONFIG_MEMCG_KMEM=y
3CONFIG_CGROUP_DEVICE=y
4CONFIG_CPUSETS=y
5CONFIG_PROC_PID_CPUSET=y
6CONFIG_RESOURCE_COUNTERS=y
7CONFIG_CGROUP_MEM_RES_CTLR=y
8CONFIG_CGROUP_SCHED=y
9CONFIG_FAIR_GROUP_SCHED=y
10CONFIG_RT_GROUP_SCHED=y
11CONFIG_CHECKPOINT_RESTORE=y
12CONFIG_NAMESPACES=y
13CONFIG_UTS_NS=y
14CONFIG_IPC_NS=y
15CONFIG_USER_NS=n
16CONFIG_PID_NS=y
17CONFIG_NET_NS=y
18CONFIG_SECCOMP=y
19CONFIG_SECURITY_APPARMOR=y
20CONFIG_CGROUPS=y
21
22CONFIG_CLS_CGROUP=m
23CONFIG_BLK_CGROUP=m
24CONFIG_NETPRIO_CGROUP=m
25
26CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
27CONFIG_VETH=y
28CONFIG_MACVLAN=y
29CONFIG_CGROUP_CPUACCT=y
30
diff --git a/recipes-kernel/linux/files/cfg/00038-hotplug_cpu.cfg b/recipes-kernel/linux/files/cfg/00038-hotplug_cpu.cfg
new file mode 100644
index 0000000..3704a7a
--- /dev/null
+++ b/recipes-kernel/linux/files/cfg/00038-hotplug_cpu.cfg
@@ -0,0 +1 @@
CONFIG_HOTPLUG_CPU=y
diff --git a/recipes-kernel/linux/files/cfg/00039-nohz.cfg b/recipes-kernel/linux/files/cfg/00039-nohz.cfg
new file mode 100644
index 0000000..4cf684f
--- /dev/null
+++ b/recipes-kernel/linux/files/cfg/00039-nohz.cfg
@@ -0,0 +1,9 @@
1CONFIG_NO_HZ_COMMON=y
2CONFIG_NO_HZ_FULL=y
3CONFIG_VIRT_CPU_ACCOUNTING=y
4CONFIG_VIRT_CPU_ACCOUNTING_GEN=y
5CONFIG_CONTEXT_TRACKING=y
6CONFIG_RCU_USER_QS=y
7CONFIG_RCU_NOCB_CPU=y
8CONFIG_RCU_NOCB_CPU_ALL=y
9CONFIG_LOCKUP_DETECTOR=n
diff --git a/recipes-kernel/linux/files/cfg/00040-9p.cfg b/recipes-kernel/linux/files/cfg/00040-9p.cfg
new file mode 100644
index 0000000..4b9b161
--- /dev/null
+++ b/recipes-kernel/linux/files/cfg/00040-9p.cfg
@@ -0,0 +1,5 @@
1CONFIG_NET_9P=y
2CONFIG_NET_9P_VIRTIO=y
3CONFIG_NET_9P_DEBUG=y
4CONFIG_9P_FS=y
5CONFIG_9P_FS_POSIX_ACL=y
diff --git a/recipes-kernel/linux/files/cfg/00041-virtio.cfg b/recipes-kernel/linux/files/cfg/00041-virtio.cfg
new file mode 100644
index 0000000..41f0dcd
--- /dev/null
+++ b/recipes-kernel/linux/files/cfg/00041-virtio.cfg
@@ -0,0 +1,8 @@
1CONFIG_VIRTIO_PCI=y
2CONFIG_VIRTIO_BALLOON=y
3CONFIG_VIRTIO_BLK=y
4CONFIG_VIRTIO_NET=y
5CONFIG_VIRTIO=y
6CONFIG_VIRTIO_RING=y
7CONFIG_VIRTIO_MMIO=y
8CONFIG_VIRTIO_CONSOLE=y
diff --git a/recipes-kernel/linux/files/cfg/00042-vhost.cfg b/recipes-kernel/linux/files/cfg/00042-vhost.cfg
new file mode 100644
index 0000000..87a6004
--- /dev/null
+++ b/recipes-kernel/linux/files/cfg/00042-vhost.cfg
@@ -0,0 +1,2 @@
1CONFIG_VHOST_NET=y
2CONFIG_PCI_MSI=y
diff --git a/recipes-kernel/linux/files/cfg/00043-containers.cfg b/recipes-kernel/linux/files/cfg/00043-containers.cfg
new file mode 100644
index 0000000..aac7304
--- /dev/null
+++ b/recipes-kernel/linux/files/cfg/00043-containers.cfg
@@ -0,0 +1,18 @@
1CONFIG_NAMESPACES=y
2CONFIG_UTS_NS=y
3CONFIG_IPC_NS=y
4CONFIG_USER_NS=y
5CONFIG_PID_NS=y
6CONFIG_NET_NS=y
7CONFIG_CGROUP_FREEZER=y
8CONFIG_CGROUP_DEVICE=y
9CONFIG_CGROUP_CPUACCT=y
10CONFIG_RESOURCE_COUNTERS=y
11CONFIG_CGROUP_SCHED=y
12CONFIG_BLK_CGROUP=y
13CONFIG_CPUSETS=y
14CONFIG_MEMCG=y
15CONFIG_MEMCG_KMEM=y
16CONFIG_VETH=y
17CONFIG_MACVLAN=y
18CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
diff --git a/recipes-kernel/linux/files/cfg/00044-numa.cfg b/recipes-kernel/linux/files/cfg/00044-numa.cfg
new file mode 100644
index 0000000..e480f0c
--- /dev/null
+++ b/recipes-kernel/linux/files/cfg/00044-numa.cfg
@@ -0,0 +1 @@
CONFIG_NUMA=y
diff --git a/recipes-kernel/linux/files/cfg/00045-pci-stub.cfg b/recipes-kernel/linux/files/cfg/00045-pci-stub.cfg
new file mode 100644
index 0000000..04aec57
--- /dev/null
+++ b/recipes-kernel/linux/files/cfg/00045-pci-stub.cfg
@@ -0,0 +1 @@
CONFIG_PCI_STUB=m
diff --git a/recipes-kernel/linux/files/cfg/00046-sata.cfg b/recipes-kernel/linux/files/cfg/00046-sata.cfg
new file mode 100644
index 0000000..0a30897
--- /dev/null
+++ b/recipes-kernel/linux/files/cfg/00046-sata.cfg
@@ -0,0 +1,5 @@
1#enable SATA support
2CONFIG_ATA=y
3CONFIG_SATA_AHCI=y
4CONFIG_SATA_AHCI_PLATFORM=y
5CONFIG_SATA_PMP=y
diff --git a/recipes-kernel/linux/files/cfg/00047-bridge.cfg b/recipes-kernel/linux/files/cfg/00047-bridge.cfg
new file mode 100644
index 0000000..873cbf3
--- /dev/null
+++ b/recipes-kernel/linux/files/cfg/00047-bridge.cfg
@@ -0,0 +1 @@
CONFIG_BRIDGE=y
diff --git a/recipes-kernel/linux/files/cfg/00048-containers_no_user_ns.cfg b/recipes-kernel/linux/files/cfg/00048-containers_no_user_ns.cfg
new file mode 100644
index 0000000..7b0b6f6
--- /dev/null
+++ b/recipes-kernel/linux/files/cfg/00048-containers_no_user_ns.cfg
@@ -0,0 +1,18 @@
1CONFIG_NAMESPACES=y
2CONFIG_UTS_NS=y
3CONFIG_IPC_NS=y
4CONFIG_USER_NS=n
5CONFIG_PID_NS=y
6CONFIG_NET_NS=y
7CONFIG_CGROUP_FREEZER=y
8CONFIG_CGROUP_DEVICE=y
9CONFIG_CGROUP_CPUACCT=y
10CONFIG_RESOURCE_COUNTERS=y
11CONFIG_CGROUP_SCHED=y
12CONFIG_BLK_CGROUP=y
13CONFIG_CPUSETS=y
14CONFIG_MEMCG=y
15CONFIG_MEMCG_KMEM=y
16CONFIG_VETH=y
17CONFIG_MACVLAN=y
18CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
diff --git a/recipes-kernel/linux/files/cfg/00049-gpio.cfg b/recipes-kernel/linux/files/cfg/00049-gpio.cfg
new file mode 100644
index 0000000..9ea98eb
--- /dev/null
+++ b/recipes-kernel/linux/files/cfg/00049-gpio.cfg
@@ -0,0 +1,2 @@
1CONFIG_GPIO_SYSFS=y
2CONFIG_GPIO_GENERIC=y
diff --git a/recipes-kernel/linux/files/cfg/00050-nfsdv4.cfg b/recipes-kernel/linux/files/cfg/00050-nfsdv4.cfg
new file mode 100644
index 0000000..fb0d0b2
--- /dev/null
+++ b/recipes-kernel/linux/files/cfg/00050-nfsdv4.cfg
@@ -0,0 +1,7 @@
1CONFIG_NFSD_V4=y
2CONFIG_NFSD=y
3CONFIG_INET=y
4CONFIG_NET=y
5CONFIG_NETWORK_FILESYSTEMS =y
6CONFIG_FILE_LOCKING=y
7CONFIG_PROC_FS=y
diff --git a/recipes-kernel/linux/files/cfg/00051-sctp.cfg b/recipes-kernel/linux/files/cfg/00051-sctp.cfg
new file mode 100644
index 0000000..6182ef2
--- /dev/null
+++ b/recipes-kernel/linux/files/cfg/00051-sctp.cfg
@@ -0,0 +1,4 @@
1CONFIG_NET=y
2CONFIG_INET=y
3CONFIG_IPV6=y
4CONFIG_IP_SCTP=y
diff --git a/recipes-kernel/linux/files/cfg/README b/recipes-kernel/linux/files/cfg/README
new file mode 100644
index 0000000..abfff1e
--- /dev/null
+++ b/recipes-kernel/linux/files/cfg/README
@@ -0,0 +1,9 @@
1In ordert to add a configuration fragment contained in a .cfg file,
2please follow these steps:
3
41. change to the directory that contains this README file.
52. copy your fragment file here and make sure your file has a .cfg extension
64. run the indexcfgs.pl utility from this directory to
7 index your file.
85. check for the new name and use it to further reference your renamed
9 cfg file.
diff --git a/recipes-kernel/linux/files/cfg/indexcfgs.pl b/recipes-kernel/linux/files/cfg/indexcfgs.pl
new file mode 100755
index 0000000..96cd78a
--- /dev/null
+++ b/recipes-kernel/linux/files/cfg/indexcfgs.pl
@@ -0,0 +1,167 @@
1#!/usr/bin/perl -w
2#----------------------------------------------------------------------
3# indexcfgs.pl - utility to rename files in the current directory to an
4# indexed format so that a unique index number is
5# prepended to the current file name. The naming
6# template is:
7#
8# DDDDD-<name-or-short-description.cfg>
9#
10# Usage: create the *.cfg file you need, with any name and .cfg
11# extension. Run this script and it will automatically
12# rename your file to the indexed format above.
13#
14# Author: Daniel BORNAZ <daniel.bornaz@enea.com
15# Date: 2014/04/09
16# Version: 1.0
17#
18#----------------------------------------------------------------------
19
20use strict;
21use warnings;
22use Getopt::Long;
23
24my %args;
25my $counter_indexed=0;
26my $filetype="*.cfg";
27my $counter_queue=0;
28my $max_index=0;
29my $dir="./";
30my @files;
31my @queue;
32my $opt_strip;
33my $opt_help;
34
35
36#--------------------------------------------------------------------
37# strip the index from the file name
38#
39sub removeindex($){
40 my $tmpname=shift;
41 my $newname;
42
43 if($tmpname=~/^\d{5}\-.*cfg/ig){
44 $newname=substr($tmpname,6);
45 system("mv",$tmpname,$newname) == 0
46 or die "Cannot rename $tmpname to $newname: $?";
47 }else{
48 return 0;
49 }
50}
51
52#--------------------------------------------------------------------
53# get the indexed file name, return the index
54#
55sub decodeindex($){
56 my $tmpname=shift;
57
58 if($tmpname=~/^\d{5}\-.*cfg/ig){
59 return substr($tmpname,0,5);
60 }else{
61 return 0;
62 }
63}
64
65#--------------------------------------------------------------------
66# remove index from cfg files in current directory
67#
68sub strip_file_names {
69 print "Start removing index from $filetype files in $dir\n";
70
71 opendir(DIR,$dir) or die $!;
72
73 while( my $file=readdir(DIR)){
74 # retrieve cfg files (*.cfg)
75 if($file=~/cfg$/gi){
76 removeindex($file);
77 }
78 }
79
80 closedir(DIR);
81}
82
83#--------------------------------------------------------------------
84# index current directory cfg files
85#
86sub index_file_names {
87 print "Start indexing $filetype files in $dir\n";
88
89 opendir(DIR,$dir) or die $!;
90
91 while( my $file=readdir(DIR)){
92 # retrieve cfg files (*.cfg)
93 if($file=~/cfg$/gi){
94 @files=(@files,$file);
95 }
96 }
97
98 closedir(DIR);
99
100
101# separate indexed file names from the ones to be processed
102 foreach my $file (@files){
103 if($file=~/^\d{5}\-.*cfg/){
104 my $crt_index=0;
105
106 $crt_index=decodeindex($file);
107
108 if($crt_index > $max_index){
109 $max_index=$crt_index;
110 }
111
112 $counter_indexed++;
113 }else{
114 @queue=($file,@queue);
115 $counter_queue++;
116 }
117 }
118
119# set the next index number
120 $max_index++;
121
122# index the enqueued file names
123 foreach my $file (@queue){
124 my $newname;
125
126 $newname=sprintf("%05d-%s",$max_index++,$file);
127 system("mv",$file,$newname) == 0
128 or die "Cannot rename $file to $newname: $?";
129 }
130
131 printf("$counter_queue files indexed, ".
132 "$counter_indexed files already indexed. Done.\n");
133}
134
135#--------------------------------------------------------------------
136# display usage help
137#
138sub print_usage {
139 print "\n";
140 print " ./indexcfgs.pl [--strip]\n";
141 print " no params: Index the *.cfg file names in current dir\n";
142 print " to DDDDD-<original_file_name.cfg>\n";
143 print " --strip: Strips the index from the *.cfg file names ".
144 "in current dir\n";
145 print "\n";
146
147 exit 0;
148}
149
150
151#--- Program starts here --------------------------------------------
152GetOptions(\%args,
153 "strip" => \$opt_strip,
154 "help" => \$opt_help,
155);
156
157if(defined($opt_help)){
158 print_usage();
159}
160
161if(defined($opt_strip)){
162 strip_file_names();
163}else{
164 index_file_names();
165}
166
167
diff --git a/recipes-kernel/perf/perf.bbappend b/recipes-kernel/perf/perf.bbappend
new file mode 100644
index 0000000..864f938
--- /dev/null
+++ b/recipes-kernel/perf/perf.bbappend
@@ -0,0 +1,4 @@
1#
2# added the python-math and python-sqlite3 modules, required by perf
3#
4SCRIPTING_RDEPENDS = "${@perf_feature_enabled('perf-scripting', 'perl perl-modules python python-math python-sqlite3', '',d)}"
diff --git a/recipes-kernel/pramfs-init/files/pramfs_init b/recipes-kernel/pramfs-init/files/pramfs_init
new file mode 100644
index 0000000..64c7bc2
--- /dev/null
+++ b/recipes-kernel/pramfs-init/files/pramfs_init
@@ -0,0 +1,80 @@
1#!/bin/sh
2#set -e
3
4echo "Setting up pramfs"
5
6# ensure the required binaries are present
7#[ -x /sbin/modprobe ] || exit 1
8[ -x /bin/mount ] || exit 1
9[ -x /bin/grep ] || exit 1
10[ -x /bin/cat ] || exit 1
11[ -x /bin/sed ] || exit 1
12
13#modprobe pramfs
14mkdir -p /mnt/pram
15
16case "$1" in
17 start)
18 # Figure out RAM for pramfs
19 # This requires a kernel cmdline resevation of PRAMFS physmem
20 # in format memmap=16M$0x7000000
21 grep memmap /proc/cmdline > /dev/null
22 if [ $? -eq 0 ]; then
23 addr=$(sed 's/.*memmap=\([^ ]*\)\$\([^ ]*\).*/\2/' < /proc/cmdline)
24 size=$(sed 's/.*memmap=\([^ ]*\)\$\([^ ]*\).*/\1/' < /proc/cmdline)
25
26 if [ -d /seed ]; then
27 echo "Init new pramfs"
28 mount -t pramfs -o physaddr=$addr,init=$size,bs=1k none /mnt/pram > /dev/null 2>&1
29 cp /seed/* /mnt/pram
30 echo "0" > /mnt/pram/kcount
31 else
32 echo "Mounting old pramfs"
33 mount -t pramfs -o physaddr=$addr,bs=1k none /mnt/pram > /dev/null 2>&1
34 if [ $? -ne 0 ]; then
35 echo "Mounting old pramfs failed, zeroing"
36 mount -t pramfs -o physaddr=$addr,init=$size,bs=1k none /mnt/pram > /dev/null 2>&1
37 if [ $? -ne 0 ]; then
38 echo "All attempts to mount pramfs has failed, exiting"
39 rm -fr /mnt/pram
40 exit 1
41 fi
42 echo "0" > /mnt/pram/kcount
43 fi
44 fi
45
46# echo "* Setting up kexec"
47# kexec -l --reuse-cmdline --initrd=/mnt/pram/initramfs.cpio.gz /mnt/pram/vmlinuz
48
49 # Calculate number of boots
50 export KCOUNT=$(expr $(cat /mnt/pram/kcount) + 1)
51 echo $KCOUNT > /mnt/pram/kcount
52 else
53 KCOUNT="no-mem"
54 echo "Can't find memory area for pram fs"
55 rm -fr /mnt/pram
56 fi
57
58 echo "PRAMFS boot count: $KCOUNT"
59# echo "kexec -e to kexec and keep persistent files in /mnt/pram"
60 ;;
61 stop)
62 echo
63 ;;
64 restart)
65 $0 stop
66 $0 start
67 ;;
68 *)
69 echo "usage: $0 { start | stop | restart }" >&2
70 exit 1
71 ;;
72esac
73
74exit 0
75
76
77
78
79
80
diff --git a/recipes-kernel/pramfs-init/pramfs-init_1.0.bb b/recipes-kernel/pramfs-init/pramfs-init_1.0.bb
new file mode 100644
index 0000000..d9b36a7
--- /dev/null
+++ b/recipes-kernel/pramfs-init/pramfs-init_1.0.bb
@@ -0,0 +1,20 @@
1DESCRIPTION = "Pramfs init scripts"
2SECTION = "init"
3LICENSE = "BSD"
4SRC_URI = "file://pramfs_init"
5PR = "r0"
6
7LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690 \
8 file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
9
10PACKAGE_ARCH = "all"
11
12do_install() {
13 install -d ${D}${sysconfdir}/init.d/
14 install -m 0755 ${WORKDIR}/pramfs_init ${D}${sysconfdir}/init.d/pramfs_init
15}
16
17inherit update-rc.d
18
19INITSCRIPT_NAME = "pramfs_init"
20INITSCRIPT_PARAMS = "start 99 5 2 . stop 19 0 1 6 ."