From 38929ed6a4630d2b8f3efa00616800b4012ea0d7 Mon Sep 17 00:00:00 2001 From: Adrian Dudau Date: Wed, 28 Oct 2015 13:30:10 +0100 Subject: Initial commit result of splitting up meta-enea Signed-off-by: Adrian Dudau --- COPYING.MIT | 17 + README | 64 ++ conf/distro/enea.conf | 28 + conf/layer.conf | 12 + images/enea-image-base.bb | 5 + images/enea-image-common.inc | 11 + images/enea-image-featured.bb | 76 ++ recipes-connectivity/connman/connman_1.25.bbappend | 5 + .../files/0001-added-noipconfig-option.patch | 353 +++++++ recipes-connectivity/connman/files/connman | 83 ++ recipes-core/busybox/busybox_1.22.1.bbappend | 19 + .../nativesdk-packagegroup-sdk-host.bbappend | 1 + ...ackagegroup-core-standalone-sdk-target.bbappend | 1 + .../packagegroups/packagegroup-enea-bench.bb | 14 + .../packagegroups/packagegroup-enea-core-boot.bb | 65 ++ .../packagegroups/packagegroup-enea-ddt.bb | 22 + .../packagegroups/packagegroup-enea-debug.bb | 35 + .../packagegroups/packagegroup-enea-ptest.bb | 118 +++ .../packagegroups/packagegroup-enea-rt-tools.bb | 13 + .../packagegroups/packagegroup-enea-sys.bb | 18 + recipes-core/sysvinit/sysvinit_2.88dsf.bbappend | 3 + recipes-devtools/binutils/binutils-2.24.inc | 6 + .../binutils/binutils-cross-canadian_2.24.bbappend | 1 + .../binutils/binutils-cross_2.24.bbappend | 1 + .../binutils/binutils-crosssdk_2.24.bbappend | 1 + recipes-devtools/binutils/binutils_2.24.bbappend | 1 + ...rt-overflow-on-PowerPC64-h-and-ha-relocat.patch | 1087 ++++++++++++++++++++ .../e2fsprogs/e2fsprogs_1.42.9.bbappend | 1 + .../files/disable-power-isa-2.07-check.patch | 48 + recipes-devtools/valgrind/valgrind_3.9.0.bbappend | 30 + recipes-enea/count-ticks/count-ticks/run-ptest | 23 + recipes-enea/count-ticks/count-ticks_1.1.bb | 25 + .../linx/linx-2.6.6/liblinx_free_buf.patch | 22 + recipes-enea/linx/linx-2.6.6/liblinx_nobase.patch | 29 + recipes-enea/linx/linx-2.6.6/linxcfg_nobase.patch | 38 + .../linx/linx-mod-2.6.6/linx-kernel-modules.patch | 288 ++++++ .../support-for-3.11-kernel-versions.patch | 206 ++++ .../linx-mod-2.6.6/support-for-3.12-kernels.patch | 24 + .../linx-mod-2.6.6/support-for-3.15-kernels.patch | 60 ++ recipes-enea/linx/linx-mod_2.6.6.bb | 34 + recipes-enea/linx/linx.inc | 23 + recipes-enea/linx/linx_2.6.6.bb | 6 + recipes-enea/list2mask/list2mask/run-ptest | 15 + recipes-enea/list2mask/list2mask_1.0.bb | 25 + recipes-enea/partrt/partrt/run-ptest | 9 + recipes-enea/partrt/partrt_1.1.bb | 30 + recipes-extended/libuio/libuio/run-ptest | 3 + recipes-extended/libuio/libuio_git.bb | 31 + recipes-extended/ltp/ltp_20140422.bbappend | 3 + recipes-kernel/linux/enea-common.inc | 12 + recipes-kernel/linux/files/cfg/00001-embedded.cfg | 1 + recipes-kernel/linux/files/cfg/00002-root_nfs.cfg | 7 + recipes-kernel/linux/files/cfg/00003-fuse.cfg | 1 + recipes-kernel/linux/files/cfg/00004-systemtap.cfg | 6 + recipes-kernel/linux/files/cfg/00005-pramfs.cfg | 4 + .../linux/files/cfg/00006-with_modules.cfg | 5 + recipes-kernel/linux/files/cfg/00007-oprofile.cfg | 4 + recipes-kernel/linux/files/cfg/00008-uio_m.cfg | 3 + .../linux/files/cfg/00009-e500mc_debug.cfg | 6 + .../linux/files/cfg/00010-pramfs-bsc913x.cfg | 5 + recipes-kernel/linux/files/cfg/00012-preempt.cfg | 9 + .../linux/files/cfg/00013-localversion.cfg | 2 + recipes-kernel/linux/files/cfg/00014-kgdb.cfg | 9 + recipes-kernel/linux/files/cfg/00015-uio.cfg | 3 + .../linux/files/cfg/00016-largefilessupport.cfg | 1 + .../linux/files/cfg/00017-preempt_keystone.cfg | 7 + recipes-kernel/linux/files/cfg/00018-rt.cfg | 3 + recipes-kernel/linux/files/cfg/00019-i2c.cfg | 1 + recipes-kernel/linux/files/cfg/00021-bootlogd.cfg | 2 + recipes-kernel/linux/files/cfg/00022-mtd_tests.cfg | 1 + recipes-kernel/linux/files/cfg/00023-ikconfig.cfg | 2 + .../linux/files/cfg/00024-preempt_romley-ivb.cfg | 8 + recipes-kernel/linux/files/cfg/00025-powertop.cfg | 13 + recipes-kernel/linux/files/cfg/00026-ltp.cfg | 3 + recipes-kernel/linux/files/cfg/00027-lttng.cfg | 20 + recipes-kernel/linux/files/cfg/00028-perf.cfg | 2 + recipes-kernel/linux/files/cfg/00029-devtmpfs.cfg | 2 + .../linux/files/cfg/00030-latencytop.cfg | 1 + recipes-kernel/linux/files/cfg/00031-igb_drv.cfg | 3 + recipes-kernel/linux/files/cfg/00032-dpa.cfg | 1 + recipes-kernel/linux/files/cfg/00033-kprobes.cfg | 1 + recipes-kernel/linux/files/cfg/00034-cpusets.cfg | 3 + recipes-kernel/linux/files/cfg/00035-netfilter.cfg | 113 ++ recipes-kernel/linux/files/cfg/00036-ppc_virt.cfg | 5 + recipes-kernel/linux/files/cfg/00037-ppc_lxc.cfg | 30 + .../linux/files/cfg/00038-hotplug_cpu.cfg | 1 + recipes-kernel/linux/files/cfg/00039-nohz.cfg | 9 + recipes-kernel/linux/files/cfg/00040-9p.cfg | 5 + recipes-kernel/linux/files/cfg/00041-virtio.cfg | 8 + recipes-kernel/linux/files/cfg/00042-vhost.cfg | 2 + .../linux/files/cfg/00043-containers.cfg | 18 + recipes-kernel/linux/files/cfg/00044-numa.cfg | 1 + recipes-kernel/linux/files/cfg/00045-pci-stub.cfg | 1 + recipes-kernel/linux/files/cfg/00046-sata.cfg | 5 + recipes-kernel/linux/files/cfg/00047-bridge.cfg | 1 + .../files/cfg/00048-containers_no_user_ns.cfg | 18 + recipes-kernel/linux/files/cfg/00049-gpio.cfg | 2 + recipes-kernel/linux/files/cfg/00050-nfsdv4.cfg | 7 + recipes-kernel/linux/files/cfg/00051-sctp.cfg | 4 + recipes-kernel/linux/files/cfg/README | 9 + recipes-kernel/linux/files/cfg/indexcfgs.pl | 167 +++ recipes-kernel/perf/perf.bbappend | 4 + recipes-kernel/pramfs-init/files/pramfs_init | 80 ++ recipes-kernel/pramfs-init/pramfs-init_1.0.bb | 20 + 104 files changed, 3694 insertions(+) create mode 100644 COPYING.MIT create mode 100644 README create mode 100644 conf/distro/enea.conf create mode 100644 conf/layer.conf create mode 100644 images/enea-image-base.bb create mode 100644 images/enea-image-common.inc create mode 100644 images/enea-image-featured.bb create mode 100644 recipes-connectivity/connman/connman_1.25.bbappend create mode 100644 recipes-connectivity/connman/files/0001-added-noipconfig-option.patch create mode 100644 recipes-connectivity/connman/files/connman create mode 100644 recipes-core/busybox/busybox_1.22.1.bbappend create mode 100644 recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bbappend create mode 100644 recipes-core/packagegroups/packagegroup-core-standalone-sdk-target.bbappend create mode 100644 recipes-core/packagegroups/packagegroup-enea-bench.bb create mode 100644 recipes-core/packagegroups/packagegroup-enea-core-boot.bb create mode 100644 recipes-core/packagegroups/packagegroup-enea-ddt.bb create mode 100644 recipes-core/packagegroups/packagegroup-enea-debug.bb create mode 100644 recipes-core/packagegroups/packagegroup-enea-ptest.bb create mode 100644 recipes-core/packagegroups/packagegroup-enea-rt-tools.bb create mode 100644 recipes-core/packagegroups/packagegroup-enea-sys.bb create mode 100644 recipes-core/sysvinit/sysvinit_2.88dsf.bbappend create mode 100644 recipes-devtools/binutils/binutils-2.24.inc create mode 100644 recipes-devtools/binutils/binutils-cross-canadian_2.24.bbappend create mode 100644 recipes-devtools/binutils/binutils-cross_2.24.bbappend create mode 100644 recipes-devtools/binutils/binutils-crosssdk_2.24.bbappend create mode 100644 recipes-devtools/binutils/binutils_2.24.bbappend create mode 100644 recipes-devtools/binutils/files/0001-Revert-Report-overflow-on-PowerPC64-h-and-ha-relocat.patch create mode 100644 recipes-devtools/e2fsprogs/e2fsprogs_1.42.9.bbappend create mode 100644 recipes-devtools/valgrind/files/disable-power-isa-2.07-check.patch create mode 100644 recipes-devtools/valgrind/valgrind_3.9.0.bbappend create mode 100644 recipes-enea/count-ticks/count-ticks/run-ptest create mode 100644 recipes-enea/count-ticks/count-ticks_1.1.bb create mode 100644 recipes-enea/linx/linx-2.6.6/liblinx_free_buf.patch create mode 100644 recipes-enea/linx/linx-2.6.6/liblinx_nobase.patch create mode 100644 recipes-enea/linx/linx-2.6.6/linxcfg_nobase.patch create mode 100644 recipes-enea/linx/linx-mod-2.6.6/linx-kernel-modules.patch create mode 100644 recipes-enea/linx/linx-mod-2.6.6/support-for-3.11-kernel-versions.patch create mode 100644 recipes-enea/linx/linx-mod-2.6.6/support-for-3.12-kernels.patch create mode 100644 recipes-enea/linx/linx-mod-2.6.6/support-for-3.15-kernels.patch create mode 100644 recipes-enea/linx/linx-mod_2.6.6.bb create mode 100644 recipes-enea/linx/linx.inc create mode 100644 recipes-enea/linx/linx_2.6.6.bb create mode 100644 recipes-enea/list2mask/list2mask/run-ptest create mode 100644 recipes-enea/list2mask/list2mask_1.0.bb create mode 100644 recipes-enea/partrt/partrt/run-ptest create mode 100644 recipes-enea/partrt/partrt_1.1.bb create mode 100644 recipes-extended/libuio/libuio/run-ptest create mode 100644 recipes-extended/libuio/libuio_git.bb create mode 100644 recipes-extended/ltp/ltp_20140422.bbappend create mode 100644 recipes-kernel/linux/enea-common.inc create mode 100644 recipes-kernel/linux/files/cfg/00001-embedded.cfg create mode 100644 recipes-kernel/linux/files/cfg/00002-root_nfs.cfg create mode 100644 recipes-kernel/linux/files/cfg/00003-fuse.cfg create mode 100644 recipes-kernel/linux/files/cfg/00004-systemtap.cfg create mode 100644 recipes-kernel/linux/files/cfg/00005-pramfs.cfg create mode 100644 recipes-kernel/linux/files/cfg/00006-with_modules.cfg create mode 100644 recipes-kernel/linux/files/cfg/00007-oprofile.cfg create mode 100644 recipes-kernel/linux/files/cfg/00008-uio_m.cfg create mode 100644 recipes-kernel/linux/files/cfg/00009-e500mc_debug.cfg create mode 100644 recipes-kernel/linux/files/cfg/00010-pramfs-bsc913x.cfg create mode 100644 recipes-kernel/linux/files/cfg/00012-preempt.cfg create mode 100644 recipes-kernel/linux/files/cfg/00013-localversion.cfg create mode 100644 recipes-kernel/linux/files/cfg/00014-kgdb.cfg create mode 100644 recipes-kernel/linux/files/cfg/00015-uio.cfg create mode 100644 recipes-kernel/linux/files/cfg/00016-largefilessupport.cfg create mode 100644 recipes-kernel/linux/files/cfg/00017-preempt_keystone.cfg create mode 100644 recipes-kernel/linux/files/cfg/00018-rt.cfg create mode 100644 recipes-kernel/linux/files/cfg/00019-i2c.cfg create mode 100644 recipes-kernel/linux/files/cfg/00021-bootlogd.cfg create mode 100644 recipes-kernel/linux/files/cfg/00022-mtd_tests.cfg create mode 100644 recipes-kernel/linux/files/cfg/00023-ikconfig.cfg create mode 100644 recipes-kernel/linux/files/cfg/00024-preempt_romley-ivb.cfg create mode 100644 recipes-kernel/linux/files/cfg/00025-powertop.cfg create mode 100644 recipes-kernel/linux/files/cfg/00026-ltp.cfg create mode 100644 recipes-kernel/linux/files/cfg/00027-lttng.cfg create mode 100644 recipes-kernel/linux/files/cfg/00028-perf.cfg create mode 100644 recipes-kernel/linux/files/cfg/00029-devtmpfs.cfg create mode 100644 recipes-kernel/linux/files/cfg/00030-latencytop.cfg create mode 100644 recipes-kernel/linux/files/cfg/00031-igb_drv.cfg create mode 100644 recipes-kernel/linux/files/cfg/00032-dpa.cfg create mode 100644 recipes-kernel/linux/files/cfg/00033-kprobes.cfg create mode 100644 recipes-kernel/linux/files/cfg/00034-cpusets.cfg create mode 100644 recipes-kernel/linux/files/cfg/00035-netfilter.cfg create mode 100644 recipes-kernel/linux/files/cfg/00036-ppc_virt.cfg create mode 100644 recipes-kernel/linux/files/cfg/00037-ppc_lxc.cfg create mode 100644 recipes-kernel/linux/files/cfg/00038-hotplug_cpu.cfg create mode 100644 recipes-kernel/linux/files/cfg/00039-nohz.cfg create mode 100644 recipes-kernel/linux/files/cfg/00040-9p.cfg create mode 100644 recipes-kernel/linux/files/cfg/00041-virtio.cfg create mode 100644 recipes-kernel/linux/files/cfg/00042-vhost.cfg create mode 100644 recipes-kernel/linux/files/cfg/00043-containers.cfg create mode 100644 recipes-kernel/linux/files/cfg/00044-numa.cfg create mode 100644 recipes-kernel/linux/files/cfg/00045-pci-stub.cfg create mode 100644 recipes-kernel/linux/files/cfg/00046-sata.cfg create mode 100644 recipes-kernel/linux/files/cfg/00047-bridge.cfg create mode 100644 recipes-kernel/linux/files/cfg/00048-containers_no_user_ns.cfg create mode 100644 recipes-kernel/linux/files/cfg/00049-gpio.cfg create mode 100644 recipes-kernel/linux/files/cfg/00050-nfsdv4.cfg create mode 100644 recipes-kernel/linux/files/cfg/00051-sctp.cfg create mode 100644 recipes-kernel/linux/files/cfg/README create mode 100755 recipes-kernel/linux/files/cfg/indexcfgs.pl create mode 100644 recipes-kernel/perf/perf.bbappend create mode 100644 recipes-kernel/pramfs-init/files/pramfs_init create mode 100644 recipes-kernel/pramfs-init/pramfs-init_1.0.bb diff --git a/COPYING.MIT b/COPYING.MIT new file mode 100644 index 0000000..89de354 --- /dev/null +++ b/COPYING.MIT @@ -0,0 +1,17 @@ +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/README b/README new file mode 100644 index 0000000..6b0b326 --- /dev/null +++ b/README @@ -0,0 +1,64 @@ +meta-enea-base +=================================================================== + +This layer is intended to be a central point for defining distros, +images, recipes, appends or other userspace customizations common +to all Enea Linux releases. + + +Dependencies +============ + +This layer depends on: + + URI: git://git.openembedded.org/bitbake + branch: dizzy + revision: HEAD + + URI: git://git.yoctoproject.org/poky + branch: dizzy + revision: HEAD + + +Source code +=========== + +git://git.enea.com/linux/meta-enea-base.git + + +Patches +======= + +Please submit any patches against the enea-base layer to the +linux-maintainers mailing list: linux-maintainers@enea.com + +Maintainers: Enea Linux Team + + +Table +================= + + I. Adding the enea-base layer to your build + II. Misc + + +I. Adding the enea-base layer to your build +================================================= + +In order to use this layer, you need to make the build system aware of +it. + +Assuming the enea-base layer exists at the top-level of your +yocto build tree, you can add it to the build system by adding the +location of the enea-base layer to bblayers.conf, along with any +other layers needed. e.g.: + + + BBLAYERS ?= " \ + /path/to/yocto/meta \ + /path/to/yocto/meta-yocto \ + /path/to/yocto/meta-enea-base \ + " + +II. Misc +======== 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 @@ +require conf/distro/poky.conf +DISTRO = "enea" +DISTRO_NAME = "Enea Linux" +DISTRO_VERSION_MAJOR = "5.0" +DISTRO_VERSION_MINOR ??= "" +DISTRO_VERSION = "${DISTRO_VERSION_MAJOR}${DISTRO_VERSION_MINOR}" + + +SDK_VENDOR = "-eneasdk" +SDK_VERSION := "${@'${DISTRO_VERSION}'.replace('snapshot-${DATE}','snapshot')}" + +MAINTAINER = "ENEA " + +TARGET_VENDOR = "-enea" + +PRSERV_HOST ?= "localhost:0" + +SANITY_TESTED_DISTROS += "\ + CentOS-6.1 \n \ + RedHatEnterpriseServer-6.1 \n \ + RedHatEnterpriseServer-6.4 \n \ + Ubuntu-12.10 \n \ + " + +CONNECTIVITY_CHECK_URIS = " \ + http://linux.enea.com" + +BB_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 @@ +# We have a conf and classes directory, add to BBPATH +BBPATH .= ":${LAYERDIR}" + +# We have recipes-* directories, add to BBFILES +BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ + ${LAYERDIR}/images/* \ + ${LAYERDIR}/packagegroups/* \ + ${LAYERDIR}/recipes-*/*/*.bbappend" + +BBFILE_COLLECTIONS += "enea-base" +BBFILE_PATTERN_enea-base = "^${LAYERDIR}/" +BBFILE_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 @@ +DESCRIPTION = "console only image that fully suport target HW" +require enea-image-common.inc + +IMAGE_ROOTFS_EXTRA_SPACE = "131072" +IMAGE_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 @@ +IMAGE_FEATURES += "ssh-server-dropbear package-management" + +IMAGE_INSTALL = " \ + packagegroup-enea-core-boot \ + " + +IMAGE_LINGUAS = "" + +LICENSE = "MIT" + +inherit 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 @@ +DESCRIPTION = "Full featured image with full target support" +require enea-image-common.inc + +IMAGE_FEATURES[validitems] += "read-only-rootfs empty-root-password allow-empty-password post-install-logging " + +IMAGE_FEATURES += " \ + dbg-pkgs \ + debug-tweaks \ + dev-pkgs \ + doc-pkgs \ + ptest-pkgs \ + splash \ + staticdev-pkgs \ + eclipse-debug \ + hwcodecs \ + nfs-server \ + qt4-pkgs \ + ssh-server-openssh \ + tools-debug \ + tools-profile \ + tools-sdk \ + tools-testapps \ + x11 \ + x11-base" + +IMAGE_INSTALL = " \ + packagegroup-base \ + packagegroup-enea-debug \ + packagegroup-enea-rt-tools \ + packagegroup-enea-ptest \ + packagegroup-enea-ddt \ + packagegroup-enea-sys \ + packagegroup-enea-bench \ + ${ROOTFS_PKGMANAGE_BOOTSTRAP} \ + beecrypt \ + binutils \ + chkconfig \ + cracklib \ + curl \ + dhcp-client \ + eventlog \ + file \ + findutils \ + freetype \ + fuse \ + gawk \ + gcc \ + gnutls \ + grep \ + gzip \ + icu \ + insserv \ + kbd \ + kernel-modules \ + libgcrypt \ + libgpg-error \ + libtasn1 \ + lsb \ + lsbinitscripts \ + mingetty \ + openssh \ + ossp-uuid \ + perf \ + pkgconfig \ + procps \ + psmisc \ + rpm \ + rt-bmark \ + tar \ + tipcutils \ + udev-extraconf \ + zip \ + " + +IMAGE_ROOTFS_EXTRA_SPACE = "1048576" +IMAGE_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 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/files:" + +SRC_URI += "file://0001-added-noipconfig-option.patch \ + file://connman \ + " 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 @@ +Disabling interface index for desired interfaces so that all methods dealing +with those indexes (ifup, ifdown, new route, new gateway, etc.) will exit +immediately. This is obtained through a new option called "noipconfig". +Helpful when dealing with NFS dhcp method like: +root=/dev/nfs rw nfsroot=172.21.3.8:/unix/enea_linux_rootfs/user/p2041rdb \ + ip=dhcp console=ttyS0,115200 memmap=16M$0xf7000000 \ + mem=4080M max_addr=f6ffffff + +This ports the https://www.cvg.de/people/ensc/0001-added-noipconfig-option.patch + change to connman_1.25. In http://patchwork.openembedded.org/patch/57539/ that + change is considered too intrusive and specific to be upstreamed. + +Signed-off-by: George Nita +Upstream-Status: Not Applicable + + +diff --git a/src/connman.h b/src/connman.h +index db6461f..8f4f4d0 100644 +--- a/src/connman.h ++++ b/src/connman.h +@@ -544,7 +544,8 @@ void __connman_technology_notify_regdom_by_device(struct connman_device *device, + + #include + +-int __connman_device_init(const char *device, const char *nodevice); ++int __connman_device_init(const char *device, const char *nodevice, ++ const char *noipconfig); + void __connman_device_cleanup(void); + + void __connman_device_list(DBusMessageIter *iter, void *user_data); +diff --git a/src/device.c b/src/device.c +index c0683ab..6582c51 100644 +--- a/src/device.c ++++ b/src/device.c +@@ -37,6 +37,7 @@ + static GSList *device_list = NULL; + static gchar **device_filter = NULL; + static gchar **nodevice_filter = NULL; ++static gchar **noipconfig_filter = NULL; + + enum connman_pending_type { + PENDING_NONE = 0, +@@ -1314,6 +1315,20 @@ done: + return device; + } + ++static bool __connman_device_noipconfig(const char *devname) ++{ ++ char **pattern; ++ ++ for (pattern = noipconfig_filter; *pattern; pattern++) { ++ if (g_pattern_match_simple(*pattern, devname) == TRUE) { ++ DBG("do not configure device %s", devname); ++ return TRUE; ++ } ++ } ++ ++ return FALSE; ++} ++ + bool __connman_device_isfiltered(const char *devname) + { + char **pattern; +@@ -1403,6 +1418,9 @@ static void cleanup_devices(void) + if (index < 0) + continue; + ++ if (__connman_device_noipconfig(interfaces[i])) ++ __connman_inet_disable_index(index); ++ + if (!__connman_inet_get_address_netmask(index, &sin_addr, + &sin_mask)) { + char *address = g_strdup(inet_ntoa(sin_addr.sin_addr)); +@@ -1435,7 +1453,8 @@ static void cleanup_devices(void) + g_strfreev(interfaces); + } + +-int __connman_device_init(const char *device, const char *nodevice) ++int __connman_device_init(const char *device, const char *nodevice, ++ const char *noipconfig) + { + DBG(""); + +@@ -1445,6 +1464,9 @@ int __connman_device_init(const char *device, const char *nodevice) + if (nodevice) + nodevice_filter = g_strsplit(nodevice, ",", -1); + ++ if (noipconfig != NULL) ++ noipconfig_filter = g_strsplit(noipconfig, ",", -1); ++ + cleanup_devices(); + + return 0; +diff --git a/src/inet.c b/src/inet.c +index fb37143..d1f2c2f 100644 +--- a/src/inet.c ++++ b/src/inet.c +@@ -55,6 +55,45 @@ + ((struct rtattr *) (((uint8_t*) (nmsg)) + \ + NLMSG_ALIGN((nmsg)->nlmsg_len))) + ++static GHashTable *g_disabled_indices; ++ ++static guint g_intptr_hash(gconstpointer p) ++{ ++ uintptr_t v = (uintptr_t)p; ++ return g_int_hash(&v); ++} ++ ++static gboolean g_intptr_equal(gconstpointer p1, ++ gconstpointer p2) ++{ ++ uintptr_t v1 = (uintptr_t)p1; ++ uintptr_t v2 = (uintptr_t)p2; ++ ++ return g_int_equal(&v1, &v2); ++} ++ ++void __connman_inet_disable_index(int index) ++{ ++ connman_info("disabling interface #%d for ipconfig", index); ++ ++ if (g_disabled_indices == NULL) ++ g_disabled_indices = g_hash_table_new_full(g_intptr_hash, ++ g_intptr_equal, ++ NULL, NULL); ++ ++ g_hash_table_add(g_disabled_indices, (void *)index); ++} ++ ++static bool __connman_inet_is_disabled_index(int index) ++{ ++ bool rc; ++ ++ rc = (g_disabled_indices != NULL && ++ g_hash_table_contains(g_disabled_indices, (void *)index)); ++ ++ return rc; ++} ++ + int __connman_inet_rtnl_addattr_l(struct nlmsghdr *n, size_t max_length, + int type, const void *data, size_t data_length) + { +@@ -98,6 +137,11 @@ int __connman_inet_modify_address(int cmd, int flags, + "prefixlen %hhu broadcast %s", cmd, flags, index, family, + address, peer, prefixlen, broadcast); + ++ if (__connman_inet_is_disabled_index(index)) { ++ connman_info("index disabled; skipping %s", __func__); ++ return 0; ++ } ++ + if (!address) + return -EINVAL; + +@@ -275,6 +319,11 @@ int connman_inet_ifup(int index) + struct ifreq ifr; + int sk, err; + ++ if (__connman_inet_is_disabled_index(index)) { ++ connman_info("index disabled; skipping %s", __func__); ++ return 0; ++ } ++ + sk = socket(PF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0); + if (sk < 0) + return -errno; +@@ -318,6 +367,11 @@ int connman_inet_ifdown(int index) + struct sockaddr_in *addr; + int sk, err; + ++ if (__connman_inet_is_disabled_index(index)) { ++ connman_info("index disabled; skipping %s", __func__); ++ return 0; ++ } ++ + sk = socket(PF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0); + if (sk < 0) + return -errno; +@@ -519,6 +573,11 @@ int connman_inet_add_network_route(int index, const char *host, + DBG("index %d host %s gateway %s netmask %s", index, + host, gateway, netmask); + ++ if (__connman_inet_is_disabled_index(index)) { ++ connman_info("index disabled; skipping %s", __func__); ++ return 0; ++ } ++ + sk = socket(PF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0); + if (sk < 0) { + err = -errno; +@@ -589,6 +648,11 @@ int connman_inet_del_network_route(int index, const char *host) + + DBG("index %d host %s", index, host); + ++ if (__connman_inet_is_disabled_index(index)) { ++ connman_info("index disabled; skipping %s", __func__); ++ return 0; ++ } ++ + sk = socket(PF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0); + if (sk < 0) { + err = -errno; +@@ -637,6 +701,11 @@ int connman_inet_del_ipv6_network_route(int index, const char *host, + + DBG("index %d host %s", index, host); + ++ if (__connman_inet_is_disabled_index(index)) { ++ connman_info("index disabled; skipping %s", __func__); ++ return 0; ++ } ++ + if (!host) + return -EINVAL; + +@@ -687,6 +756,11 @@ int connman_inet_add_ipv6_network_route(int index, const char *host, + + DBG("index %d host %s gateway %s", index, host, gateway); + ++ if (__connman_inet_is_disabled_index(index)) { ++ connman_info("index disabled; skipping %s", __func__); ++ return 0; ++ } ++ + if (!host) + return -EINVAL; + +@@ -741,6 +815,11 @@ int connman_inet_clear_ipv6_gateway_address(int index, const char *gateway) + + DBG("index %d gateway %s", index, gateway); + ++ if (__connman_inet_is_disabled_index(index)) { ++ connman_info("index disabled; skipping clear_ipv6_gateway operation"); ++ return 0; ++ } ++ + if (!gateway) + return -EINVAL; + +@@ -784,6 +863,11 @@ int connman_inet_set_gateway_interface(int index) + + DBG("index %d", index); + ++ if (__connman_inet_is_disabled_index(index)) { ++ connman_info("index disabled; skipping %s", __func__); ++ return 0; ++ } ++ + sk = socket(PF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0); + if (sk < 0) { + err = -errno; +@@ -837,6 +921,11 @@ int connman_inet_set_ipv6_gateway_interface(int index) + + DBG("index %d", index); + ++ if (__connman_inet_is_disabled_index(index)) { ++ connman_info("index disabled; skipping %s", __func__); ++ return 0; ++ } ++ + sk = socket(PF_INET6, SOCK_DGRAM | SOCK_CLOEXEC, 0); + if (sk < 0) { + err = -errno; +@@ -889,6 +978,11 @@ int connman_inet_clear_gateway_address(int index, const char *gateway) + + DBG("index %d gateway %s", index, gateway); + ++ if (__connman_inet_is_disabled_index(index)) { ++ connman_info("index disabled; skipping %s", __func__); ++ return 0; ++ } ++ + sk = socket(PF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0); + if (sk < 0) { + err = -errno; +@@ -946,6 +1040,11 @@ int connman_inet_clear_gateway_interface(int index) + + DBG("index %d", index); + ++ if (__connman_inet_is_disabled_index(index)) { ++ connman_info("index disabled; skipping %s", __func__); ++ return 0; ++ } ++ + sk = socket(PF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0); + if (sk < 0) { + err = -errno; +@@ -999,6 +1098,11 @@ int connman_inet_clear_ipv6_gateway_interface(int index) + + DBG("index %d", index); + ++ if (__connman_inet_is_disabled_index(index)) { ++ connman_info("index disabled; skipping %s", __func__); ++ return 0; ++ } ++ + sk = socket(PF_INET6, SOCK_DGRAM | SOCK_CLOEXEC, 0); + if (sk < 0) { + err = -errno; +@@ -1059,6 +1163,11 @@ bool connman_inet_compare_subnet(int index, const char *host) + return -1; + host_addr = _host_addr.s_addr; + ++ if (__connman_inet_is_disabled_index(index)) { ++ connman_info("index disabled; skipping %s", __func__); ++ return 0; ++ } ++ + sk = socket(PF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0); + if (sk < 0) + return false; +@@ -1159,6 +1268,11 @@ int connman_inet_set_mtu(int index, int mtu) + struct ifreq ifr; + int sk, err; + ++ if (__connman_inet_is_disabled_index(index)) { ++ connman_info("index disabled; skipping %s", __func__); ++ return 0; ++ } ++ + sk = socket(AF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0); + if (sk < 0) + return sk; +diff --git a/src/main.c b/src/main.c +index 7cf6c9a..e06f25c 100644 +--- a/src/main.c ++++ b/src/main.c +@@ -453,6 +453,7 @@ static gchar *option_debug = NULL; + static gchar *option_device = NULL; + static gchar *option_plugin = NULL; + static gchar *option_nodevice = NULL; ++static gchar *option_noipconfig = NULL; + static gchar *option_noplugin = NULL; + static gchar *option_wifi = NULL; + static gboolean option_detach = TRUE; +@@ -482,6 +483,8 @@ static GOptionEntry options[] = { + "Specify networking device or interface", "DEV" }, + { "nodevice", 'I', 0, G_OPTION_ARG_STRING, &option_nodevice, + "Specify networking interface to ignore", "DEV" }, ++ { "noipconfig", 0, 0, G_OPTION_ARG_STRING, &option_noipconfig, ++ "Specify networking interface which shall not be configured", "DEV" }, + { "plugin", 'p', 0, G_OPTION_ARG_STRING, &option_plugin, + "Specify plugins to load", "NAME,..." }, + { "noplugin", 'P', 0, G_OPTION_ARG_STRING, &option_noplugin, +@@ -648,7 +651,7 @@ int main(int argc, char *argv[]) + __connman_provider_init(); + __connman_network_init(); + __connman_config_init(); +- __connman_device_init(option_device, option_nodevice); ++ __connman_device_init(option_device, option_nodevice, option_noipconfig); + + __connman_ippool_init(); + __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 @@ +#!/bin/sh + +DAEMON=/usr/sbin/connmand +PIDFILE=/var/run/connmand.pid +DESC="Connection Manager" + +if [ -f /etc/default/connman ] ; then + . /etc/default/connman +fi + +set -e + +nfsroot=0 + +exec 9<&0 < /proc/mounts +while read dev mtpt fstype rest; do + if test $mtpt = "/" ; then + case $fstype in + nfs | nfs4) + nfsroot=1 + break + ;; + *) + ;; + esac + fi +done + +do_start() { + EXTRA_PARAM="" + if test $nfsroot -eq 1 ; then + NET_DEVS=`cat /proc/net/dev | sed -ne 's/^\([a-zA-Z0-9 ]*\):.*$/\1/p'` + NET_ADDR=`cat /proc/cmdline | sed -ne 's/^.*ip=\([^ :]*\).*$/\1/p'` + + if [ ! -z "$NET_ADDR" ]; then + if [ "$NET_ADDR" = dhcp ]; then + ethn=`ifconfig | grep "^eth" | sed -e "s/\(eth[0-9]\)\(.*\)/\1/"` + if [ ! -z "$ethn" ]; then + EXTRA_PARAM="--noipconfig $ethn" + fi + else + for i in $NET_DEVS; do + ADDR=`ifconfig $i | sed 's/addr://g' | sed -ne 's/^.*inet \([0-9.]*\) .*$/\1/p'` + if [ "$NET_ADDR" = "$ADDR" ]; then + EXTRA_PARAM="--noipconfig $i" + break + fi + done + fi + fi + fi + if [ -f @LIBDIR@/connman/wired-setup ] ; then + . @LIBDIR@/connman/wired-setup + fi + $DAEMON $EXTRA_PARAM +} + +do_stop() { + start-stop-daemon --stop --name connmand --quiet +} + +case "$1" in + start) + echo "Starting $DESC" + do_start + ;; + stop) + echo "Stopping $DESC" + do_stop + ;; + restart|force-reload) + echo "Restarting $DESC" + do_stop + sleep 1 + do_start + ;; + *) + echo "Usage: $0 {start|stop|restart|force-reload}" >&2 + exit 1 + ;; +esac + +exit 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 @@ +do_prepare_config_append () { + sed -i -e 's/# CONFIG_CHRT is not set/CONFIG_CHRT=y/' .config + sed -i -e 's/# CONFIG_TASKSET is not set/CONFIG_TASKSET=y/' .config + sed -i -e 's/# CONFIG_FEATURE_TASKSET_FANCY is not set/CONFIG_FEATURE_TASKSET_FANCY=y/' .config + sed -i -e 's/# CONFIG_HTTPD is not set/CONFIG_HTTPD=y/' .config + sed -i -e 's/# CONFIG_FEATURE_HTTPD_RANGES is not set/CONFIG_FEATURE_HTTPD_RANGES=y/' .config + sed -i -e 's/# CONFIG_FEATURE_HTTPD_USE_SENDFILE is not set/CONFIG_FEATURE_HTTPD_USE_SENDFILE=y/' .config + sed -i -e 's/# CONFIG_FEATURE_HTTPD_SETUID is not set/CONFIG_FEATURE_HTTPD_SETUID=y/' .config + sed -i -e 's/# CONFIG_FEATURE_HTTPD_BASIC_AUTH is not set/CONFIG_FEATURE_HTTPD_BASIC_AUTH=y/' .config + sed -i -e 's/# CONFIG_FEATURE_HTTPD_AUTH_MD5 is not set/CONFIG_FEATURE_HTTPD_AUTH_MD5=y/' .config + sed -i -e 's/# CONFIG_FEATURE_HTTPD_CGI is not set/CONFIG_FEATURE_HTTPD_CGI=y/' .config + sed -i -e 's/# CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR is not set/CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR=y/' .config + 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 + sed -i -e 's/# CONFIG_FEATURE_HTTPD_ENCODE_URL_STR is not set/CONFIG_FEATURE_HTTPD_ENCODE_URL_STR=y/' .config + sed -i -e 's/# CONFIG_FEATURE_HTTPD_ERROR_PAGES is not set/CONFIG_FEATURE_HTTPD_ERROR_PAGES=y/' .config + sed -i -e 's/# CONFIG_FEATURE_HTTPD_PROXY is not set/CONFIG_FEATURE_HTTPD_PROXY=y/' .config + sed -i -e 's/# CONFIG_FEATURE_HTTPD_GZIP is not set/CONFIG_FEATURE_HTTPD_GZIP=y/' .config + sed -i -e 's/# CONFIG_FEATURE_TAR_NOPRESERVE_TIME is not set/CONFIG_FEATURE_TAR_NOPRESERVE_TIME=y/' .config +} 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 @@ +DESCRIPTION = "Package group for benchmarking test" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \ + file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" +PR = "r0" + +inherit packagegroup + +RDEPENDS_${PN} = "\ + " + +RRECOMMENDS_${PN} = "\ + benchtest-runner \ + " 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 @@ +# +# Copyright (C) 2007 OpenedHand Ltd. +# + +SUMMARY = "Minimal boot requirements" +DESCRIPTION = "The minimal and busybox set of packages required to boot the system" +LICENSE = "MIT" +DEPENDS = "virtual/kernel" +PR = "r11" + +PACKAGE_ARCH = "${MACHINE_ARCH}" + +inherit packagegroup + +# +# Set by the machine configuration with packages essential for device bootup +# +MACHINE_ESSENTIAL_EXTRA_RDEPENDS ?= "" +MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS ?= "" + +# For backwards compatibility after rename +RPROVIDES_${PN} = "task-core-boot" +RREPLACES_${PN} = "task-core-boot" +RCONFLICTS_${PN} = "task-core-boot" + +# Distro can override the following VIRTUAL-RUNTIME providers: +VIRTUAL-RUNTIME_dev_manager ?= "udev" +VIRTUAL-RUNTIME_login_manager ?= "busybox" +VIRTUAL-RUNTIME_init_manager ?= "sysvinit" +VIRTUAL-RUNTIME_initscripts ?= "initscripts" +VIRTUAL-RUNTIME_keymaps ?= "keymaps" + +RDEPENDS_${PN} += "\ + base-files \ + base-passwd \ + ${@base_contains("MACHINE_FEATURES", "keyboard", "${VIRTUAL-RUNTIME_keymaps}", "", d)} \ + modutils-initscripts \ + netbase \ + init-ifupdown \ + ${VIRTUAL-RUNTIME_login_manager} \ + ${VIRTUAL-RUNTIME_init_manager} \ + ${VIRTUAL-RUNTIME_initscripts} \ + ${VIRTUAL-RUNTIME_dev_manager} \ + ${VIRTUAL-RUNTIME_update-alternatives} \ + ${MACHINE_ESSENTIAL_EXTRA_RDEPENDS}" + +RDEPENDS_${PN}_append_fslmachine = " u-boot" +RDEPENDS_${PN}_append_p2041 = " fm-ucode rcw" +RDEPENDS_${PN}_append_p4080 = " fm-ucode rcw" +RDEPENDS_${PN} += "\ + busybox \ + ${@base_contains("MACHINE_FEATURES", "rtc", "busybox-hwclock", "", d)} \ + " + +RDEPENDS_${PN}_append_x86 = "\ + kernel-vmlinux \ + kernel \ + " +RDEPENDS_${PN}_append_x86-64 = "\ + kernel-vmlinux \ + kernel \ + " + +RRECOMMENDS_${PN} = "\ + ${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 @@ +DESCRIPTION = "Package group for driver test" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \ + file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" +PR = "r0" + +inherit packagegroup + +RDEPENDS_${PN} = "\ + hdparm \ + rt-tests \ + i2c-tools \ + mtd-utils \ + net-tools \ + pciutils \ + usbutils \ + watchdog \ + " + +RRECOMMENDS_${PN} = "\ + ddt-runner \ + " 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 @@ +DESCRIPTION = "Tools package group for OE-Core" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690 \ + file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" +PR = "r0" + +PACKAGES = "\ + ${PN} \ + ${PN}-dbg \ + ${PN}-dev \ + " + +PACKAGE_ARCH = "${MACHINE_ARCH}" + +ALLOW_EMPTY_${PN} = "1" + +# systemtap needs elfutils which is not fully buildable on uclibc +# hence we exclude it from uclibc based builds +SYSTEMTAP = "systemtap" +SYSTEMTAP_libc-uclibc = "" + +# kexec-tools doesn't work on Mips +KEXECTOOLS ?= "kexec-tools" +KEXECTOOLS_mips ?= "" +KEXECTOOLS_mipsel ?= "" +# No need to remove kexec-tools from powerpc +#KEXECTOOLS_powerpc ?= "" + +RDEPENDS_${PN} = "\ + gdb \ + gdbserver \ + rsync \ + strace \ + ${SYSTEMTAP} \ + " 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 @@ +DESCRIPTION = "Ptest package group" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \ + file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" +PR = "r0" + +inherit packagegroup + +ENEA_DAEMONS = " \ + at \ + cronie \ + " + +ENEA_DATABASE = " \ + sqlite3 \ + " + +ENEA_TRACE = " \ + babeltrace \ + ${VALGRIND} \ + " + +VALGRIND ?= "" +VALGRIND_powerpc ?= "valgrind" +VALGRIND_e500v2 ?= "" +VALGRIND_x86 ?= "valgrind" +VALGRIND_x86_64 ?= "valgrind" +VALGRIND_armv7a ?= "valgrind" + +ENEA_DEV = " \ + glibc-locale \ + " + +ENEA_DEVICE = " \ + libusb1-dbg \ + libusb-compat-dbg \ + usbutils \ + " + +ENEA_FSYS = " \ + acl \ + pramfs-init \ + " + +ENEA_HIGHAVA = " \ + kexec \ + kexec-tools \ + " + +ENEA_LIBS = " \ + gettext \ + gettext-runtime \ + libstdc++ \ + libuio \ + zlib \ + " + +ENEA_MESSAGING = " \ + dbus \ + " + +ENEA_SCRIPTING = " \ + tcl \ + python \ + " + +ENEA_SECURITY = " \ + openssl" + +ENEA_SHELL = " \ + ncurses" + +ENEA_UTILS = " \ + bc \ + bonnie++ \ + expat \ + " + +ENEA_GPL ?= " \ + linx \ + linx-mod \ + " +ENEA_BSD = " \ + partrt \ + " + +ENEA_GPL_qemux86 = "" +ENEA_GPL_qemuppc = "" +ENEA_GPL_armv5 = "" +ENEA_GPL_armv7a = "" +ENEA_GPL_aarch64 = "" + +RDEPENDS_${PN} = " \ + ${ENEA_DAEMONS} \ + ${ENEA_DATABASE} \ + ${ENEA_TRACE} \ + ${ENEA_DEV} \ + ${ENEA_DEVICE} \ + ${ENEA_FSYS} \ + ${ENEA_HIGHAVA} \ + ${ENEA_LIBS} \ + ${ENEA_MESSAGING} \ + ${ENEA_SCRIPTING} \ + ${ENEA_SECURITY} \ + ${ENEA_SHELL} \ + ${ENEA_UTILS} \ + ${ENEA_GPL} \ + ${ENEA_BSD} \ + ethtool \ + libxml2 \ + gdb \ + elfutils \ + " + + +RRECOMMENDS_${PN} = " \ + ptest-runner \ + " 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 @@ +DESCRIPTION = "Enea RT-tools package group" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \ + file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" +PR = "r1" + +inherit packagegroup + +RDEPENDS_${PN} = " \ + partrt \ + count-ticks \ + list2mask \ + " 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 @@ +DESCRIPTION = "Package group for system test" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \ + file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" +PR = "r0" + +inherit packagegroup + +RDEPENDS_${PN} = "\ + ltp \ + logrotate \ + sudo \ + " + +RRECOMMENDS_${PN} = "\ + systest-runner \ + perf-networking \ + " 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 @@ +do_install_append(){ + chmod o+x ${D}${base_sbindir}/shutdown +} 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 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/files:" + +SRC_URI += "\ + file://0001-Revert-Report-overflow-on-PowerPC64-h-and-ha-relocat.patch \ + " + 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 @@ +From 269bee7df1abfdc230f1ed6a6de3150adffde962 Mon Sep 17 00:00:00 2001 +From: Alexandru-Cezar Sardan +Date: Fri, 11 Apr 2014 16:15:36 +0300 +Subject: [PATCH] Revert 'Report overflow on PowerPC64 @h and @ha + relocations.' patch + +--- + bfd/elf64-ppc.c | 183 +++++++++------------------------------------------ + bfd/reloc.c | 12 ---- + elfcpp/powerpc.h | 6 -- + gas/config/tc-ppc.c | 139 ++++++++++---------------------------- + gold/powerpc.cc | 130 +++++++++++------------------------- + include/elf/ppc64.h | 13 +--- + 6 files changed, 109 insertions(+), 374 deletions(-) + +diff --git a/bfd/elf64-ppc.c b/bfd/elf64-ppc.c +index bf13a5d..ba3c655 100644 +--- a/bfd/elf64-ppc.c ++++ b/bfd/elf64-ppc.c +@@ -327,7 +327,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { + 16, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ +- complain_overflow_signed, /* complain_on_overflow */ ++ complain_overflow_dont, /* complain_on_overflow */ + bfd_elf_generic_reloc, /* special_function */ + "R_PPC64_ADDR16_HI", /* name */ + FALSE, /* partial_inplace */ +@@ -343,7 +343,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { + 16, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ +- complain_overflow_signed, /* complain_on_overflow */ ++ complain_overflow_dont, /* complain_on_overflow */ + ppc64_elf_ha_reloc, /* special_function */ + "R_PPC64_ADDR16_HA", /* name */ + FALSE, /* partial_inplace */ +@@ -505,7 +505,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { + 16, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ +- complain_overflow_signed,/* complain_on_overflow */ ++ complain_overflow_dont,/* complain_on_overflow */ + ppc64_elf_unhandled_reloc, /* special_function */ + "R_PPC64_GOT16_HI", /* name */ + FALSE, /* partial_inplace */ +@@ -521,7 +521,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { + 16, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ +- complain_overflow_signed,/* complain_on_overflow */ ++ complain_overflow_dont,/* complain_on_overflow */ + ppc64_elf_unhandled_reloc, /* special_function */ + "R_PPC64_GOT16_HA", /* name */ + FALSE, /* partial_inplace */ +@@ -698,7 +698,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { + 16, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ +- complain_overflow_signed, /* complain_on_overflow */ ++ complain_overflow_dont, /* complain_on_overflow */ + ppc64_elf_unhandled_reloc, /* special_function */ + "R_PPC64_PLT16_HI", /* name */ + FALSE, /* partial_inplace */ +@@ -714,7 +714,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { + 16, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ +- complain_overflow_signed, /* complain_on_overflow */ ++ complain_overflow_dont, /* complain_on_overflow */ + ppc64_elf_unhandled_reloc, /* special_function */ + "R_PPC64_PLT16_HA", /* name */ + FALSE, /* partial_inplace */ +@@ -759,7 +759,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { + 16, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ +- complain_overflow_signed, /* complain_on_overflow */ ++ complain_overflow_dont, /* complain_on_overflow */ + ppc64_elf_sectoff_reloc, /* special_function */ + "R_PPC64_SECTOFF_HI", /* name */ + FALSE, /* partial_inplace */ +@@ -774,7 +774,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { + 16, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ +- complain_overflow_signed, /* complain_on_overflow */ ++ complain_overflow_dont, /* complain_on_overflow */ + ppc64_elf_sectoff_ha_reloc, /* special_function */ + "R_PPC64_SECTOFF_HA", /* name */ + FALSE, /* partial_inplace */ +@@ -981,7 +981,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { + 16, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ +- complain_overflow_signed, /* complain_on_overflow */ ++ complain_overflow_dont, /* complain_on_overflow */ + ppc64_elf_toc_reloc, /* special_function */ + "R_PPC64_TOC16_HI", /* name */ + FALSE, /* partial_inplace */ +@@ -1000,7 +1000,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { + 16, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ +- complain_overflow_signed, /* complain_on_overflow */ ++ complain_overflow_dont, /* complain_on_overflow */ + ppc64_elf_toc_ha_reloc, /* special_function */ + "R_PPC64_TOC16_HA", /* name */ + FALSE, /* partial_inplace */ +@@ -1072,7 +1072,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { + 16, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ +- complain_overflow_signed, /* complain_on_overflow */ ++ complain_overflow_dont, /* complain_on_overflow */ + ppc64_elf_unhandled_reloc, /* special_function */ + "R_PPC64_PLTGOT16_HI", /* name */ + FALSE, /* partial_inplace */ +@@ -1090,7 +1090,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { + 16, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ +- complain_overflow_signed, /* complain_on_overflow */ ++ complain_overflow_dont,/* complain_on_overflow */ + ppc64_elf_unhandled_reloc, /* special_function */ + "R_PPC64_PLTGOT16_HA", /* name */ + FALSE, /* partial_inplace */ +@@ -1392,7 +1392,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { + 16, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ +- complain_overflow_signed, /* complain_on_overflow */ ++ complain_overflow_dont, /* complain_on_overflow */ + ppc64_elf_unhandled_reloc, /* special_function */ + "R_PPC64_DTPREL16_HI", /* name */ + FALSE, /* partial_inplace */ +@@ -1407,7 +1407,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { + 16, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ +- complain_overflow_signed, /* complain_on_overflow */ ++ complain_overflow_dont, /* complain_on_overflow */ + ppc64_elf_unhandled_reloc, /* special_function */ + "R_PPC64_DTPREL16_HA", /* name */ + FALSE, /* partial_inplace */ +@@ -1558,7 +1558,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { + 16, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ +- complain_overflow_signed, /* complain_on_overflow */ ++ complain_overflow_dont, /* complain_on_overflow */ + ppc64_elf_unhandled_reloc, /* special_function */ + "R_PPC64_TPREL16_HI", /* name */ + FALSE, /* partial_inplace */ +@@ -1573,7 +1573,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { + 16, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ +- complain_overflow_signed, /* complain_on_overflow */ ++ complain_overflow_dont, /* complain_on_overflow */ + ppc64_elf_unhandled_reloc, /* special_function */ + "R_PPC64_TPREL16_HA", /* name */ + FALSE, /* partial_inplace */ +@@ -1710,7 +1710,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { + 16, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ +- complain_overflow_signed, /* complain_on_overflow */ ++ complain_overflow_dont, /* complain_on_overflow */ + ppc64_elf_unhandled_reloc, /* special_function */ + "R_PPC64_GOT_TLSGD16_HI", /* name */ + FALSE, /* partial_inplace */ +@@ -1725,7 +1725,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { + 16, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ +- complain_overflow_signed, /* complain_on_overflow */ ++ complain_overflow_dont, /* complain_on_overflow */ + ppc64_elf_unhandled_reloc, /* special_function */ + "R_PPC64_GOT_TLSGD16_HA", /* name */ + FALSE, /* partial_inplace */ +@@ -1772,7 +1772,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { + 16, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ +- complain_overflow_signed, /* complain_on_overflow */ ++ complain_overflow_dont, /* complain_on_overflow */ + ppc64_elf_unhandled_reloc, /* special_function */ + "R_PPC64_GOT_TLSLD16_HI", /* name */ + FALSE, /* partial_inplace */ +@@ -1787,7 +1787,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { + 16, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ +- complain_overflow_signed, /* complain_on_overflow */ ++ complain_overflow_dont, /* complain_on_overflow */ + ppc64_elf_unhandled_reloc, /* special_function */ + "R_PPC64_GOT_TLSLD16_HA", /* name */ + FALSE, /* partial_inplace */ +@@ -1833,7 +1833,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { + 16, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ +- complain_overflow_signed, /* complain_on_overflow */ ++ complain_overflow_dont, /* complain_on_overflow */ + ppc64_elf_unhandled_reloc, /* special_function */ + "R_PPC64_GOT_DTPREL16_HI", /* name */ + FALSE, /* partial_inplace */ +@@ -1848,7 +1848,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { + 16, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ +- complain_overflow_signed, /* complain_on_overflow */ ++ complain_overflow_dont, /* complain_on_overflow */ + ppc64_elf_unhandled_reloc, /* special_function */ + "R_PPC64_GOT_DTPREL16_HA", /* name */ + FALSE, /* partial_inplace */ +@@ -1894,7 +1894,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { + 16, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ +- complain_overflow_signed, /* complain_on_overflow */ ++ complain_overflow_dont, /* complain_on_overflow */ + ppc64_elf_unhandled_reloc, /* special_function */ + "R_PPC64_GOT_TPREL16_HI", /* name */ + FALSE, /* partial_inplace */ +@@ -1909,7 +1909,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { + 16, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ +- complain_overflow_signed, /* complain_on_overflow */ ++ complain_overflow_dont, /* complain_on_overflow */ + ppc64_elf_unhandled_reloc, /* special_function */ + "R_PPC64_GOT_TPREL16_HA", /* name */ + FALSE, /* partial_inplace */ +@@ -1982,7 +1982,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { + 16, /* bitsize */ + TRUE, /* pc_relative */ + 0, /* bitpos */ +- complain_overflow_signed, /* complain_on_overflow */ ++ complain_overflow_dont, /* complain_on_overflow */ + bfd_elf_generic_reloc, /* special_function */ + "R_PPC64_REL16_HI", /* name */ + FALSE, /* partial_inplace */ +@@ -1998,7 +1998,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { + 16, /* bitsize */ + TRUE, /* pc_relative */ + 0, /* bitpos */ +- complain_overflow_signed, /* complain_on_overflow */ ++ complain_overflow_dont, /* complain_on_overflow */ + ppc64_elf_ha_reloc, /* special_function */ + "R_PPC64_REL16_HA", /* name */ + FALSE, /* partial_inplace */ +@@ -2006,96 +2006,6 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { + 0xffff, /* dst_mask */ + TRUE), /* pcrel_offset */ + +- /* Like R_PPC64_ADDR16_HI, but no overflow. */ +- HOWTO (R_PPC64_ADDR16_HIGH, /* type */ +- 16, /* rightshift */ +- 1, /* size (0 = byte, 1 = short, 2 = long) */ +- 16, /* bitsize */ +- FALSE, /* pc_relative */ +- 0, /* bitpos */ +- complain_overflow_dont, /* complain_on_overflow */ +- bfd_elf_generic_reloc, /* special_function */ +- "R_PPC64_ADDR16_HIGH", /* name */ +- FALSE, /* partial_inplace */ +- 0, /* src_mask */ +- 0xffff, /* dst_mask */ +- FALSE), /* pcrel_offset */ +- +- /* Like R_PPC64_ADDR16_HA, but no overflow. */ +- HOWTO (R_PPC64_ADDR16_HIGHA, /* type */ +- 16, /* rightshift */ +- 1, /* size (0 = byte, 1 = short, 2 = long) */ +- 16, /* bitsize */ +- FALSE, /* pc_relative */ +- 0, /* bitpos */ +- complain_overflow_dont, /* complain_on_overflow */ +- ppc64_elf_ha_reloc, /* special_function */ +- "R_PPC64_ADDR16_HIGHA", /* name */ +- FALSE, /* partial_inplace */ +- 0, /* src_mask */ +- 0xffff, /* dst_mask */ +- FALSE), /* pcrel_offset */ +- +- /* Like R_PPC64_DTPREL16_HI, but no overflow. */ +- HOWTO (R_PPC64_DTPREL16_HIGH, +- 16, /* rightshift */ +- 1, /* size (0 = byte, 1 = short, 2 = long) */ +- 16, /* bitsize */ +- FALSE, /* pc_relative */ +- 0, /* bitpos */ +- complain_overflow_dont, /* complain_on_overflow */ +- ppc64_elf_unhandled_reloc, /* special_function */ +- "R_PPC64_DTPREL16_HIGH", /* name */ +- FALSE, /* partial_inplace */ +- 0, /* src_mask */ +- 0xffff, /* dst_mask */ +- FALSE), /* pcrel_offset */ +- +- /* Like R_PPC64_DTPREL16_HA, but no overflow. */ +- HOWTO (R_PPC64_DTPREL16_HIGHA, +- 16, /* rightshift */ +- 1, /* size (0 = byte, 1 = short, 2 = long) */ +- 16, /* bitsize */ +- FALSE, /* pc_relative */ +- 0, /* bitpos */ +- complain_overflow_dont, /* complain_on_overflow */ +- ppc64_elf_unhandled_reloc, /* special_function */ +- "R_PPC64_DTPREL16_HIGHA", /* name */ +- FALSE, /* partial_inplace */ +- 0, /* src_mask */ +- 0xffff, /* dst_mask */ +- FALSE), /* pcrel_offset */ +- +- /* Like R_PPC64_TPREL16_HI, but no overflow. */ +- HOWTO (R_PPC64_TPREL16_HIGH, +- 16, /* rightshift */ +- 1, /* size (0 = byte, 1 = short, 2 = long) */ +- 16, /* bitsize */ +- FALSE, /* pc_relative */ +- 0, /* bitpos */ +- complain_overflow_dont, /* complain_on_overflow */ +- ppc64_elf_unhandled_reloc, /* special_function */ +- "R_PPC64_TPREL16_HIGH", /* name */ +- FALSE, /* partial_inplace */ +- 0, /* src_mask */ +- 0xffff, /* dst_mask */ +- FALSE), /* pcrel_offset */ +- +- /* Like R_PPC64_TPREL16_HA, but no overflow. */ +- HOWTO (R_PPC64_TPREL16_HIGHA, +- 16, /* rightshift */ +- 1, /* size (0 = byte, 1 = short, 2 = long) */ +- 16, /* bitsize */ +- FALSE, /* pc_relative */ +- 0, /* bitpos */ +- complain_overflow_dont, /* complain_on_overflow */ +- ppc64_elf_unhandled_reloc, /* special_function */ +- "R_PPC64_TPREL16_HIGHA", /* name */ +- FALSE, /* partial_inplace */ +- 0, /* src_mask */ +- 0xffff, /* dst_mask */ +- FALSE), /* pcrel_offset */ +- + /* GNU extension to record C++ vtable hierarchy. */ + HOWTO (R_PPC64_GNU_VTINHERIT, /* type */ + 0, /* rightshift */ +@@ -2174,12 +2084,8 @@ ppc64_elf_reloc_type_lookup (bfd *abfd ATTRIBUTE_UNUSED, + break; + case BFD_RELOC_HI16: r = R_PPC64_ADDR16_HI; + break; +- case BFD_RELOC_PPC64_ADDR16_HIGH: r = R_PPC64_ADDR16_HIGH; +- break; + case BFD_RELOC_HI16_S: r = R_PPC64_ADDR16_HA; + break; +- case BFD_RELOC_PPC64_ADDR16_HIGHA: r = R_PPC64_ADDR16_HIGHA; +- break; + case BFD_RELOC_PPC_BA16: r = R_PPC64_ADDR14; + break; + case BFD_RELOC_PPC_BA16_BRTAKEN: r = R_PPC64_ADDR14_BRTAKEN; +@@ -2298,12 +2204,8 @@ ppc64_elf_reloc_type_lookup (bfd *abfd ATTRIBUTE_UNUSED, + break; + case BFD_RELOC_PPC_TPREL16_HI: r = R_PPC64_TPREL16_HI; + break; +- case BFD_RELOC_PPC64_TPREL16_HIGH: r = R_PPC64_TPREL16_HIGH; +- break; + case BFD_RELOC_PPC_TPREL16_HA: r = R_PPC64_TPREL16_HA; + break; +- case BFD_RELOC_PPC64_TPREL16_HIGHA: r = R_PPC64_TPREL16_HIGHA; +- break; + case BFD_RELOC_PPC_TPREL: r = R_PPC64_TPREL64; + break; + case BFD_RELOC_PPC_DTPREL16: r = R_PPC64_DTPREL16; +@@ -2312,12 +2214,8 @@ ppc64_elf_reloc_type_lookup (bfd *abfd ATTRIBUTE_UNUSED, + break; + case BFD_RELOC_PPC_DTPREL16_HI: r = R_PPC64_DTPREL16_HI; + break; +- case BFD_RELOC_PPC64_DTPREL16_HIGH: r = R_PPC64_DTPREL16_HIGH; +- break; + case BFD_RELOC_PPC_DTPREL16_HA: r = R_PPC64_DTPREL16_HA; + break; +- case BFD_RELOC_PPC64_DTPREL16_HIGHA: r = R_PPC64_DTPREL16_HIGHA; +- break; + case BFD_RELOC_PPC_DTPREL: r = R_PPC64_DTPREL64; + break; + case BFD_RELOC_PPC_GOT_TLSGD16: r = R_PPC64_GOT_TLSGD16; +@@ -3662,8 +3560,6 @@ must_be_dyn_reloc (struct bfd_link_info *info, + case R_PPC64_TPREL16_HA: + case R_PPC64_TPREL16_DS: + case R_PPC64_TPREL16_LO_DS: +- case R_PPC64_TPREL16_HIGH: +- case R_PPC64_TPREL16_HIGHA: + case R_PPC64_TPREL16_HIGHER: + case R_PPC64_TPREL16_HIGHERA: + case R_PPC64_TPREL16_HIGHEST: +@@ -5394,8 +5290,6 @@ ppc64_elf_check_relocs (bfd *abfd, struct bfd_link_info *info, + case R_PPC64_DTPREL16_HA: + case R_PPC64_DTPREL16_DS: + case R_PPC64_DTPREL16_LO_DS: +- case R_PPC64_DTPREL16_HIGH: +- case R_PPC64_DTPREL16_HIGHA: + case R_PPC64_DTPREL16_HIGHER: + case R_PPC64_DTPREL16_HIGHERA: + case R_PPC64_DTPREL16_HIGHEST: +@@ -5556,8 +5450,6 @@ ppc64_elf_check_relocs (bfd *abfd, struct bfd_link_info *info, + case R_PPC64_TPREL16_HA: + case R_PPC64_TPREL16_DS: + case R_PPC64_TPREL16_LO_DS: +- case R_PPC64_TPREL16_HIGH: +- case R_PPC64_TPREL16_HIGHA: + case R_PPC64_TPREL16_HIGHER: + case R_PPC64_TPREL16_HIGHERA: + case R_PPC64_TPREL16_HIGHEST: +@@ -5605,8 +5497,6 @@ ppc64_elf_check_relocs (bfd *abfd, struct bfd_link_info *info, + case R_PPC64_ADDR16_DS: + case R_PPC64_ADDR16_HA: + case R_PPC64_ADDR16_HI: +- case R_PPC64_ADDR16_HIGH: +- case R_PPC64_ADDR16_HIGHA: + case R_PPC64_ADDR16_HIGHER: + case R_PPC64_ADDR16_HIGHERA: + case R_PPC64_ADDR16_HIGHEST: +@@ -7363,8 +7253,6 @@ dec_dynrel_count (bfd_vma r_info, + case R_PPC64_TPREL16_HA: + case R_PPC64_TPREL16_DS: + case R_PPC64_TPREL16_LO_DS: +- case R_PPC64_TPREL16_HIGH: +- case R_PPC64_TPREL16_HIGHA: + case R_PPC64_TPREL16_HIGHER: + case R_PPC64_TPREL16_HIGHERA: + case R_PPC64_TPREL16_HIGHEST: +@@ -7386,8 +7274,6 @@ dec_dynrel_count (bfd_vma r_info, + case R_PPC64_ADDR16_DS: + case R_PPC64_ADDR16_HA: + case R_PPC64_ADDR16_HI: +- case R_PPC64_ADDR16_HIGH: +- case R_PPC64_ADDR16_HIGHA: + case R_PPC64_ADDR16_HIGHER: + case R_PPC64_ADDR16_HIGHERA: + case R_PPC64_ADDR16_HIGHEST: +@@ -14091,8 +13977,6 @@ ppc64_elf_relocate_section (bfd *output_bfd, + case R_PPC64_TPREL16_HA: + case R_PPC64_TPREL16_DS: + case R_PPC64_TPREL16_LO_DS: +- case R_PPC64_TPREL16_HIGH: +- case R_PPC64_TPREL16_HIGHA: + case R_PPC64_TPREL16_HIGHER: + case R_PPC64_TPREL16_HIGHERA: + case R_PPC64_TPREL16_HIGHEST: +@@ -14127,8 +14011,6 @@ ppc64_elf_relocate_section (bfd *output_bfd, + case R_PPC64_DTPREL16_HA: + case R_PPC64_DTPREL16_DS: + case R_PPC64_DTPREL16_LO_DS: +- case R_PPC64_DTPREL16_HIGH: +- case R_PPC64_DTPREL16_HIGHA: + case R_PPC64_DTPREL16_HIGHER: + case R_PPC64_DTPREL16_HIGHERA: + case R_PPC64_DTPREL16_HIGHEST: +@@ -14161,8 +14043,6 @@ ppc64_elf_relocate_section (bfd *output_bfd, + case R_PPC64_ADDR16_DS: + case R_PPC64_ADDR16_HA: + case R_PPC64_ADDR16_HI: +- case R_PPC64_ADDR16_HIGH: +- case R_PPC64_ADDR16_HIGHA: + case R_PPC64_ADDR16_HIGHER: + case R_PPC64_ADDR16_HIGHERA: + case R_PPC64_ADDR16_HIGHEST: +@@ -14477,20 +14357,21 @@ ppc64_elf_relocate_section (bfd *output_bfd, + default: + break; + +- case R_PPC64_REL16_HA: + case R_PPC64_ADDR16_HA: +- case R_PPC64_ADDR16_HIGHA: ++ case R_PPC64_REL16_HA: + case R_PPC64_ADDR16_HIGHERA: + case R_PPC64_ADDR16_HIGHESTA: + case R_PPC64_TOC16_HA: + case R_PPC64_SECTOFF_HA: + case R_PPC64_TPREL16_HA: +- case R_PPC64_TPREL16_HIGHA: ++ case R_PPC64_DTPREL16_HA: ++ case R_PPC64_TPREL16_HIGHER: + case R_PPC64_TPREL16_HIGHERA: ++ case R_PPC64_TPREL16_HIGHEST: + case R_PPC64_TPREL16_HIGHESTA: +- case R_PPC64_DTPREL16_HA: +- case R_PPC64_DTPREL16_HIGHA: ++ case R_PPC64_DTPREL16_HIGHER: + case R_PPC64_DTPREL16_HIGHERA: ++ case R_PPC64_DTPREL16_HIGHEST: + case R_PPC64_DTPREL16_HIGHESTA: + /* It's just possible that this symbol is a weak symbol + that's not actually defined anywhere. In that case, +diff --git a/bfd/reloc.c b/bfd/reloc.c +index 77a04f8..cc34760 100644 +--- a/bfd/reloc.c ++++ b/bfd/reloc.c +@@ -2895,10 +2895,6 @@ ENUMX + BFD_RELOC_PPC64_PLTGOT16_DS + ENUMX + BFD_RELOC_PPC64_PLTGOT16_LO_DS +-ENUMX +- BFD_RELOC_PPC64_ADDR16_HIGH +-ENUMX +- BFD_RELOC_PPC64_ADDR16_HIGHA + ENUMDOC + Power(rs6000) and PowerPC relocations. + +@@ -2986,14 +2982,6 @@ ENUMX + BFD_RELOC_PPC64_DTPREL16_HIGHEST + ENUMX + BFD_RELOC_PPC64_DTPREL16_HIGHESTA +-ENUMX +- BFD_RELOC_PPC64_TPREL16_HIGH +-ENUMX +- BFD_RELOC_PPC64_TPREL16_HIGHA +-ENUMX +- BFD_RELOC_PPC64_DTPREL16_HIGH +-ENUMX +- BFD_RELOC_PPC64_DTPREL16_HIGHA + ENUMDOC + PowerPC and PowerPC64 thread-local storage relocations. + +diff --git a/elfcpp/powerpc.h b/elfcpp/powerpc.h +index 98354a2..0f13eda 100644 +--- a/elfcpp/powerpc.h ++++ b/elfcpp/powerpc.h +@@ -164,17 +164,11 @@ enum + R_PPC_EMB_SDA21 = 109, + R_PPC64_TOCSAVE = 109, + R_PPC_EMB_MRKREF = 110, +- R_PPC64_ADDR16_HIGH = 110, + R_PPC_EMB_RELSEC16 = 111, +- R_PPC64_ADDR16_HIGHA = 111, + R_PPC_EMB_RELST_LO = 112, +- R_PPC64_TPREL16_HIGH = 112, + R_PPC_EMB_RELST_HI = 113, +- R_PPC64_TPREL16_HIGHA = 113, + R_PPC_EMB_RELST_HA = 114, +- R_PPC64_DTPREL16_HIGH = 114, + R_PPC_EMB_BIT_FLD = 115, +- R_PPC64_DTPREL16_HIGHA = 115, + R_PPC_EMB_RELSDA = 116, + + R_PPC_VLE_REL8 = 216, +diff --git a/gas/config/tc-ppc.c b/gas/config/tc-ppc.c +index 7c99e43..d888aee 100644 +--- a/gas/config/tc-ppc.c ++++ b/gas/config/tc-ppc.c +@@ -87,11 +87,7 @@ static int set_target_endian = 0; + compensating for #lo being treated as a signed number. */ + #define PPC_HIGHESTA(v) PPC_HIGHEST ((v) + 0x8000) + +-#define SEX16(val) (((val) ^ 0x8000) - 0x8000) +- +-/* For the time being on ppc64, don't report overflow on @h and @ha +- applied to constants. */ +-#define REPORT_OVERFLOW_HI 0 ++#define SEX16(val) ((((val) & 0xffff) ^ 0x8000) - 0x8000) + + static bfd_boolean reg_names_p = TARGET_REG_NAMES_P; + +@@ -1935,8 +1931,6 @@ ppc_elf_suffix (char **str_p, expressionS *exp_p) + MAP32 ("bitfld", BFD_RELOC_PPC_EMB_BIT_FLD), + MAP32 ("relsda", BFD_RELOC_PPC_EMB_RELSDA), + MAP32 ("xgot", BFD_RELOC_PPC_TOC16), +- MAP64 ("high", BFD_RELOC_PPC64_ADDR16_HIGH), +- MAP64 ("higha", BFD_RELOC_PPC64_ADDR16_HIGHA), + MAP64 ("higher", BFD_RELOC_PPC64_HIGHER), + MAP64 ("highera", BFD_RELOC_PPC64_HIGHER_S), + MAP64 ("highest", BFD_RELOC_PPC64_HIGHEST), +@@ -1946,14 +1940,10 @@ ppc_elf_suffix (char **str_p, expressionS *exp_p) + MAP64 ("toc@l", BFD_RELOC_PPC64_TOC16_LO), + MAP64 ("toc@h", BFD_RELOC_PPC64_TOC16_HI), + MAP64 ("toc@ha", BFD_RELOC_PPC64_TOC16_HA), +- MAP64 ("dtprel@high", BFD_RELOC_PPC64_DTPREL16_HIGH), +- MAP64 ("dtprel@higha", BFD_RELOC_PPC64_DTPREL16_HIGHA), + MAP64 ("dtprel@higher", BFD_RELOC_PPC64_DTPREL16_HIGHER), + MAP64 ("dtprel@highera", BFD_RELOC_PPC64_DTPREL16_HIGHERA), + MAP64 ("dtprel@highest", BFD_RELOC_PPC64_DTPREL16_HIGHEST), + MAP64 ("dtprel@highesta", BFD_RELOC_PPC64_DTPREL16_HIGHESTA), +- MAP64 ("tprel@high", BFD_RELOC_PPC64_TPREL16_HIGH), +- MAP64 ("tprel@higha", BFD_RELOC_PPC64_TPREL16_HIGHA), + MAP64 ("tprel@higher", BFD_RELOC_PPC64_TPREL16_HIGHER), + MAP64 ("tprel@highera", BFD_RELOC_PPC64_TPREL16_HIGHERA), + MAP64 ("tprel@highest", BFD_RELOC_PPC64_TPREL16_HIGHEST), +@@ -2923,76 +2913,55 @@ md_assemble (char *str) + break; + + case BFD_RELOC_LO16: +- ex.X_add_number &= 0xffff; +- if ((operand->flags & PPC_OPERAND_SIGNED) != 0) ++ /* X_unsigned is the default, so if the user has done ++ something which cleared it, we always produce a ++ signed value. */ ++ if (ex.X_unsigned && ! (operand->flags & PPC_OPERAND_SIGNED)) ++ ex.X_add_number &= 0xffff; ++ else + ex.X_add_number = SEX16 (ex.X_add_number); + break; + + case BFD_RELOC_HI16: +- if (REPORT_OVERFLOW_HI && ppc_obj64) +- { +- /* PowerPC64 @h is tested for overflow. */ +- ex.X_add_number = (addressT) ex.X_add_number >> 16; +- if ((operand->flags & PPC_OPERAND_SIGNED) != 0) +- { +- addressT sign = (((addressT) -1 >> 16) + 1) >> 1; +- ex.X_add_number +- = ((addressT) ex.X_add_number ^ sign) - sign; +- } +- break; +- } +- /* Fall thru */ +- +- case BFD_RELOC_PPC64_ADDR16_HIGH: +- ex.X_add_number = PPC_HI (ex.X_add_number); +- if ((operand->flags & PPC_OPERAND_SIGNED) != 0) +- ex.X_add_number = SEX16 (ex.X_add_number); ++ if (ex.X_unsigned && ! (operand->flags & PPC_OPERAND_SIGNED)) ++ ex.X_add_number = PPC_HI (ex.X_add_number); ++ else ++ ex.X_add_number = SEX16 (PPC_HI (ex.X_add_number)); + break; + + case BFD_RELOC_HI16_S: +- if (REPORT_OVERFLOW_HI && ppc_obj64) +- { +- /* PowerPC64 @ha is tested for overflow. */ +- ex.X_add_number +- = ((addressT) ex.X_add_number + 0x8000) >> 16; +- if ((operand->flags & PPC_OPERAND_SIGNED) != 0) +- { +- addressT sign = (((addressT) -1 >> 16) + 1) >> 1; +- ex.X_add_number +- = ((addressT) ex.X_add_number ^ sign) - sign; +- } +- break; +- } +- /* Fall thru */ +- +- case BFD_RELOC_PPC64_ADDR16_HIGHA: +- ex.X_add_number = PPC_HA (ex.X_add_number); +- if ((operand->flags & PPC_OPERAND_SIGNED) != 0) +- ex.X_add_number = SEX16 (ex.X_add_number); ++ if (ex.X_unsigned && ! (operand->flags & PPC_OPERAND_SIGNED)) ++ ex.X_add_number = PPC_HA (ex.X_add_number); ++ else ++ ex.X_add_number = SEX16 (PPC_HA (ex.X_add_number)); + break; + + case BFD_RELOC_PPC64_HIGHER: +- ex.X_add_number = PPC_HIGHER (ex.X_add_number); +- if ((operand->flags & PPC_OPERAND_SIGNED) != 0) +- ex.X_add_number = SEX16 (ex.X_add_number); ++ if (ex.X_unsigned && ! (operand->flags & PPC_OPERAND_SIGNED)) ++ ex.X_add_number = PPC_HIGHER (ex.X_add_number); ++ else ++ ex.X_add_number = SEX16 (PPC_HIGHER (ex.X_add_number)); + break; + + case BFD_RELOC_PPC64_HIGHER_S: +- ex.X_add_number = PPC_HIGHERA (ex.X_add_number); +- if ((operand->flags & PPC_OPERAND_SIGNED) != 0) +- ex.X_add_number = SEX16 (ex.X_add_number); ++ if (ex.X_unsigned && ! (operand->flags & PPC_OPERAND_SIGNED)) ++ ex.X_add_number = PPC_HIGHERA (ex.X_add_number); ++ else ++ ex.X_add_number = SEX16 (PPC_HIGHERA (ex.X_add_number)); + break; + + case BFD_RELOC_PPC64_HIGHEST: +- ex.X_add_number = PPC_HIGHEST (ex.X_add_number); +- if ((operand->flags & PPC_OPERAND_SIGNED) != 0) +- ex.X_add_number = SEX16 (ex.X_add_number); ++ if (ex.X_unsigned && ! (operand->flags & PPC_OPERAND_SIGNED)) ++ ex.X_add_number = PPC_HIGHEST (ex.X_add_number); ++ else ++ ex.X_add_number = SEX16 (PPC_HIGHEST (ex.X_add_number)); + break; + + case BFD_RELOC_PPC64_HIGHEST_S: +- ex.X_add_number = PPC_HIGHESTA (ex.X_add_number); +- if ((operand->flags & PPC_OPERAND_SIGNED) != 0) +- ex.X_add_number = SEX16 (ex.X_add_number); ++ if (ex.X_unsigned && ! (operand->flags & PPC_OPERAND_SIGNED)) ++ ex.X_add_number = PPC_HIGHESTA (ex.X_add_number); ++ else ++ ex.X_add_number = SEX16 (PPC_HIGHESTA (ex.X_add_number)); + break; + } + #endif /* OBJ_ELF */ +@@ -6566,51 +6535,25 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED) + fieldval = value & 0xffff; + sign_extend_16: + if (operand != NULL && (operand->flags & PPC_OPERAND_SIGNED) != 0) +- fieldval = SEX16 (fieldval); ++ fieldval = (fieldval ^ 0x8000) - 0x8000; + fixP->fx_no_overflow = 1; + break; + +- case BFD_RELOC_HI16: +- case BFD_RELOC_HI16_PCREL: + #ifdef OBJ_ELF +- if (REPORT_OVERFLOW_HI && ppc_obj64) +- { +- fieldval = value >> 16; +- if (operand != NULL && (operand->flags & PPC_OPERAND_SIGNED) != 0) +- { +- valueT sign = (((valueT) -1 >> 16) + 1) >> 1; +- fieldval = ((valueT) fieldval ^ sign) - sign; +- } +- break; +- } +- /* Fall thru */ +- + case BFD_RELOC_PPC_VLE_HI16A: + case BFD_RELOC_PPC_VLE_HI16D: +- case BFD_RELOC_PPC64_ADDR16_HIGH: + #endif ++ case BFD_RELOC_HI16: ++ case BFD_RELOC_HI16_PCREL: + fieldval = PPC_HI (value); + goto sign_extend_16; + +- case BFD_RELOC_HI16_S: +- case BFD_RELOC_HI16_S_PCREL: + #ifdef OBJ_ELF +- if (REPORT_OVERFLOW_HI && ppc_obj64) +- { +- fieldval = (value + 0x8000) >> 16; +- if (operand != NULL && (operand->flags & PPC_OPERAND_SIGNED) != 0) +- { +- valueT sign = (((valueT) -1 >> 16) + 1) >> 1; +- fieldval = ((valueT) fieldval ^ sign) - sign; +- } +- break; +- } +- /* Fall thru */ +- + case BFD_RELOC_PPC_VLE_HA16A: + case BFD_RELOC_PPC_VLE_HA16D: +- case BFD_RELOC_PPC64_ADDR16_HIGHA: + #endif ++ case BFD_RELOC_HI16_S: ++ case BFD_RELOC_HI16_S_PCREL: + fieldval = PPC_HA (value); + goto sign_extend_16; + +@@ -6673,14 +6616,10 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED) + case BFD_RELOC_PPC_GOT_DTPREL16_HA: + case BFD_RELOC_PPC64_TPREL16_DS: + case BFD_RELOC_PPC64_TPREL16_LO_DS: +- case BFD_RELOC_PPC64_TPREL16_HIGH: +- case BFD_RELOC_PPC64_TPREL16_HIGHA: + case BFD_RELOC_PPC64_TPREL16_HIGHER: + case BFD_RELOC_PPC64_TPREL16_HIGHERA: + case BFD_RELOC_PPC64_TPREL16_HIGHEST: + case BFD_RELOC_PPC64_TPREL16_HIGHESTA: +- case BFD_RELOC_PPC64_DTPREL16_HIGH: +- case BFD_RELOC_PPC64_DTPREL16_HIGHA: + case BFD_RELOC_PPC64_DTPREL16_DS: + case BFD_RELOC_PPC64_DTPREL16_LO_DS: + case BFD_RELOC_PPC64_DTPREL16_HIGHER: +@@ -6866,8 +6805,6 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED) + case BFD_RELOC_PPC64_HIGHER_S: + case BFD_RELOC_PPC64_HIGHEST: + case BFD_RELOC_PPC64_HIGHEST_S: +- case BFD_RELOC_PPC64_ADDR16_HIGH: +- case BFD_RELOC_PPC64_ADDR16_HIGHA: + break; + + case BFD_RELOC_PPC_DTPMOD: +@@ -6944,14 +6881,10 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED) + case BFD_RELOC_PPC64_TOC16_LO: + case BFD_RELOC_PPC64_TOC16_HI: + case BFD_RELOC_PPC64_TOC16_HA: +- case BFD_RELOC_PPC64_DTPREL16_HIGH: +- case BFD_RELOC_PPC64_DTPREL16_HIGHA: + case BFD_RELOC_PPC64_DTPREL16_HIGHER: + case BFD_RELOC_PPC64_DTPREL16_HIGHERA: + case BFD_RELOC_PPC64_DTPREL16_HIGHEST: + case BFD_RELOC_PPC64_DTPREL16_HIGHESTA: +- case BFD_RELOC_PPC64_TPREL16_HIGH: +- case BFD_RELOC_PPC64_TPREL16_HIGHA: + case BFD_RELOC_PPC64_TPREL16_HIGHER: + case BFD_RELOC_PPC64_TPREL16_HIGHERA: + case BFD_RELOC_PPC64_TPREL16_HIGHEST: +diff --git a/gold/powerpc.cc b/gold/powerpc.cc +index 1aa4791..b8e932e 100644 +--- a/gold/powerpc.cc ++++ b/gold/powerpc.cc +@@ -5168,8 +5168,6 @@ Target_powerpc::Scan::check_non_pic(Relobj* object, + case elfcpp::R_PPC64_JMP_IREL: + case elfcpp::R_PPC64_ADDR16_DS: + case elfcpp::R_PPC64_ADDR16_LO_DS: +- case elfcpp::R_PPC64_ADDR16_HIGH: +- case elfcpp::R_PPC64_ADDR16_HIGHA: + case elfcpp::R_PPC64_ADDR16_HIGHER: + case elfcpp::R_PPC64_ADDR16_HIGHEST: + case elfcpp::R_PPC64_ADDR16_HIGHERA: +@@ -5178,8 +5176,6 @@ Target_powerpc::Scan::check_non_pic(Relobj* object, + case elfcpp::R_POWERPC_ADDR30: + case elfcpp::R_PPC64_TPREL16_DS: + case elfcpp::R_PPC64_TPREL16_LO_DS: +- case elfcpp::R_PPC64_TPREL16_HIGH: +- case elfcpp::R_PPC64_TPREL16_HIGHA: + case elfcpp::R_PPC64_TPREL16_HIGHER: + case elfcpp::R_PPC64_TPREL16_HIGHEST: + case elfcpp::R_PPC64_TPREL16_HIGHERA: +@@ -5354,6 +5350,7 @@ Target_powerpc::Scan::local( + case elfcpp::R_POWERPC_GNU_VTINHERIT: + case elfcpp::R_POWERPC_GNU_VTENTRY: + case elfcpp::R_PPC64_TOCSAVE: ++ case elfcpp::R_PPC_EMB_MRKREF: + case elfcpp::R_POWERPC_TLS: + break; + +@@ -5391,8 +5388,6 @@ Target_powerpc::Scan::local( + case elfcpp::R_POWERPC_ADDR16_HI: + case elfcpp::R_POWERPC_ADDR16_HA: + case elfcpp::R_POWERPC_UADDR16: +- case elfcpp::R_PPC64_ADDR16_HIGH: +- case elfcpp::R_PPC64_ADDR16_HIGHA: + case elfcpp::R_PPC64_ADDR16_HIGHER: + case elfcpp::R_PPC64_ADDR16_HIGHERA: + case elfcpp::R_PPC64_ADDR16_HIGHEST: +@@ -5451,35 +5446,31 @@ Target_powerpc::Scan::local( + case elfcpp::R_POWERPC_REL16_HI: + case elfcpp::R_POWERPC_REL16_HA: + case elfcpp::R_POWERPC_SECTOFF: +- case elfcpp::R_POWERPC_SECTOFF_LO: +- case elfcpp::R_POWERPC_SECTOFF_HI: +- case elfcpp::R_POWERPC_SECTOFF_HA: +- case elfcpp::R_PPC64_SECTOFF_DS: +- case elfcpp::R_PPC64_SECTOFF_LO_DS: + case elfcpp::R_POWERPC_TPREL16: ++ case elfcpp::R_POWERPC_DTPREL16: ++ case elfcpp::R_POWERPC_SECTOFF_LO: + case elfcpp::R_POWERPC_TPREL16_LO: ++ case elfcpp::R_POWERPC_DTPREL16_LO: ++ case elfcpp::R_POWERPC_SECTOFF_HI: + case elfcpp::R_POWERPC_TPREL16_HI: ++ case elfcpp::R_POWERPC_DTPREL16_HI: ++ case elfcpp::R_POWERPC_SECTOFF_HA: + case elfcpp::R_POWERPC_TPREL16_HA: +- case elfcpp::R_PPC64_TPREL16_DS: +- case elfcpp::R_PPC64_TPREL16_LO_DS: +- case elfcpp::R_PPC64_TPREL16_HIGH: +- case elfcpp::R_PPC64_TPREL16_HIGHA: ++ case elfcpp::R_POWERPC_DTPREL16_HA: ++ case elfcpp::R_PPC64_DTPREL16_HIGHER: + case elfcpp::R_PPC64_TPREL16_HIGHER: ++ case elfcpp::R_PPC64_DTPREL16_HIGHERA: + case elfcpp::R_PPC64_TPREL16_HIGHERA: ++ case elfcpp::R_PPC64_DTPREL16_HIGHEST: + case elfcpp::R_PPC64_TPREL16_HIGHEST: ++ case elfcpp::R_PPC64_DTPREL16_HIGHESTA: + case elfcpp::R_PPC64_TPREL16_HIGHESTA: +- case elfcpp::R_POWERPC_DTPREL16: +- case elfcpp::R_POWERPC_DTPREL16_LO: +- case elfcpp::R_POWERPC_DTPREL16_HI: +- case elfcpp::R_POWERPC_DTPREL16_HA: ++ case elfcpp::R_PPC64_TPREL16_DS: ++ case elfcpp::R_PPC64_TPREL16_LO_DS: + case elfcpp::R_PPC64_DTPREL16_DS: + case elfcpp::R_PPC64_DTPREL16_LO_DS: +- case elfcpp::R_PPC64_DTPREL16_HIGH: +- case elfcpp::R_PPC64_DTPREL16_HIGHA: +- case elfcpp::R_PPC64_DTPREL16_HIGHER: +- case elfcpp::R_PPC64_DTPREL16_HIGHERA: +- case elfcpp::R_PPC64_DTPREL16_HIGHEST: +- case elfcpp::R_PPC64_DTPREL16_HIGHESTA: ++ case elfcpp::R_PPC64_SECTOFF_DS: ++ case elfcpp::R_PPC64_SECTOFF_LO_DS: + case elfcpp::R_PPC64_TLSGD: + case elfcpp::R_PPC64_TLSLD: + break; +@@ -5713,6 +5704,7 @@ Target_powerpc::Scan::global( + case elfcpp::R_POWERPC_GNU_VTINHERIT: + case elfcpp::R_POWERPC_GNU_VTENTRY: + case elfcpp::R_PPC_LOCAL24PC: ++ case elfcpp::R_PPC_EMB_MRKREF: + case elfcpp::R_POWERPC_TLS: + break; + +@@ -5762,8 +5754,6 @@ Target_powerpc::Scan::global( + case elfcpp::R_POWERPC_ADDR16_HI: + case elfcpp::R_POWERPC_ADDR16_HA: + case elfcpp::R_POWERPC_UADDR16: +- case elfcpp::R_PPC64_ADDR16_HIGH: +- case elfcpp::R_PPC64_ADDR16_HIGHA: + case elfcpp::R_PPC64_ADDR16_HIGHER: + case elfcpp::R_PPC64_ADDR16_HIGHERA: + case elfcpp::R_PPC64_ADDR16_HIGHEST: +@@ -5897,35 +5887,31 @@ Target_powerpc::Scan::global( + case elfcpp::R_POWERPC_REL16_HI: + case elfcpp::R_POWERPC_REL16_HA: + case elfcpp::R_POWERPC_SECTOFF: +- case elfcpp::R_POWERPC_SECTOFF_LO: +- case elfcpp::R_POWERPC_SECTOFF_HI: +- case elfcpp::R_POWERPC_SECTOFF_HA: +- case elfcpp::R_PPC64_SECTOFF_DS: +- case elfcpp::R_PPC64_SECTOFF_LO_DS: + case elfcpp::R_POWERPC_TPREL16: ++ case elfcpp::R_POWERPC_DTPREL16: ++ case elfcpp::R_POWERPC_SECTOFF_LO: + case elfcpp::R_POWERPC_TPREL16_LO: ++ case elfcpp::R_POWERPC_DTPREL16_LO: ++ case elfcpp::R_POWERPC_SECTOFF_HI: + case elfcpp::R_POWERPC_TPREL16_HI: ++ case elfcpp::R_POWERPC_DTPREL16_HI: ++ case elfcpp::R_POWERPC_SECTOFF_HA: + case elfcpp::R_POWERPC_TPREL16_HA: +- case elfcpp::R_PPC64_TPREL16_DS: +- case elfcpp::R_PPC64_TPREL16_LO_DS: +- case elfcpp::R_PPC64_TPREL16_HIGH: +- case elfcpp::R_PPC64_TPREL16_HIGHA: ++ case elfcpp::R_POWERPC_DTPREL16_HA: ++ case elfcpp::R_PPC64_DTPREL16_HIGHER: + case elfcpp::R_PPC64_TPREL16_HIGHER: ++ case elfcpp::R_PPC64_DTPREL16_HIGHERA: + case elfcpp::R_PPC64_TPREL16_HIGHERA: ++ case elfcpp::R_PPC64_DTPREL16_HIGHEST: + case elfcpp::R_PPC64_TPREL16_HIGHEST: ++ case elfcpp::R_PPC64_DTPREL16_HIGHESTA: + case elfcpp::R_PPC64_TPREL16_HIGHESTA: +- case elfcpp::R_POWERPC_DTPREL16: +- case elfcpp::R_POWERPC_DTPREL16_LO: +- case elfcpp::R_POWERPC_DTPREL16_HI: +- case elfcpp::R_POWERPC_DTPREL16_HA: ++ case elfcpp::R_PPC64_TPREL16_DS: ++ case elfcpp::R_PPC64_TPREL16_LO_DS: + case elfcpp::R_PPC64_DTPREL16_DS: + case elfcpp::R_PPC64_DTPREL16_LO_DS: +- case elfcpp::R_PPC64_DTPREL16_HIGH: +- case elfcpp::R_PPC64_DTPREL16_HIGHA: +- case elfcpp::R_PPC64_DTPREL16_HIGHER: +- case elfcpp::R_PPC64_DTPREL16_HIGHERA: +- case elfcpp::R_PPC64_DTPREL16_HIGHEST: +- case elfcpp::R_PPC64_DTPREL16_HIGHESTA: ++ case elfcpp::R_PPC64_SECTOFF_DS: ++ case elfcpp::R_PPC64_SECTOFF_LO_DS: + case elfcpp::R_PPC64_TLSGD: + case elfcpp::R_PPC64_TLSLD: + break; +@@ -7098,10 +7084,8 @@ Target_powerpc::Relocate::relocate( + + case elfcpp::R_PPC64_TPREL16_DS: + case elfcpp::R_PPC64_TPREL16_LO_DS: +- case elfcpp::R_PPC64_TPREL16_HIGH: +- case elfcpp::R_PPC64_TPREL16_HIGHA: + if (size != 64) +- // R_PPC_TLSGD, R_PPC_TLSLD, R_PPC_EMB_RELST_LO, R_PPC_EMB_RELST_HI ++ // R_PPC_TLSGD and R_PPC_TLSLD + break; + case elfcpp::R_POWERPC_TPREL16: + case elfcpp::R_POWERPC_TPREL16_LO: +@@ -7131,8 +7115,6 @@ Target_powerpc::Relocate::relocate( + case elfcpp::R_POWERPC_DTPREL16_HI: + case elfcpp::R_POWERPC_DTPREL16_HA: + case elfcpp::R_POWERPC_DTPREL: +- case elfcpp::R_PPC64_DTPREL16_HIGH: +- case elfcpp::R_PPC64_DTPREL16_HIGHA: + // tls symbol values are relative to tls_segment()->vaddr() + value -= dtp_offset; + break; +@@ -7273,34 +7255,6 @@ Target_powerpc::Relocate::relocate( + overflow = Reloc::CHECK_BITFIELD; + break; + +- case elfcpp::R_POWERPC_ADDR16_HI: +- case elfcpp::R_POWERPC_ADDR16_HA: +- case elfcpp::R_POWERPC_GOT16_HI: +- case elfcpp::R_POWERPC_GOT16_HA: +- case elfcpp::R_POWERPC_PLT16_HI: +- case elfcpp::R_POWERPC_PLT16_HA: +- case elfcpp::R_POWERPC_SECTOFF_HI: +- case elfcpp::R_POWERPC_SECTOFF_HA: +- case elfcpp::R_PPC64_TOC16_HI: +- case elfcpp::R_PPC64_TOC16_HA: +- case elfcpp::R_PPC64_PLTGOT16_HI: +- case elfcpp::R_PPC64_PLTGOT16_HA: +- case elfcpp::R_POWERPC_TPREL16_HI: +- case elfcpp::R_POWERPC_TPREL16_HA: +- case elfcpp::R_POWERPC_DTPREL16_HI: +- case elfcpp::R_POWERPC_DTPREL16_HA: +- case elfcpp::R_POWERPC_GOT_TLSGD16_HI: +- case elfcpp::R_POWERPC_GOT_TLSGD16_HA: +- case elfcpp::R_POWERPC_GOT_TLSLD16_HI: +- case elfcpp::R_POWERPC_GOT_TLSLD16_HA: +- case elfcpp::R_POWERPC_GOT_TPREL16_HI: +- case elfcpp::R_POWERPC_GOT_TPREL16_HA: +- case elfcpp::R_POWERPC_GOT_DTPREL16_HI: +- case elfcpp::R_POWERPC_GOT_DTPREL16_HA: +- case elfcpp::R_POWERPC_REL16_HI: +- case elfcpp::R_POWERPC_REL16_HA: +- if (size == 32) +- break; + case elfcpp::R_POWERPC_REL24: + case elfcpp::R_PPC_PLTREL24: + case elfcpp::R_PPC_LOCAL24PC: +@@ -7334,6 +7288,7 @@ Target_powerpc::Relocate::relocate( + case elfcpp::R_POWERPC_TLS: + case elfcpp::R_POWERPC_GNU_VTINHERIT: + case elfcpp::R_POWERPC_GNU_VTENTRY: ++ case elfcpp::R_PPC_EMB_MRKREF: + break; + + case elfcpp::R_PPC64_ADDR64: +@@ -7404,12 +7359,6 @@ Target_powerpc::Relocate::relocate( + status = Reloc::addr16_u(view, value, overflow); + break; + +- case elfcpp::R_PPC64_ADDR16_HIGH: +- case elfcpp::R_PPC64_TPREL16_HIGH: +- case elfcpp::R_PPC64_DTPREL16_HIGH: +- if (size == 32) +- // R_PPC_EMB_MRKREF, R_PPC_EMB_RELST_LO, R_PPC_EMB_RELST_HA +- goto unsupp; + case elfcpp::R_POWERPC_ADDR16_HI: + case elfcpp::R_POWERPC_REL16_HI: + case elfcpp::R_PPC64_TOC16_HI: +@@ -7424,12 +7373,6 @@ Target_powerpc::Relocate::relocate( + Reloc::addr16_hi(view, value); + break; + +- case elfcpp::R_PPC64_ADDR16_HIGHA: +- case elfcpp::R_PPC64_TPREL16_HIGHA: +- case elfcpp::R_PPC64_DTPREL16_HIGHA: +- if (size == 32) +- // R_PPC_EMB_RELSEC16, R_PPC_EMB_RELST_HI, R_PPC_EMB_BIT_FLD +- goto unsupp; + case elfcpp::R_POWERPC_ADDR16_HA: + case elfcpp::R_POWERPC_REL16_HA: + case elfcpp::R_PPC64_TOC16_HA: +@@ -7554,6 +7497,11 @@ Target_powerpc::Relocate::relocate( + case elfcpp::R_PPC64_PLT16_LO_DS: + case elfcpp::R_PPC64_PLTGOT16_DS: + case elfcpp::R_PPC64_PLTGOT16_LO_DS: ++ case elfcpp::R_PPC_EMB_RELSEC16: ++ case elfcpp::R_PPC_EMB_RELST_LO: ++ case elfcpp::R_PPC_EMB_RELST_HI: ++ case elfcpp::R_PPC_EMB_RELST_HA: ++ case elfcpp::R_PPC_EMB_BIT_FLD: + case elfcpp::R_PPC_EMB_RELSDA: + case elfcpp::R_PPC_TOC16: + default: +diff --git a/include/elf/ppc64.h b/include/elf/ppc64.h +index 78d947b..5888460 100644 +--- a/include/elf/ppc64.h ++++ b/include/elf/ppc64.h +@@ -141,14 +141,6 @@ START_RELOC_NUMBERS (elf_ppc64_reloc_type) + RELOC_NUMBER (R_PPC64_TLSLD, 108) + RELOC_NUMBER (R_PPC64_TOCSAVE, 109) + +-/* Added when HA and HI relocs were changed to report overflows. */ +- RELOC_NUMBER (R_PPC64_ADDR16_HIGH, 110) +- RELOC_NUMBER (R_PPC64_ADDR16_HIGHA, 111) +- RELOC_NUMBER (R_PPC64_TPREL16_HIGH, 112) +- RELOC_NUMBER (R_PPC64_TPREL16_HIGHA, 113) +- RELOC_NUMBER (R_PPC64_DTPREL16_HIGH, 114) +- RELOC_NUMBER (R_PPC64_DTPREL16_HIGHA, 115) +- + #ifndef RELOC_MACROS_GEN_FUNC + /* Fake relocation only used internally by ld. */ + RELOC_NUMBER (R_PPC64_LO_DS_OPT, 128) +@@ -169,9 +161,8 @@ START_RELOC_NUMBERS (elf_ppc64_reloc_type) + + END_RELOC_NUMBERS (R_PPC64_max) + +-#define IS_PPC64_TLS_RELOC(R) \ +- (((R) >= R_PPC64_TLS && (R) <= R_PPC64_DTPREL16_HIGHESTA) \ +- || ((R) >= R_PPC64_TPREL16_HIGH && (R) <= R_PPC64_DTPREL16_HIGHA)) ++#define IS_PPC64_TLS_RELOC(R) \ ++ ((R) >= R_PPC64_TLS && (R) <= R_PPC64_DTPREL16_HIGHESTA) + + + /* e_flags bits specifying ABI. +-- +1.7.9.5 + 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 @@ +valgrind: Disable Power ISA 2.07 check + +The Power ISA 2.07 check fails when not supported by both machine +architecture and gcc. + +Upstream-Status: Inappropriate [disable feature] + +Signed-off-by: Gabriel Barbu + +--- a/configure.ac 2014-05-05 17:06:29.674630565 +0200 ++++ b/configure.ac 2014-05-06 13:16:47.525598513 +0200 +@@ -1316,18 +1316,25 @@ + AM_CONDITIONAL(BUILD_DFP_TESTS, test x$ac_gcc_have_dfp_type = xyes) + + # isa 2.07 checking +-AC_MSG_CHECKING([that assembler knows ISA 2.07 ]) ++AC_ARG_ENABLE([isa_2_07_check], ++ [AS_HELP_STRING([--disable-isa_2_07_check], ++ [disable Power ISA 2.07 check])], ++ [], ++ [disable_isa_2_07_check=no]) + +-AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ +-]], [[ +- __asm__ __volatile__("mtvsrd 1,2 "); +-]])], [ +-ac_asm_have_isa_2_07=yes +-AC_MSG_RESULT([yes]) +-], [ +-ac_asm_have_isa_2_07=no +-AC_MSG_RESULT([no]) +-]) ++AS_IF([test "x$disable_isa_2_07_check" = xno], ++ [AC_MSG_CHECKING([that assembler knows ISA 2.07 ]) ++ ++ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ ++ ]], [[ ++ __asm__ __volatile__("mtvsrd 1,2 "); ++ ]])], [ ++ ac_asm_have_isa_2_07=yes ++ AC_MSG_RESULT([yes]) ++ ], [ ++ ac_asm_have_isa_2_07=no ++ AC_MSG_RESULT([no]) ++ ])]) + + AM_CONDITIONAL(HAS_ISA_2_07, test x$ac_asm_have_isa_2_07 = xyes) + 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 @@ +EXTRA_OECONF_append_b4860qds-64b = " --disable-isa_2_07_check" + +FILESEXTRAPATHS_prepend := "${THISDIR}/files:" + +SRC_URI += "\ + file://disable-power-isa-2.07-check.patch \ + " + +do_compile_ptest_zc702-zynq7-prt() { + # This is to replace the ptest building part that fails due to + # internal compiler error on ARM targets (LXCR-3358) + echo "" +} + +do_compile_ptest_zc702-zynq7() { + # This is to replace the ptest building part that fails due to + # internal compiler error on ARM targets (LXCR-3358) + echo "" +} + +do_compile_ptest_k2hk-evm() { + # This is to replace the ptest building part that fails due to + # internal compiler error on ARM targets (LXCR-3358) + echo "" +} +do_compile_ptest_proliant-m800() { + # This is to replace the ptest building part that fails due to + # internal compiler error on ARM targets (LXCR-3358) + echo "" +} 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 @@ +#!/bin/sh -eu + +fail () { + printf "%s\n" "$*" + exit +} + +count_ticks --cpu 0 --start || fail "Failed starting tick counting" +find /usr -name dummy 2>&1 > /dev/null + +nr_ticks=$(count_ticks --batch --cpu 0 --end) + +if [ $? -ne 0 ]; then + echo "FAIL: count_ticks failed execution" + exit +fi + +if [ $nr_ticks == 0 ]; then + echo "FAIL: count_ticks didn't see any ticks" + exit +fi + +echo "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 @@ +SUMMARY = "Tick count tool" +DESCRIPTION = "Count number of kernel ticks during command execution." +SECTION = "utils" +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://LICENSE;md5=b52bab7a403562f36be803f11489f1a4" + +PR = "r1" + +RDEPENDS_${PN} = "bash" + +SRC_URI = "git://github.com/OpenEneaLinux/rt-tools.git;branch=master \ + file://run-ptest \ + " + +SRCREV = "0fa0a8e084fe68e77a1f0968f2fbfa993292ae9c" + +inherit ptest + +S = "${WORKDIR}/git" + +FILES_${PN} += "/bin/*" + +do_install() { + install -D ${S}/install/bin/count_ticks ${D}/usr/bin/count_ticks +} 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 @@ +Fixed buffer free problem when sending between threads in the same process. + +Upstream-Status: Not Applicable + +Signed-off-by: Huimin She + +--- +diff -rup a/liblinx/linx.c b/liblinx/linx.c +--- a/liblinx/linx.c 2014-04-17 13:40:30.000000000 +0200 ++++ b/liblinx/linx.c 2014-07-24 14:22:30.264648751 +0200 +@@ -711,7 +711,10 @@ int linx_send(LINX * linx, union LINX_SI + if (ret == 0) { + sig_adm->sndrcv = sndrcv; + } +- adm_free_buf(linx, sig_adm); ++ if (ret != 1) { ++ /* Don't free signals sent back to itself, they are needed later! */ ++ adm_free_buf(linx, sig_adm); ++ } + out: + /* Take signal pointer from user. */ + *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 @@ +From 5ea9763286eb43e01c4ef2f3db59e13367a77138 Mon Sep 17 00:00:00 2001 +From: jack zhang +Date: Mon, 17 Dec 2012 03:52:11 +0100 +Subject: [PATCH] LXCR-995 As an Enea sales person, I want LINX added to Enea + Linux +Signed-off-by: jack zhang + + Upstream-Status: Pending + For details, see LINXCR-1518 +--- + liblinx/Makefile.am | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/liblinx/Makefile.am b/liblinx/Makefile.am +index 8559e43..3ce47d6 100644 +--- a/liblinx/Makefile.am ++++ b/liblinx/Makefile.am +@@ -47,7 +47,7 @@ dist_man7_MANS = $(LINXROOT)/doc/man7/linx.7 + + include $(LINXROOT)/flags.am + +-include_HEADERS = \ ++nobase_include_HEADERS = \ + $(LINXROOT)/include/linx.h \ + $(LINXROOT)/include/linx_ioctl.h \ + $(LINXROOT)/include/linx_socket.h \ +-- +1.7.5.4 + 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 @@ +From a3b3dc8117490ddfcc2081fca5ff663e4157a106 Mon Sep 17 00:00:00 2001 +From: jack zhang +Date: Mon, 17 Dec 2012 03:57:15 +0100 +Subject: [PATCH] LXCR-995 As an Enea sales person, I want LINX added to Enea + Linux +Signed-off-by: jack zhang + + Upstream-Status: Pending + For details, see LINXCR-1518 +--- + linxcfg/Makefile.am | 4 +--- + 1 files changed, 1 insertions(+), 3 deletions(-) + +diff --git a/linxcfg/Makefile.am b/linxcfg/Makefile.am +index 9fc8e84..287c71b 100644 +--- a/linxcfg/Makefile.am ++++ b/linxcfg/Makefile.am +@@ -24,16 +24,14 @@ dist_man1_MANS = \ + $(LINXROOT)/doc/man1/mkcmclcon.1 \ + $(LINXROOT)/doc/man1/rmcmclcon.1 + +-include_HEADERS = \ ++nobase_include_HEADERS = \ + $(LINXROOT)/include/linxcfg.h \ + $(LINXROOT)/include/linux/ethcm_db_ioctl.h \ + $(LINXROOT)/include/linux/rlnh_db_ioctl.h \ + $(LINXROOT)/include/linux/tcpcm_db_ioctl.h \ + $(LINXROOT)/include/linux/shmcm_db_ioctl.h \ +- $(LINXROOT)/include/linux/riocm_db_ioctl.h \ + $(LINXROOT)/include/linux/cmcl_db_ioctl.h \ + $(LINXROOT)/include/linux/riocm_db_ioctl.h \ +- $(LINXROOT)/include/linux/cmcl_db_ioctl.h \ + $(LINXROOT)/include/db_ioctl.h \ + $(LINXROOT)/include/ethcm_db_ioctl.h \ + $(LINXROOT)/include/rlnh_db_ioctl.h \ +-- +1.7.5.4 + 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 @@ +Use KERNEL_SRC and modules_install to get use of pokys build kernel modules. +fix version.h problem. + +Signed-off-by: Anders Roxell + +Upstream-status: Pending +--- +diff -uNr a/cmcl/Makefile b/cmcl/Makefile +--- a/cmcl/Makefile 2013-02-25 15:46:59.777325274 +0100 ++++ b/cmcl/Makefile 2013-02-25 15:57:22.038398316 +0100 +@@ -3,8 +3,8 @@ + LINX ?= $(CURDIR)/../../.. + include $(LINX)/net/linx/config.mk + +-KERNEL_CODE := $(shell awk '/LINUX_VERSION_CODE/ {print $$3}' $(KERNEL)/include/linux/version.h) +-VENDOR_VERSION := $(shell awk '/UTS_RELEASE/ {print $$3}' $(KERNEL)/include/linux/version.h) ++KERNEL_CODE := $(shell awk '/LINUX_VERSION_CODE/ {print $$3}' $(KERNEL_SRC)/include/generated/utsrelease.h) ++VENDOR_VERSION := $(shell awk '/UTS_RELEASE/ {print $$3}' $(KERNEL_SRC)/include/generated/utsrelease.h) + + ifneq ($(VENDOR_VERSION), "") + EXTRA_CFLAGS += -DGFP_IS_INT +@@ -38,15 +38,17 @@ + + linx_cmcl-y += cmcl.o + ++SRC := $(shell pwd) ++ + modules: +- $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL) M=`pwd` modules ++ $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL_SRC) M=$(SRC) modules + $(CP) linx_cmcl.ko .. + + clean: +- $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL) M=`pwd` clean ++ $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL_SRC) M=$(SRC) clean + $(LINXRM) Module.symvers Module.markers modules.order ../linx_cmcl.ko + +-install: modules +- $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL) M=`pwd` modules_install ++modules_install: modules ++ $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL_SRC) M=$(SRC) modules_install + depmod + +diff -uNr a/config.mk b/config.mk +--- a/config.mk 2013-02-25 15:46:59.781325113 +0100 ++++ b/config.mk 2013-02-25 16:13:30.672459997 +0100 +@@ -3,7 +3,7 @@ + # CROSS_COMPILE is cross compiler prefix (including full path) + CROSS_COMPILE ?= + # KERNEL is the path to your kernel sources +-KERNEL ?= ++KERNEL_SRC ?= + + # Host architecture + HOST_ARCH ?= $(patsubst i%86,i386,$(shell uname -m)) +@@ -26,13 +26,13 @@ + endif + + ifeq ($(ARCH),$(HOST_ARCH)) +-ifndef KERNEL +-KERNEL := $(HOST_KERNEL) ++ifndef KERNEL_SRC ++KERNEL_SRC := $(HOST_KERNEL) + endif + else +-ifndef KERNEL ++ifndef KERNEL_SRC + ifdef NEED_KERNEL +-$(error Please define KERNEL.) ++$(error Please define KERNEL_SRC.) + endif + endif + endif +@@ -53,8 +53,8 @@ + ifdef CROSS_COMPILE + $(ECHO) "# CROSS_COMPILE=$(CROSS_COMPILE)" + endif +-ifdef KERNEL +- $(ECHO) "# KERNEL=$(KERNEL)" ++ifdef KERNEL_SRC ++ $(ECHO) "# KERNEL_SRC=$(KERNEL_SRC)" + endif + ifdef VERBOSE + $(ECHO) "# VERBOSE=$(VERBOSE)" +@@ -62,7 +62,7 @@ + $(ECHO) "# VERBOSE=no" + endif + +-export ARCH CROSS_COMPILE KERNEL LINX ++export ARCH CROSS_COMPILE KERNEL_SRC LINX + + .PHONY: echo_config + +@@ -117,5 +117,5 @@ + # in the mercury linux distribution. + EXTRA_CFLAGS += -I$(KDIR)/arch/ppc -DRLNH_ALIGN_ANY + else # x86 +-KDIR := /lib/modules/$(shell uname -r)/build ++KDIR := /lib/modules/$(KERNEL_VERSION)/build + endif +diff -uNr a/ecm/Makefile b/ecm/Makefile +--- a/ecm/Makefile 2013-02-25 15:46:59.781325113 +0100 ++++ b/ecm/Makefile 2013-02-25 16:11:13.754388313 +0100 +@@ -5,8 +5,8 @@ + LINX ?= $(CURDIR)/../../.. + include $(LINX)/net/linx/config.mk + +-KERNEL_CODE := $(shell awk '/LINUX_VERSION_CODE/ {print $$3}' $(KERNEL)/include/linux/version.h) +-VENDOR_VERSION := $(shell awk '/UTS_RELEASE/ {print $$3}' $(KERNEL)/include/linux/version.h) ++KERNEL_CODE := $(shell awk '/LINUX_VERSION_CODE/ {print $$3}' $(KERNEL_SRC)/include/generated/utsrelease.h) ++VENDOR_VERSION := $(shell awk '/UTS_RELEASE/ {print $$3}' $(KERNEL_SRC)/include/generated/utsrelease.h) + + ifneq ($(VENDOR_VERSION), "") + EXTRA_CFLAGS += -DGFP_IS_INT +@@ -43,14 +43,16 @@ + linx_eth_cm-y += ecm_rx.o + linx_eth_cm-y += ecm_kutils.o + ++SRC := $(shell pwd) ++ + modules: +- $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL) M=`pwd` modules ++ $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL_SRC) M=$(SRC) modules + $(CP) linx_eth_cm.ko .. + + clean: +- $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL) M=`pwd` clean ++ $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL_SRC) M=$(SRC) clean + $(LINXRM) Module.symvers Module.markers modules.order ../linx_eth_cm.ko + +-install: modules +- $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL) M=`pwd` modules_install ++modules_install: modules ++ $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL_SRC) M=$(SRC) modules_install + depmod +diff -uNr a/Makefile b/Makefile +--- a/Makefile 2013-02-25 15:46:59.781325113 +0100 ++++ b/Makefile 2013-02-25 15:53:22.752757899 +0100 +@@ -63,9 +63,9 @@ + 2_6_11 := 132619 + + # Vendors version of kernel, needed to catch certain back patches +-VENDOR_VERSION := $(shell awk '/UTS_RELEASE/ {print $$3}' $(KERNEL)/include/linux/version.h) ++VENDOR_VERSION := $(shell awk '/UTS_RELEASE/ {print $$3}' $(KERNEL_SRC)/include/generated/utsrelease.h) + # Main line kernel version +-KERNEL_CODE := $(shell awk '/LINUX_VERSION_CODE/ {print $$3}' $(KERNEL)/include/linux/version.h) ++KERNEL_CODE := $(shell awk '/LINUX_VERSION_CODE/ {print $$3}' $(KERNEL_SRC)/include/generated/utsrelease.h) + + # + # 'gt_or_eq' +@@ -140,14 +140,16 @@ + obj-y += riocm/ + obj-y += cmcl/ + ++SRC := $(shell pwd) ++ + modules: +- $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL) M=`pwd` modules ++ $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL_SRC) M=$(SRC) modules + $(CP) */*.ko . + clean: +- $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL) M=`pwd` clean ++ $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL_SRC) M=$(SRC) clean + $(LINXRM) Module.symvers Module.markers modules.order + +-install: modules +- $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL) M=`pwd` modules_install ++modules_install: modules ++ $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL_SRC) M=$(SRC) modules_install + depmod + +diff -uNr a/riocm/Makefile b/riocm/Makefile +--- a/riocm/Makefile 2013-02-25 15:46:59.781325113 +0100 ++++ b/riocm/Makefile 2013-02-25 16:05:33.381125565 +0100 +@@ -5,8 +5,8 @@ + LINX ?= $(CURDIR)/../../.. + include $(LINX)/net/linx/config.mk + +-KERNEL_CODE := $(shell awk '/LINUX_VERSION_CODE/ {print $$3}' $(KERNEL)/include/linux/version.h) +-VENDOR_VERSION := $(shell awk '/UTS_RELEASE/ {print $$3}' $(KERNEL)/include/linux/version.h) ++KERNEL_CODE := $(shell awk '/LINUX_VERSION_CODE/ {print $$3}' $(KERNEL_SRC)/include/generated/utsrelease.h) ++VENDOR_VERSION := $(shell awk '/UTS_RELEASE/ {print $$3}' $(KERNEL_SRC)/include/generated/utsrelease.h) + + ifneq ($(VENDOR_VERSION), "") + EXTRA_CFLAGS += -DGFP_IS_INT +@@ -43,15 +43,17 @@ + linx_rio_cm-y += rio_rx.o + linx_rio_cm-y += rio_kutils.o + ++SRC := $(shell pwd) ++ + modules: +- $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL) M=`pwd` modules ++ $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL_SRC) M=$(SRC) modules + $(CP) linx_rio_cm.ko .. + + clean: +- $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL) M=`pwd` clean ++ $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL_SRC) M=$(SRC) clean + $(LINXRM) Module.symvers Module.markers modules.order ../linx_rio_cm.ko + +-install: modules +- $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL) M=`pwd` modules_install ++modules_install: modules ++ $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL_SRC) M=$(SRC) modules_install + depmod + +diff -uNr a/shmcm/Makefile b/shmcm/Makefile +--- a/shmcm/Makefile 2013-02-25 15:46:59.781325113 +0100 ++++ b/shmcm/Makefile 2013-02-25 16:03:58.113250295 +0100 +@@ -5,8 +5,8 @@ + LINX ?= $(CURDIR)/../../.. + include $(LINX)/net/linx/config.mk + +-KERNEL_CODE := $(shell awk '/LINUX_VERSION_CODE/ {print $$3}' $(KERNEL)/include/linux/version.h) +-VENDOR_VERSION := $(shell awk '/UTS_RELEASE/ {print $$3}' $(KERNEL)/include/linux/version.h) ++KERNEL_CODE := $(shell awk '/LINUX_VERSION_CODE/ {print $$3}' $(KERNEL_SRC)/include/generated/utsrelease.h) ++VENDOR_VERSION := $(shell awk '/UTS_RELEASE/ {print $$3}' $(KERNEL_SRC)/include/generated/utsrelease.h) + + ifneq ($(VENDOR_VERSION), "") + EXTRA_CFLAGS += -DGFP_IS_INT +@@ -60,7 +60,7 @@ + -I$(LINX)/net/linx/include \ + -I$(LINX)/net/linx/shmcm + +-INSTALLDIR = /lib/modules/`uname -r`/kernel/net/linx ++INSTALLDIR = /lib/modules/$(KERNEL_VERSION)/kernel/net/linx + MODULES = linx_shm_cm.ko + + obj-m := linx_shm_cm.o +@@ -70,15 +70,17 @@ + linx_shm_cm-y += shmcm_tx.o + linx_shm_cm-y += shmcm_kutils.o + ++SRC := $(shell pwd) ++ + modules: +- $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL) M=`pwd` modules ++ $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL_SRC) M=$(SRC) modules + $(CP) linx_shm_cm.ko .. + + clean: +- $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL) M=`pwd` clean ++ $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL_SRC) M=$(SRC) clean + $(LINXRM) Module.symvers Module.markers modules.order ../linx_shm_cm.ko + +-install: modules +- $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL) M=`pwd` modules_install ++modules_install: modules ++ $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL_SRC) M=$(SRC) modules_install + depmod + +diff -uNr a/tcp_cm/Makefile b/tcp_cm/Makefile +--- a/tcp_cm/Makefile 2013-02-25 15:46:59.781325113 +0100 ++++ b/tcp_cm/Makefile 2013-02-25 16:10:09.097187839 +0100 +@@ -3,8 +3,8 @@ + LINX ?= $(CURDIR)/../../.. + include $(LINX)/net/linx/config.mk + +-KERNEL_CODE := $(shell awk '/LINUX_VERSION_CODE/ {print $$3}' $(KERNEL)/include/linux/version.h) +-VENDOR_VERSION := $(shell awk '/UTS_RELEASE/ {print $$3}' $(KERNEL)/include/linux/version.h) ++KERNEL_CODE := $(shell awk '/LINUX_VERSION_CODE/ {print $$3}' $(KERNEL_SRC)/include/generated/utsrelease.h) ++VENDOR_VERSION := $(shell awk '/UTS_RELEASE/ {print $$3}' $(KERNEL_SRC)/include/generated/utsrelease.h) + + ifneq ($(VENDOR_VERSION), "") + EXTRA_CFLAGS += -DGFP_IS_INT +@@ -38,15 +38,17 @@ + + linx_tcp_cm-y += tcp_cm.o + ++SRC := $(shell pwd) ++ + modules: +- $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL) M=`pwd` modules ++ $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL_SRC) M=$(SRC) modules + $(CP) linx_tcp_cm.ko .. + + clean: +- $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL) M=`pwd` clean ++ $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL_SRC) M=$(SRC) clean + $(LINXRM) Module.symvers Module.markers modules.order ../linx_tcp_cm.ko + +-install: modules +- $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL) M=`pwd` modules_install ++modules_install: modules ++ $(XMAKE) ARCH=$(ARCH) V=$(V) -C $(KERNEL_SRC) M=$(SRC) modules_install + depmod + 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 @@ +From 20294330f08283d28b6092b568156e29b1792328 Mon Sep 17 00:00:00 2001 +From: Adrian Dudau +Date: Thu, 12 Dec 2013 11:23:24 +0100 +Subject: [PATCH] support for 3.11 kernel versions + +Fixed NULL pointer dereference in ecm_conn.c + +Signed-off-by: Adrian Dudau +--- + cfg/db_proc.c | 23 ++++++++++++++++++----- + ecm/ecm_conn.c | 11 ++++++++--- + ipc/hunt.c | 24 ++++++++++++++++++++++++ + 3 files changed, 50 insertions(+), 8 deletions(-) + +diff --git a/cfg/db_proc.c b/cfg/db_proc.c +index c062a3d..bad0353 100644 +--- a/cfg/db_proc.c ++++ b/cfg/db_proc.c +@@ -41,6 +41,12 @@ + #include "db_format.h" + #include + ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 0)) ++#define PDE_INODE_NAME(inode) PDE_DATA(inode) ++#else ++#define PDE_INODE_NAME(inode) PDE(inode)->name ++#endif ++ + struct db_seq { + const struct db_template *template; + struct list_head *list; +@@ -148,11 +154,11 @@ static int db_proc_open(struct inode *inode, struct file *file) + if (status != 0) + goto out_20; + +- status = db_template_get(PDE(inode)->name, &p->template); ++ status = db_template_get(PDE_INODE_NAME(inode), &p->template); + if (status != 0) + goto out_20; + +- status = db_list_get(PDE(inode)->name, &p->list); ++ status = db_list_get(PDE_INODE_NAME(inode), &p->list); + if (status != 0) + goto out_10; + +@@ -161,7 +167,7 @@ static int db_proc_open(struct inode *inode, struct file *file) + return 0; + + out_10: +- db_template_put(PDE(inode)->name, &p->template); ++ db_template_put(PDE_INODE_NAME(inode), &p->template); + out_20: + kfree(p); + return status; +@@ -217,11 +223,11 @@ static int db_proc_release(struct inode *inode, struct file *file) + s = file->private_data; + p = s->private; + +- status = db_list_put(PDE(inode)->name, &p->list); ++ status = db_list_put(PDE_INODE_NAME(inode), &p->list); + if (status != 0) + return status; + +- status = db_template_put(PDE(inode)->name, &p->template); ++ status = db_template_put(PDE_INODE_NAME(inode), &p->template); + if (status != 0) + return status; + +@@ -258,14 +264,21 @@ int db_proc_add(const char *name) + { + struct proc_dir_entry *pde; + ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 0) ++ pde = proc_create_data(name, 0777, db_proc_root, ++ &db_proc_file_ops, (void *)name); ++#else + pde = create_proc_entry(name, 0777, db_proc_root); ++#endif + if (pde == NULL) + return -EINVAL; + + #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 29) + pde->owner = THIS_MODULE; + #endif ++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0) + pde->proc_fops = &db_proc_file_ops; ++#endif + return 0; + } + EXPORT_SYMBOL(db_proc_add); +diff --git a/ecm/ecm_conn.c b/ecm/ecm_conn.c +index aaf5161..b81abd1 100644 +--- a/ecm/ecm_conn.c ++++ b/ecm/ecm_conn.c +@@ -905,8 +905,9 @@ static void free_ecm_connection(struct RlnhLinkObj *co) + { + /* Undo alloc_ecm_connection(). */ + if (co != NULL) { +- if (list_empty(&co->ecm_dev->conn_list)) +- dev_remove_pack(&co->ecm_dev->pt); ++ if (co->ecm_dev != NULL) ++ if (list_empty(&co->ecm_dev->conn_list)) ++ dev_remove_pack(&co->ecm_dev->pt); + if (co->con_name != NULL) + kfree(co->con_name); + if (co->dev_name != NULL) +@@ -1315,7 +1316,11 @@ static int net_event(struct notifier_block *nb, unsigned long event, void *data) + struct ecm_work_net_event *p; + + (void)nb; +- dev = data; ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0)) ++ dev = netdev_notifier_info_to_dev(data); ++#else ++ dev = data; ++#endif + + w = alloc_ecm_work(sizeof(*p), ECM_WORK_NET_EVENT, GFP_KERNEL); + if (w == NULL) +diff --git a/ipc/hunt.c b/ipc/hunt.c +index 843a893..f4564eb 100644 +--- a/ipc/hunt.c ++++ b/ipc/hunt.c +@@ -743,7 +743,9 @@ static inline struct sock *__locate_name(const char *name, + unsigned hash, uint32_t hunter_spid) + { + struct sock *s, *s_found = NULL; ++#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,9,0)) + struct hlist_node *node; ++#endif + + linx_trace_enter(LINX_TRACEGROUP_IPC, + "%s, %d, 0x%x, 0x%x", name, len, hash, hunter_spid); +@@ -753,7 +755,11 @@ static inline struct sock *__locate_name(const char *name, + + /* Traverse the list of sockets in the specified hash slot to find a + match. */ ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0)) ++ sk_for_each(s, &linx_sockets_bound[hash]) { ++#else + sk_for_each(s, node, &linx_sockets_bound[hash]) { ++#endif + linx_check_sock(s); + + /* If the length of the aname are the same, potential match was found. */ +@@ -1122,7 +1128,9 @@ int linx_info_sockets(struct linx_info_sockets *isockets, + LINX_SPID __user * spids) + { + struct sock *sk; ++#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,9,0)) + const struct hlist_node *node; ++#endif + int i, tot_sockets = 0, tot_sockets_tmp = 0, max_sockets; + + LINX_ASSERT(isockets != NULL); +@@ -1131,7 +1139,11 @@ int linx_info_sockets(struct linx_info_sockets *isockets, + + read_lock_bh(&linx_socket_bound_unbound_lock); + /* Count the number of sockets the needs to be returned. */ ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0)) ++ sk_for_each(sk, &linx_sockets_unbound) { ++#else + sk_for_each(sk, node, &linx_sockets_unbound) { ++#endif + if (linx_sk(sk)->type == LINX_TYPE_REMOTE && isockets->remote) { + tot_sockets_tmp++; + } else if (linx_sk(sk)->type == LINX_TYPE_LOCAL && +@@ -1156,7 +1168,11 @@ int linx_info_sockets(struct linx_info_sockets *isockets, + + tot_sockets_tmp = 0; + ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0)) ++ sk_for_each(sk, &linx_sockets_unbound) { ++#else + sk_for_each(sk, node, &linx_sockets_unbound) { ++#endif + LINX_SPID spid = linx_sock_to_spid(sk); + if (linx_sk(sk)->type == LINX_TYPE_REMOTE && + isockets->remote) { +@@ -1197,7 +1213,11 @@ int linx_info_sockets(struct linx_info_sockets *isockets, + for (i = 0; i < LINX_HASH_SIZE; i++) { + tot_sockets_tmp = 0; + read_lock_bh(&linx_socket_bound_unbound_lock); ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0)) ++ sk_for_each(sk, &linx_sockets_bound[i]) { ++#else + sk_for_each(sk, node, &linx_sockets_bound[i]) { ++#endif + if (linx_sk(sk)->type == LINX_TYPE_REMOTE && + isockets->remote) { + tot_sockets_tmp++; +@@ -1222,7 +1242,11 @@ int linx_info_sockets(struct linx_info_sockets *isockets, + } + + tot_sockets_tmp = 0; ++#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0)) ++ sk_for_each(sk, &linx_sockets_bound[i]) { ++#else + sk_for_each(sk, node, &linx_sockets_bound[i]) { ++#endif + LINX_SPID spid = linx_sock_to_spid(sk); + if (linx_sk(sk)->type == LINX_TYPE_REMOTE && + isockets->remote) { +-- +1.8.3.2 + 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 @@ +Fixed build errors for linx_mod with kernel 3.12.X. + +For details, see [LXCR-3427]. + +Upstream-Status: Not Applicable + +Signed-off-by: Liviu Gheorghisan + +--- +--- a/af_linx.c 2014-04-02 10:19:44.000000000 +0300 ++++ b/af_linx.c 2014-07-23 17:40:01.629687646 +0300 +@@ -1034,8 +1034,11 @@ + failure: + *errcode = err; + return NULL; +-#else ++#elif LINUX_VERSION_CODE < KERNEL_VERSION(3,12,0) + return sock_alloc_send_pskb(sk, 0, data_len, 0, errcode); ++#else ++ /* max_page_order == 0 => no paged allocations */ ++ return sock_alloc_send_pskb(sk, 0, data_len, 0, errcode, 0); + #endif + } + 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 @@ +Fixed build errors for linx-mod with kernel >= 3.15.0 + +Upstream-Status: Not Applicable + +Signed-off-by: Huimin She + +--- +diff -rup a/af_linx.c b/af_linx.c +--- a/af_linx.c 2014-07-25 16:22:23.295570583 +0200 ++++ b/af_linx.c 2014-07-25 16:22:23.299570583 +0200 +@@ -743,7 +743,11 @@ setup_receive_filter(struct sock *sk, st + /* This function is called to wake up a receiving socket when it is sleeping + * waiting for a new message in poll or select. + */ ++#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,15,0)) + static void linx_data_ready(struct sock *sk, int len) ++#else ++static void linx_data_ready(struct sock *sk) ++#endif + { + linx_check_sock(sk); + +@@ -1401,7 +1405,11 @@ linx_do_legacy_sendmsg(struct sock *sk, + LINX_SOCK_STAT_QUEUE_SIGNAL(to, payload_size); + #endif + /* Wake up the receiver, if it sleeps and wait for the signal. */ ++#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,15,0)) + to->sk_data_ready(to, payload_size); ++#else ++ to->sk_data_ready(to); ++#endif + + return 0; + out: +@@ -1577,7 +1585,11 @@ linx_do_sendmsg(struct sock *sk, + LINX_SOCK_STAT_QUEUE_SIGNAL(to, payload_size); + #endif + /* Wake up the receiver, if it sleeps and wait for the signal. */ +- to->sk_data_ready(to, payload_size); ++#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,15,0)) ++ to->sk_data_ready(to, payload_size); ++#else ++ to->sk_data_ready(to); ++#endif + + return 0; + out: +@@ -1636,7 +1648,11 @@ int __linx_do_sendmsg_skb_to_local_sk(st + LINX_SOCK_STAT_QUEUE_SIGNAL(to, payload_size); + #endif + /* Wake up the receiver, if it sleeps and waits for the signal. */ +- to->sk_data_ready(to, payload_size); ++#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,15,0)) ++ to->sk_data_ready(to, payload_size); ++#else ++ to->sk_data_ready(to); ++#endif + + return 0; + } 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 @@ +SUMMARY = "LINX for Linux fast IPC" +DESCRIPTION = "LINX is a distributed communication protocol stack for transparent inter node and interprocess communication for a heterogeneous mix of systems." +HOMEPAGE = "http://linx.sourceforge.net/" + +SECTION = "kernel/modules" + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://../../COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" + +DEPENDS = "linux-libc-headers linx" +RRECOMMENDS_${PN} = "linx kmod" + +SRC_URI = "http://linux.enea.com/linx/linx-${PV}.tar.gz \ + file://support-for-3.12-kernels.patch \ + file://support-for-3.15-kernels.patch" + +SRC_URI[md5sum] = "f6d7e103eee0807cacf73aa20cf95571" +SRC_URI[sha256sum] = "a8fa3fe221e883ecb6afaa001652c96080a474b95e8d37c3bcf3e0c2ae618799" + +S = "${WORKDIR}/linx-${PV}/net/linx" + +inherit module + +module_do_compile_prepend () { + + HAS_LOADABLE_MODULES=$(cat ${STAGING_KERNEL_DIR}/.config | grep "CONFIG_MODULES=y") + + if [[ ${#HAS_LOADABLE_MODULES} -eq 0 ]] ; then + echo "The specified Linux kernel has no support for pluggable modules (CONFIG_MODULES=y). Enable it before baking this." + exit 1 + fi + + do_make_scripts +} 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 @@ +SUMMARY = "LINX for Linux fast IPC" +DESCRIPTION = "LINX is a distributed communication protocol stack for transparent inter node and interprocess communication for a heterogeneous mix of systems." +HOMEPAGE = "http://linx.sourceforge.net/" +SECTION = "system/library" + +DEPENDS = "linux-libc-headers virtual/libc" +RRECOMMENDS_${PN} = "linx-mod" + +SRC_URI = "http://linux.enea.com/linx/linx-${PV}.tar.gz \ + file://liblinx_free_buf.patch" + +SRC_URI[md5sum] = "f6d7e103eee0807cacf73aa20cf95571" +SRC_URI[sha256sum] = "a8fa3fe221e883ecb6afaa001652c96080a474b95e8d37c3bcf3e0c2ae618799" + +S = "${WORKDIR}/linx-${PV}" + +inherit autotools-brokensep + +do_install_append () { + mkdir -p ${D}/etc + install -m 644 ${S}/linxgw/linxgws/example.conf ${D}/etc/linxgws.conf +} + 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 @@ +require linx.inc +LICENSE = "BSD" + +PR = "r0" + +LIC_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 @@ +#!/bin/sh -eu + +mask=$(list2mask --cpus 2-3,5,7-8) + +if [ $? -ne 0 ]; then + echo "FAIL: list2mask failed to execute" + exit +fi + +if [ "$mask" != "1ac" ]; then + echo "FAIL: list2mask returns mask '$mask', expected '1ac'" + exit +fi + +echo "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 @@ +SUMMARY = "Translate CPU list to a CPU mask" +DESCRIPTION = "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." +SECTION = "utils" +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://LICENSE;md5=b52bab7a403562f36be803f11489f1a4" + +PR = "r1" + +RDEPENDS_${PN} = "bash" + +SRC_URI = "git://github.com/OpenEneaLinux/rt-tools.git;branch=master \ + file://run-ptest \ + " + +SRCREV = "db6eff03d80c04803fb146939c504b500e16fe2f" + +inherit ptest + +S = "${WORKDIR}/git" + +FILES_${PN} += "/bin/*" + +do_install() { + install -D ${S}/install/bin/${PN} ${D}/usr/bin/${PN} +} 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 @@ +#!/bin/sh + +./test_partition.py target -v + +if [ $? -eq 0 ]; then + echo "PASS: test_partition" +else + echo "FAIL: test_partition" +fi 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 @@ +SUMMARY = "CPU partitioning tool" +DESCRIPTION = "partrt is a tool for dividing a SMP Linux system into a real time domain and a non-real time domain." +SECTION = "utils" +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://LICENSE;md5=b52bab7a403562f36be803f11489f1a4" + +RDEPENDS_${PN} = "bash" +RDEPENDS_${PN}-ptest += "python" + +SRC_URI = "git://github.com/OpenEneaLinux/rt-tools.git;branch=master \ + file://run-ptest \ + " + +SRCREV = "cbe36a4946a2b3bb4927ca3b8ac800111ae9ce49" + +inherit ptest + +S = "${WORKDIR}/git" + +FILES_${PN} += "/bin/*" + +do_install() { + install -d ${D}/usr/bin + install ${S}/install/bin/partrt ${D}/usr/bin +} + +do_install_ptest() { + install ${S}/test/test_partition.py ${D}${PTEST_PATH} + sed -i s/target/${MACHINE}/ ${D}${PTEST_PATH}/run-ptest +} 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 @@ +#!/bin/sh +echo "SKIP: no upstream test" + 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 @@ +SUMMARY = "libUIO" +DESCRIPTION = "Provide a generic framework for handling devices in userspace." +HOMEPAGE = "https://www.osadl.org/UIO.uio.0.html" +SECTION = "libs" +LICENSE = "GPLv2" + +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" + +SRCREV = "cc233857ba1613801e7218d07127d19608a99702" +PR = "r0" +PV = "1.0+git${SRCPV}" + +SRC_URI = "git://git.linutronix.de/projects/libUIO;protocol=git \ + file://run-ptest" + +DEPENDS = "virtual/libc" + +S = "${WORKDIR}/git" + +inherit autotools + +do_configure_prepend () { + touch ${S}/ChangeLog +} + +do_install_append () { + if [ "${PN}" = "${BPN}" -a ${PTEST_ENABLED} = "1" ]; then + mkdir -p ${D}${PTEST_PATH} + install -m 0755 ${WORKDIR}/run-ptest ${D}${PTEST_PATH} + fi +} 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 @@ +do_compile_prepend () { + ( make -C ${B}/testcases/open_posix_testsuite generate-makefiles conformance-all tools-all functional-all stress-all ) +} 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 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/files:" + +def format_file_uri(d): + substrlist = d.getVar("ENEA_KERN_FRAGMENTS").split() + ostr = '' + for substr in substrlist: + ostr = ostr + " file://" + substr + return ostr.lstrip() + +ENEA_KERN_FRAGMENTS ??= "" + +SRC_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 @@ +CONFIG_NETWORK_FILESYSTEMS=y +CONFIG_NFS_USE_KERNEL_DNS=y +CONFIG_ROOT_NFS=y +CONFIG_NFS_FS=y +CONFIG_NFS_V3=y +CONFIG_NFS_V4=y +CONFIG_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 @@ +CONFIG_DEBUG_INFO=y +CONFIG_KPROBES=y +CONFIG_RELAY=y +CONFIG_DEBUG_FS=y +CONFIG_MODULES=y +CONFIG_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 @@ +CONFIG_MISC_FILESYSTEMS=y +CONFIG_PRAMFS=y +CONFIG_PRAMFS_XATTR=y +CONFIG_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 @@ +CONFIG_MODULES=y +# CONFIG_MODULE_FORCE_LOAD is not set +CONFIG_MODULE_UNLOAD=y +CONFIG_MODULE_FORCE_UNLOAD=y +CONFIG_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 @@ +CONFIG_PROFILING=y +CONFIG_OPROFILE=m +CONFIG_PROFILE_ALL_BRANCHES=y +CONFIG_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 @@ +CONFIG_UIO=m +CONFIG_UIO_PDRV=m +CONFIG_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 @@ +CONFIG_FSL_EMB_PERFMON=y +CONFIG_FSL_EMB_PERF_EVENT=y +CONFIG_FSL_EMB_PERF_EVENT_E500=y + +CONFIG_PPC_OF=y +CONFIG_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 @@ +CONFIG_MISC_FILESYSTEMS=y +CONFIG_PRAMFS=y +CONFIG_PRAMFS_TEST=y +CONFIG_TEST_MODULE=m + 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 @@ +CONFIG_GENERIC_LOCKBREAK=y +CONFIG_TREE_PREEMPT_RCU=y +CONFIG_PREEMPT_RCU=y +CONFIG_UNINLINE_SPIN_UNLOCK=y +CONFIG_PREEMPT=y +CONFIG_PREEMPT__LL=y +CONFIG_PREEMPT_COUNT=y +CONFIG_DEBUG_PREEMPT=y +CONFIG_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 @@ +CONFIG_LOCALVERSION_AUTO=n +CONFIG_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 @@ +#depends +CONFIG_DEBUG_KERNEL=y +CONFIG_EXPERIMENTAL=y + +#configs +CONFIG_KGDB=y +CONFIG_KGDB_SERIAL_CONSOLE=y +CONFIG_KGDB_KDB=y +CONFIG_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 @@ +CONFIG_UIO=y +CONFIG_UIO_PDRV=y +CONFIG_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 @@ +CONFIG_TREE_PREEMPT_RCU=y +CONFIG_PREEMPT_RCU=y +CONFIG_UNINLINE_SPIN_UNLOCK=y +CONFIG_PREEMPT=y +CONFIG_PREEMPT_COUNT=y +CONFIG_DEBUG_PREEMPT=y +CONFIG_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 @@ +CONFIG_PREEMPT_RT_FULL=y +CONFIG_HZ_1000=y +CONFIG_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 @@ +CONFIG_LEGACY_PTYS=y +CONFIG_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 @@ +CONFIG_IKCONFIG=y +CONFIG_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 @@ +CONFIG_TREE_PREEMPT_RCU=y +CONFIG_PREEMPT_RCU=y +CONFIG_RCU_STALL_COMMON=y +CONFIG_UNINLINE_SPIN_UNLOCK=y +CONFIG_PREEMPT=y +CONFIG_PREEMPT_COUNT=y +CONFIG_DEBUG_PREEMPT=y +CONFIG_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 @@ +CONFIG_EXPERT=y +CONFIG_PROC_FS=y +CONFIG_DEBUG_FS=y +CONFIG_NO_HZ=y +CONFIG_HIGH_RES_TIMERS=y +CONFIG_HPET_TIMER=y +CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_GOV_ONDEMAND=y +CONFIG_TIMER_STATS=y +CONFIG_PERF_EVENTS=y +CONFIG_TRACEPOINTS=y +CONFIG_TRACING=y +CONFIG_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 @@ +CONFIG_TUN=y +CONFIG_KSM=y +CONFIG_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 @@ +CONFIG_MODULES=y +CONFIG_KALLSYMS=y +CONFIG_HIGH_RES_TIMERS=y +CONFIG_TRACEPOINTS=y +CONFIG_FTRACE=y +CONFIG_PERF_EVENTS=y +CONFIG_EVENT_TRACING=y +CONFIG_KPROBES=y +CONFIG_KRETPROBES=y +CONFIG_FUNCTION_TRACER=y +CONFIG_FUNCTION_GRAPH_TRACER=y +CONFIG_IRQSOFF_TRACER=y +CONFIG_PREEMPT_TRACER=y +CONFIG_SCHED_TRACER=y +CONFIG_NOP_TRACER=y +CONFIG_CONTEXT_SWITCH_TRACER=y +CONFIG_GENERIC_TRACER=y +CONFIG_TRACER_MAX_TRACE=y +CONFIG_TRACER_SNAPSHOT=y +CONFIG_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 @@ +CONFIG_CGROUP_PERF=y +CONFIG_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 @@ +CONFIG_DEVTMPFS=y +CONFIG_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 @@ +CONFIG_IGB=y +CONFIG_IGB_DCA=y +CONFIG_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 @@ +CONFIG_CGROUPS=y +CONFIG_CPUSETS=y +CONFIG_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 @@ +CONFIG_NETFILTER=y +CONFIG_IP_NF_IPTABLES=y +CONFIG_NETFILTER_XT_TARGET_NFQUEUE=y +CONFIG_BRIDGE_NF_EBTABLES=y +CONFIG_IP_VS=y +CONFIG_IP_NF_FILTER=y +CONFIG_IP_NF_TARGET_ULOG=y +CONFIG_IP_NF_IPTABLES=y +# +# Not directly sourced via a kernel type but via an external bb +# +CONFIG_NETFILTER=y +CONFIG_NETFILTER_ADVANCED=y + +# +# Core Netfilter Configuration +# +CONFIG_NETFILTER_NETLINK=m +CONFIG_NETFILTER_NETLINK_QUEUE=m +CONFIG_NETFILTER_NETLINK_LOG=m +CONFIG_NF_CONNTRACK=m +CONFIG_NF_CONNTRACK_MARK=y +CONFIG_NF_CT_PROTO_GRE=m +CONFIG_NF_CT_PROTO_SCTP=m +CONFIG_NF_CT_PROTO_UDPLITE=m +CONFIG_NF_CONNTRACK_AMANDA=m +CONFIG_NF_CONNTRACK_FTP=m +CONFIG_NF_CONNTRACK_H323=m +CONFIG_NF_CONNTRACK_IRC=m +CONFIG_NF_CONNTRACK_NETBIOS_NS=m +CONFIG_NF_CONNTRACK_PPTP=m +CONFIG_NF_CONNTRACK_SANE=m +CONFIG_NF_CONNTRACK_SIP=m +CONFIG_NF_CONNTRACK_TFTP=m +CONFIG_NF_CT_NETLINK=m +CONFIG_NETFILTER_XTABLES=m +CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m +CONFIG_NETFILTER_XT_TARGET_CONNMARK=m +CONFIG_NETFILTER_XT_TARGET_DSCP=m +CONFIG_NETFILTER_XT_TARGET_HL=m +CONFIG_NETFILTER_XT_TARGET_MARK=m +CONFIG_NETFILTER_XT_TARGET_NFLOG=m +CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m +CONFIG_NETFILTER_XT_TARGET_NOTRACK=m +CONFIG_NETFILTER_XT_TARGET_TRACE=m +CONFIG_NETFILTER_XT_TARGET_TCPMSS=m +CONFIG_NETFILTER_XT_MATCH_COMMENT=m +CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m +CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m +CONFIG_NETFILTER_XT_MATCH_CONNMARK=m +CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m +CONFIG_NETFILTER_XT_MATCH_DCCP=m +CONFIG_NETFILTER_XT_MATCH_DSCP=m +CONFIG_NETFILTER_XT_MATCH_ESP=m +CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m +CONFIG_NETFILTER_XT_MATCH_HELPER=m +CONFIG_NETFILTER_XT_MATCH_HL=m +CONFIG_NETFILTER_XT_MATCH_LENGTH=m +CONFIG_NETFILTER_XT_MATCH_LIMIT=m +CONFIG_NETFILTER_XT_MATCH_MAC=m +CONFIG_NETFILTER_XT_MATCH_MARK=m +CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m +CONFIG_NETFILTER_XT_MATCH_POLICY=m +CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m +CONFIG_NETFILTER_XT_MATCH_QUOTA=m +CONFIG_NETFILTER_XT_MATCH_REALM=m +CONFIG_NETFILTER_XT_MATCH_SCTP=m +CONFIG_NETFILTER_XT_MATCH_STATE=m +CONFIG_NETFILTER_XT_MATCH_STATISTIC=m +CONFIG_NETFILTER_XT_MATCH_STRING=m +CONFIG_NETFILTER_XT_MATCH_TCPMSS=m +CONFIG_NETFILTER_XT_MATCH_U32=m + +# +# IP: Netfilter Configuration +# +CONFIG_NF_DEFRAG_IPV4=m +CONFIG_NF_CONNTRACK_IPV4=m +CONFIG_NF_CONNTRACK_PROC_COMPAT=y +CONFIG_IP_NF_IPTABLES=m +CONFIG_IP_NF_MATCH_AH=m +CONFIG_IP_NF_MATCH_ECN=m +CONFIG_IP_NF_MATCH_TTL=m +CONFIG_IP_NF_FILTER=m +CONFIG_IP_NF_TARGET_REJECT=m +CONFIG_IP_NF_TARGET_ULOG=m +CONFIG_NF_NAT=m +CONFIG_NF_NAT_NEEDED=y +CONFIG_NF_NAT_IPV4=m +CONFIG_IP_NF_TARGET_MASQUERADE=m +CONFIG_IP_NF_TARGET_NETMAP=m +CONFIG_IP_NF_TARGET_REDIRECT=m +CONFIG_NF_NAT_SNMP_BASIC=m +CONFIG_NF_NAT_PROTO_GRE=m +CONFIG_NF_NAT_PROTO_UDPLITE=m +CONFIG_NF_NAT_PROTO_SCTP=m +CONFIG_NF_NAT_FTP=m +CONFIG_NF_NAT_IRC=m +CONFIG_NF_NAT_TFTP=m +CONFIG_NF_NAT_AMANDA=m +CONFIG_NF_NAT_PPTP=m +CONFIG_NF_NAT_H323=m +CONFIG_NF_NAT_SIP=m +CONFIG_IP_NF_MANGLE=m +CONFIG_IP_NF_TARGET_CLUSTERIP=m +CONFIG_IP_NF_TARGET_ECN=m +CONFIG_IP_NF_TARGET_TTL=m +CONFIG_IP_NF_RAW=m +CONFIG_IP_NF_ARPTABLES=m +CONFIG_IP_NF_ARPFILTER=m +CONFIG_IP_NF_ARP_MANGLE=m + +CONFIG_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 @@ +CONFIG_VIRTUALIZATION=y +CONFIG_KVM_E500MC=y +CONFIG_BRIDGE=y +CONFIG_TUN=y +CONFIG_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 @@ +CONFIG_MEMCG=y +CONFIG_MEMCG_KMEM=y +CONFIG_CGROUP_DEVICE=y +CONFIG_CPUSETS=y +CONFIG_PROC_PID_CPUSET=y +CONFIG_RESOURCE_COUNTERS=y +CONFIG_CGROUP_MEM_RES_CTLR=y +CONFIG_CGROUP_SCHED=y +CONFIG_FAIR_GROUP_SCHED=y +CONFIG_RT_GROUP_SCHED=y +CONFIG_CHECKPOINT_RESTORE=y +CONFIG_NAMESPACES=y +CONFIG_UTS_NS=y +CONFIG_IPC_NS=y +CONFIG_USER_NS=n +CONFIG_PID_NS=y +CONFIG_NET_NS=y +CONFIG_SECCOMP=y +CONFIG_SECURITY_APPARMOR=y +CONFIG_CGROUPS=y + +CONFIG_CLS_CGROUP=m +CONFIG_BLK_CGROUP=m +CONFIG_NETPRIO_CGROUP=m + +CONFIG_DEVPTS_MULTIPLE_INSTANCES=y +CONFIG_VETH=y +CONFIG_MACVLAN=y +CONFIG_CGROUP_CPUACCT=y + 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 @@ +CONFIG_NO_HZ_COMMON=y +CONFIG_NO_HZ_FULL=y +CONFIG_VIRT_CPU_ACCOUNTING=y +CONFIG_VIRT_CPU_ACCOUNTING_GEN=y +CONFIG_CONTEXT_TRACKING=y +CONFIG_RCU_USER_QS=y +CONFIG_RCU_NOCB_CPU=y +CONFIG_RCU_NOCB_CPU_ALL=y +CONFIG_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 @@ +CONFIG_NET_9P=y +CONFIG_NET_9P_VIRTIO=y +CONFIG_NET_9P_DEBUG=y +CONFIG_9P_FS=y +CONFIG_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 @@ +CONFIG_VIRTIO_PCI=y +CONFIG_VIRTIO_BALLOON=y +CONFIG_VIRTIO_BLK=y +CONFIG_VIRTIO_NET=y +CONFIG_VIRTIO=y +CONFIG_VIRTIO_RING=y +CONFIG_VIRTIO_MMIO=y +CONFIG_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 @@ +CONFIG_VHOST_NET=y +CONFIG_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 @@ +CONFIG_NAMESPACES=y +CONFIG_UTS_NS=y +CONFIG_IPC_NS=y +CONFIG_USER_NS=y +CONFIG_PID_NS=y +CONFIG_NET_NS=y +CONFIG_CGROUP_FREEZER=y +CONFIG_CGROUP_DEVICE=y +CONFIG_CGROUP_CPUACCT=y +CONFIG_RESOURCE_COUNTERS=y +CONFIG_CGROUP_SCHED=y +CONFIG_BLK_CGROUP=y +CONFIG_CPUSETS=y +CONFIG_MEMCG=y +CONFIG_MEMCG_KMEM=y +CONFIG_VETH=y +CONFIG_MACVLAN=y +CONFIG_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 @@ +#enable SATA support +CONFIG_ATA=y +CONFIG_SATA_AHCI=y +CONFIG_SATA_AHCI_PLATFORM=y +CONFIG_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 @@ +CONFIG_NAMESPACES=y +CONFIG_UTS_NS=y +CONFIG_IPC_NS=y +CONFIG_USER_NS=n +CONFIG_PID_NS=y +CONFIG_NET_NS=y +CONFIG_CGROUP_FREEZER=y +CONFIG_CGROUP_DEVICE=y +CONFIG_CGROUP_CPUACCT=y +CONFIG_RESOURCE_COUNTERS=y +CONFIG_CGROUP_SCHED=y +CONFIG_BLK_CGROUP=y +CONFIG_CPUSETS=y +CONFIG_MEMCG=y +CONFIG_MEMCG_KMEM=y +CONFIG_VETH=y +CONFIG_MACVLAN=y +CONFIG_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 @@ +CONFIG_GPIO_SYSFS=y +CONFIG_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 @@ +CONFIG_NFSD_V4=y +CONFIG_NFSD=y +CONFIG_INET=y +CONFIG_NET=y +CONFIG_NETWORK_FILESYSTEMS =y +CONFIG_FILE_LOCKING=y +CONFIG_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 @@ +CONFIG_NET=y +CONFIG_INET=y +CONFIG_IPV6=y +CONFIG_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 @@ +In ordert to add a configuration fragment contained in a .cfg file, +please follow these steps: + +1. change to the directory that contains this README file. +2. copy your fragment file here and make sure your file has a .cfg extension +4. run the indexcfgs.pl utility from this directory to + index your file. +5. check for the new name and use it to further reference your renamed + 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 @@ +#!/usr/bin/perl -w +#---------------------------------------------------------------------- +# indexcfgs.pl - utility to rename files in the current directory to an +# indexed format so that a unique index number is +# prepended to the current file name. The naming +# template is: +# +# DDDDD- +# +# Usage: create the *.cfg file you need, with any name and .cfg +# extension. Run this script and it will automatically +# rename your file to the indexed format above. +# +# Author: Daniel BORNAZ $max_index){ + $max_index=$crt_index; + } + + $counter_indexed++; + }else{ + @queue=($file,@queue); + $counter_queue++; + } + } + +# set the next index number + $max_index++; + +# index the enqueued file names + foreach my $file (@queue){ + my $newname; + + $newname=sprintf("%05d-%s",$max_index++,$file); + system("mv",$file,$newname) == 0 + or die "Cannot rename $file to $newname: $?"; + } + + printf("$counter_queue files indexed, ". + "$counter_indexed files already indexed. Done.\n"); +} + +#-------------------------------------------------------------------- +# display usage help +# +sub print_usage { + print "\n"; + print " ./indexcfgs.pl [--strip]\n"; + print " no params: Index the *.cfg file names in current dir\n"; + print " to DDDDD-\n"; + print " --strip: Strips the index from the *.cfg file names ". + "in current dir\n"; + print "\n"; + + exit 0; +} + + +#--- Program starts here -------------------------------------------- +GetOptions(\%args, + "strip" => \$opt_strip, + "help" => \$opt_help, +); + +if(defined($opt_help)){ + print_usage(); +} + +if(defined($opt_strip)){ + strip_file_names(); +}else{ + index_file_names(); +} + + 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 @@ +# +# added the python-math and python-sqlite3 modules, required by perf +# +SCRIPTING_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 @@ +#!/bin/sh +#set -e + +echo "Setting up pramfs" + +# ensure the required binaries are present +#[ -x /sbin/modprobe ] || exit 1 +[ -x /bin/mount ] || exit 1 +[ -x /bin/grep ] || exit 1 +[ -x /bin/cat ] || exit 1 +[ -x /bin/sed ] || exit 1 + +#modprobe pramfs +mkdir -p /mnt/pram + +case "$1" in + start) + # Figure out RAM for pramfs + # This requires a kernel cmdline resevation of PRAMFS physmem + # in format memmap=16M$0x7000000 + grep memmap /proc/cmdline > /dev/null + if [ $? -eq 0 ]; then + addr=$(sed 's/.*memmap=\([^ ]*\)\$\([^ ]*\).*/\2/' < /proc/cmdline) + size=$(sed 's/.*memmap=\([^ ]*\)\$\([^ ]*\).*/\1/' < /proc/cmdline) + + if [ -d /seed ]; then + echo "Init new pramfs" + mount -t pramfs -o physaddr=$addr,init=$size,bs=1k none /mnt/pram > /dev/null 2>&1 + cp /seed/* /mnt/pram + echo "0" > /mnt/pram/kcount + else + echo "Mounting old pramfs" + mount -t pramfs -o physaddr=$addr,bs=1k none /mnt/pram > /dev/null 2>&1 + if [ $? -ne 0 ]; then + echo "Mounting old pramfs failed, zeroing" + mount -t pramfs -o physaddr=$addr,init=$size,bs=1k none /mnt/pram > /dev/null 2>&1 + if [ $? -ne 0 ]; then + echo "All attempts to mount pramfs has failed, exiting" + rm -fr /mnt/pram + exit 1 + fi + echo "0" > /mnt/pram/kcount + fi + fi + +# echo "* Setting up kexec" +# kexec -l --reuse-cmdline --initrd=/mnt/pram/initramfs.cpio.gz /mnt/pram/vmlinuz + + # Calculate number of boots + export KCOUNT=$(expr $(cat /mnt/pram/kcount) + 1) + echo $KCOUNT > /mnt/pram/kcount + else + KCOUNT="no-mem" + echo "Can't find memory area for pram fs" + rm -fr /mnt/pram + fi + + echo "PRAMFS boot count: $KCOUNT" +# echo "kexec -e to kexec and keep persistent files in /mnt/pram" + ;; + stop) + echo + ;; + restart) + $0 stop + $0 start + ;; + *) + echo "usage: $0 { start | stop | restart }" >&2 + exit 1 + ;; +esac + +exit 0 + + + + + + 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 @@ +DESCRIPTION = "Pramfs init scripts" +SECTION = "init" +LICENSE = "BSD" +SRC_URI = "file://pramfs_init" +PR = "r0" + +LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690 \ + file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" + +PACKAGE_ARCH = "all" + +do_install() { + install -d ${D}${sysconfdir}/init.d/ + install -m 0755 ${WORKDIR}/pramfs_init ${D}${sysconfdir}/init.d/pramfs_init +} + +inherit update-rc.d + +INITSCRIPT_NAME = "pramfs_init" +INITSCRIPT_PARAMS = "start 99 5 2 . stop 19 0 1 6 ." -- cgit v1.2.3-54-g00ecf