From b627e67813ba7a1e70d2614267ab7d0c0009cdef Mon Sep 17 00:00:00 2001 From: "Chang.H.S" Date: Tue, 27 Nov 2012 16:22:59 +0900 Subject: [PATCH] Use linux-libc-headers-2.6.31/udev-124 --- Makefile | 2 +- meta-openvuplus/conf/distro/vuplus.conf | 10 +- .../udev/udev-124/40-od-devfs-compatibility.rules | 19 + .../udev/udev-124/41-od-linux-2.6.18-misc.rules | 24 ++ .../udev/udev-124/42-od-oled-compatibility.rules | 16 + meta-openvuplus/recipes-core/udev/udev-124/default | 4 + .../recipes-core/udev/udev-124/devfs-udev.rules | 108 ++++++ .../recipes-core/udev/udev-124/flags.patch | 56 +++ meta-openvuplus/recipes-core/udev/udev-124/init | 177 +++++++++ .../udev/udev-124/libvolume-id-soname.patch | 12 + .../recipes-core/udev/udev-124/links.conf | 24 ++ .../recipes-core/udev/udev-124/local.rules | 32 ++ .../recipes-core/udev/udev-124/mount.blacklist | 3 + .../recipes-core/udev/udev-124/mount.sh | 72 ++++ .../udev/udev-124/mtd-exclude-persistent.patch | 13 + .../recipes-core/udev/udev-124/network.sh | 58 +++ .../recipes-core/udev/udev-124/noasmlinkage.patch | 45 +++ .../recipes-core/udev/udev-124/permissions.rules | 119 ++++++ .../recipes-core/udev/udev-124/run.rules | 14 + meta-openvuplus/recipes-core/udev/udev-124/series | 6 + .../recipes-core/udev/udev-124/udev.rules | 116 ++++++ .../udevtrigger_add_devname_filtering.patch | 99 +++++ .../recipes-core/udev/udev-124/vol_id_ld.patch | 17 + meta-openvuplus/recipes-core/udev/udev-182/init | 45 --- meta-openvuplus/recipes-core/udev/udev_124.bb | 74 ++++ meta-openvuplus/recipes-core/udev/udev_124.inc | 67 ++++ .../recipes-core/udev/udev_182.bbappend | 18 - ...IF_RESTORE_SIGMASK-support-and-enable-the.patch | 429 +++++++++++++++++++++ .../linux-libc-headers-2.6.31/dvbapi-5.3.patch | 190 +++++++++ .../linux-libc-headers/linux-libc-headers.inc | 66 ---- .../connector-msg-size-fix.patch | 29 -- .../linux-libc-headers_2.6.31.bb | 64 +++ .../linux-libc-headers/linux-libc-headers_3.1.1.bb | 7 - 33 files changed, 1864 insertions(+), 171 deletions(-) create mode 100644 meta-openvuplus/recipes-core/udev/udev-124/40-od-devfs-compatibility.rules create mode 100644 meta-openvuplus/recipes-core/udev/udev-124/41-od-linux-2.6.18-misc.rules create mode 100644 meta-openvuplus/recipes-core/udev/udev-124/42-od-oled-compatibility.rules create mode 100755 meta-openvuplus/recipes-core/udev/udev-124/default create mode 100644 meta-openvuplus/recipes-core/udev/udev-124/devfs-udev.rules create mode 100644 meta-openvuplus/recipes-core/udev/udev-124/flags.patch create mode 100755 meta-openvuplus/recipes-core/udev/udev-124/init create mode 100644 meta-openvuplus/recipes-core/udev/udev-124/libvolume-id-soname.patch create mode 100644 meta-openvuplus/recipes-core/udev/udev-124/links.conf create mode 100644 meta-openvuplus/recipes-core/udev/udev-124/local.rules create mode 100644 meta-openvuplus/recipes-core/udev/udev-124/mount.blacklist create mode 100644 meta-openvuplus/recipes-core/udev/udev-124/mount.sh create mode 100644 meta-openvuplus/recipes-core/udev/udev-124/mtd-exclude-persistent.patch create mode 100644 meta-openvuplus/recipes-core/udev/udev-124/network.sh create mode 100644 meta-openvuplus/recipes-core/udev/udev-124/noasmlinkage.patch create mode 100644 meta-openvuplus/recipes-core/udev/udev-124/permissions.rules create mode 100644 meta-openvuplus/recipes-core/udev/udev-124/run.rules create mode 100644 meta-openvuplus/recipes-core/udev/udev-124/series create mode 100644 meta-openvuplus/recipes-core/udev/udev-124/udev.rules create mode 100644 meta-openvuplus/recipes-core/udev/udev-124/udevtrigger_add_devname_filtering.patch create mode 100644 meta-openvuplus/recipes-core/udev/udev-124/vol_id_ld.patch delete mode 100644 meta-openvuplus/recipes-core/udev/udev-182/init create mode 100644 meta-openvuplus/recipes-core/udev/udev_124.bb create mode 100644 meta-openvuplus/recipes-core/udev/udev_124.inc delete mode 100644 meta-openvuplus/recipes-core/udev/udev_182.bbappend create mode 100644 meta-openvuplus/recipes-kernel/linux-libc-headers/linux-libc-headers-2.6.31/0001-implement-TIF_RESTORE_SIGMASK-support-and-enable-the.patch create mode 100644 meta-openvuplus/recipes-kernel/linux-libc-headers/linux-libc-headers-2.6.31/dvbapi-5.3.patch delete mode 100644 meta-openvuplus/recipes-kernel/linux-libc-headers/linux-libc-headers.inc delete mode 100644 meta-openvuplus/recipes-kernel/linux-libc-headers/linux-libc-headers/connector-msg-size-fix.patch create mode 100644 meta-openvuplus/recipes-kernel/linux-libc-headers/linux-libc-headers_2.6.31.bb delete mode 100644 meta-openvuplus/recipes-kernel/linux-libc-headers/linux-libc-headers_3.1.1.bb diff --git a/Makefile b/Makefile index bf19056..645aff5 100644 --- a/Makefile +++ b/Makefile @@ -29,7 +29,7 @@ # This only sets the default value. All platforms now use a shared build # directory. Run "MACHINE=vuultimo bitbake vuplus-image" to build an image # for the vuultimo, if it is not the default. -MACHINE ?= vusolo2 +MACHINE ?= bm750 MULTI_TEMPORARILY ?= diff --git a/meta-openvuplus/conf/distro/vuplus.conf b/meta-openvuplus/conf/distro/vuplus.conf index 3a0e6b3..76fb9da 100644 --- a/meta-openvuplus/conf/distro/vuplus.conf +++ b/meta-openvuplus/conf/distro/vuplus.conf @@ -33,13 +33,13 @@ PREFERRED_VERSION_pango ?= "1.28.4" PREFERRED_VERSION_wpa-supplicant ?= "0.7.3" -#PREFERRED_VERSION_linux-libc-headers = "2.6.31" -#PREFERRED_VERSION_linux-libc-headers-nativesdk = "2.6.31" -PREFERRED_VERSION_linux-libc-headers = "3.1.1" -PREFERRED_VERSION_linux-libc-headers-nativesdk = "3.1.1" +PREFERRED_VERSION_linux-libc-headers = "2.6.31" +PREFERRED_VERSION_linux-libc-headers-nativesdk = "2.6.31" +#PREFERRED_VERSION_linux-libc-headers = "3.1.1" +#PREFERRED_VERSION_linux-libc-headers-nativesdk = "3.1.1" # chang : udev_182 is not working with linux-libc-headers_2.6.31. -#PREFERRED_VERSION_udev ?= "124" +PREFERRED_VERSION_udev ?= "124" PREFERRED_PROVIDER_jpeg = "jpeg" PREFERRED_PROVIDER_jpeg-native = "jpeg-native" diff --git a/meta-openvuplus/recipes-core/udev/udev-124/40-od-devfs-compatibility.rules b/meta-openvuplus/recipes-core/udev/udev-124/40-od-devfs-compatibility.rules new file mode 100644 index 0000000..4499cf1 --- /dev/null +++ b/meta-openvuplus/recipes-core/udev/udev-124/40-od-devfs-compatibility.rules @@ -0,0 +1,19 @@ +# There are a number of modifiers that are allowed to be used in some +# of the different fields. They provide the following subsitutions: +# +# %n the "kernel number" of the device. +# For example, 'sda3' has a "kernel number" of '3' +# %e the smallest number for that name which does not matches an existing node +# %k the kernel name for the device +# %M the kernel major number for the device +# %m the kernel minor number for the device +# %b the bus id for the device +# %c the string returned by the PROGRAM +# %s{filename} the content of a sysfs attribute +# %% the '%' char itself +# + +KERNEL=="i2c-[0-9]*", SYMLINK+="i2c/%n" +KERNEL=="fb[0-9]*", SYMLINK+="fb/%n" +KERNEL=="mtdblock[0-9]*", SYMLINK+="mtdblock/%n" +KERNEL=="tty[0-9]*", SYMLINK+="vc/%n" diff --git a/meta-openvuplus/recipes-core/udev/udev-124/41-od-linux-2.6.18-misc.rules b/meta-openvuplus/recipes-core/udev/udev-124/41-od-linux-2.6.18-misc.rules new file mode 100644 index 0000000..e0cff14 --- /dev/null +++ b/meta-openvuplus/recipes-core/udev/udev-124/41-od-linux-2.6.18-misc.rules @@ -0,0 +1,24 @@ +# There are a number of modifiers that are allowed to be used in some +# of the different fields. They provide the following subsitutions: +# +# %n the "kernel number" of the device. +# For example, 'sda3' has a "kernel number" of '3' +# %e the smallest number for that name which does not matches an existing node +# %k the kernel name for the device +# %M the kernel major number for the device +# %m the kernel minor number for the device +# %b the bus id for the device +# %c the string returned by the PROGRAM +# %s{filename} the content of a sysfs attribute +# %% the '%' char itself +# + +KERNEL=="fp0", NAME="dbox/fp0" +KERNEL=="oled0", NAME="dbox/oled0" +KERNEL=="lcd0", NAME="dbox/lcd0" +KERNEL=="hsm0", NAME="misc/hsm0" +KERNEL=="vtuner0", NAME="misc/vtuner0" +KERNEL=="vtuner1", NAME="misc/vtuner1" +KERNEL=="pvr", NAME="misc/pvr" +KERNEL=="dp", NAME="misc/dp" + diff --git a/meta-openvuplus/recipes-core/udev/udev-124/42-od-oled-compatibility.rules b/meta-openvuplus/recipes-core/udev/udev-124/42-od-oled-compatibility.rules new file mode 100644 index 0000000..bf501bf --- /dev/null +++ b/meta-openvuplus/recipes-core/udev/udev-124/42-od-oled-compatibility.rules @@ -0,0 +1,16 @@ +# There are a number of modifiers that are allowed to be used in some +# of the different fields. They provide the following subsitutions: +# +# %n the "kernel number" of the device. +# For example, 'sda3' has a "kernel number" of '3' +# %e the smallest number for that name which does not matches an existing node +# %k the kernel name for the device +# %M the kernel major number for the device +# %m the kernel minor number for the device +# %b the bus id for the device +# %c the string returned by the PROGRAM +# %s{filename} the content of a sysfs attribute +# %% the '%' char itself +# + +KERNEL=="*oled0", SYMLINK+="dbox/lcd0" diff --git a/meta-openvuplus/recipes-core/udev/udev-124/default b/meta-openvuplus/recipes-core/udev/udev-124/default new file mode 100755 index 0000000..d0050b8 --- /dev/null +++ b/meta-openvuplus/recipes-core/udev/udev-124/default @@ -0,0 +1,4 @@ +# Default for /etc/init.d/udev + +# Comment this out to disable device cache +#DEVCACHE="/etc/dev.tar" diff --git a/meta-openvuplus/recipes-core/udev/udev-124/devfs-udev.rules b/meta-openvuplus/recipes-core/udev/udev-124/devfs-udev.rules new file mode 100644 index 0000000..0ba1ad4 --- /dev/null +++ b/meta-openvuplus/recipes-core/udev/udev-124/devfs-udev.rules @@ -0,0 +1,108 @@ +# The use of these rules is not recommended or supported. +# In a world where devices can come and go at any time, the devfs scheme +# of simple device enumeration does not help _anything_. Just forget about +# it. Use custom rules to name your device or look at the persistent device +# naming scheme, which is implemented for disks and add your subsystem. + +# ide block devices +BUS="ide", KERNEL="hd*", PROGRAM="/etc/udev/ide-devfs.sh %k %b %n", NAME="%k", SYMLINK="%c{1} %c{2}" + +# md block devices +KERNEL="md[0-9]*", NAME="md/%n" + +# floppy devices +KERNEL="fd[0-9]*", NAME="floppy/%n" + +# tty devices +KERNEL="tty[0-9]*", NAME="vc/%n", SYMLINK="%k" +KERNEL="ttyS[0-9]*", NAME="tts/%n", SYMLINK="%k" +KERNEL="ttyUSB[0-9]*", NAME="tts/USB%n" + +# vc devices +KERNEL="vcs", NAME="vcc/0" +KERNEL="vcs[0-9]*", NAME="vcc/%n" +KERNEL="vcsa", NAME="vcc/a0" +KERNEL="vcsa[0-9]*", NAME="vcc/a%n" + +# v4l devices +KERNEL="video[0-9]*", NAME="v4l/video%n" +KERNEL="radio[0-9]*", NAME="v4l/radio%n" +KERNEL="vbi[0-9]*", NAME="v4l/vbi%n" +KERNEL="vtx[0-9]*", NAME="v4l/vtx%n" + +# dm devices (ignore them) +KERNEL="dm-[0-9]*", NAME="" + +# i2c devices +KERNEL="i2c-[0-9]*", NAME="i2c/%n", SYMLINK="%k" + +# loop devices +KERNEL="loop[0-9]*", NAME="loop/%n", SYMLINK="%k" + +# ramdisks +KERNEL="ram[0-9]*", NAME="rd/%n", SYMLINK="%k" + +# framebuffer devices +KERNEL="fb[0-9]*", NAME="fb/%n", SYMLINK="%k" + +# misc +KERNEL="rtc", NAME="misc/%k", SYMLINK="%k" +KERNEL="psaux", NAME="misc/%k", SYMLINK="%k" +KERNEL="agpgart", NAME="misc/%k", SYMLINK="%k" +KERNEL="rtc", NAME="misc/%k", SYMLINK="%k" +KERNEL="psaux", NAME="misc/%k", SYMLINK="%k" +KERNEL="uinput", NAME="misc/%k", SYMLINK="%k" + +# alsa devices +KERNEL="controlC[0-9]*", NAME="snd/%k" +KERNEL="hw[CD0-9]*", NAME="snd/%k" +KERNEL="pcm[CD0-9cp]*", NAME="snd/%k" +KERNEL="midi[CD0-9]*", NAME="snd/%k" +KERNEL="timer", NAME="snd/%k" +KERNEL="seq", NAME="snd/%k" + +# oss devices +KERNEL="audio*", NAME="sound/%k", SYMLINK="%k" +KERNEL="dmmidi", NAME="sound/%k", SYMLINK="%k" +KERNEL="dsp*", NAME="sound/%k", SYMLINK="%k" +KERNEL="midi*", NAME="sound/%k", SYMLINK="%k" +KERNEL="mixer*", NAME="sound/%k", SYMLINK="%k" +KERNEL="sequencer*", NAME="sound/%k", SYMLINK="%k" + +# input devices +KERNEL="mice", NAME="input/%k" +KERNEL="mouse*", NAME="input/%k" +KERNEL="event*", NAME="input/%k" +KERNEL="js*", NAME="input/%k" +KERNEL="ts*", NAME="input/%k" + +# USB devices +KERNEL="hiddev*", NAME="usb/%k" +KERNEL="auer*", NAME="usb/%k" +KERNEL="legousbtower*", NAME="usb/%k" +KERNEL="dabusb*", NAME="usb/%k" +BUS="usb", KERNEL="lp[0-9]*", NAME="usb/%k" + +# netlink devices +KERNEL="route", NAME="netlink/%k" +KERNEL="skip", NAME="netlink/%k" +KERNEL="usersock", NAME="netlink/%k" +KERNEL="fwmonitor", NAME="netlink/%k" +KERNEL="tcpdiag", NAME="netlink/%k" +KERNEL="nflog", NAME="netlink/%k" +KERNEL="xfrm", NAME="netlink/%k" +KERNEL="arpd", NAME="netlink/%k" +KERNEL="route6", NAME="netlink/%k" +KERNEL="ip6_fw", NAME="netlink/%k" +KERNEL="dnrtmsg", NAME="netlink/%k" +KERNEL="tap*", NAME="netlink/%k" + +# CAPI devices +KERNEL="capi", NAME="capi20", SYMLINK="isdn/capi20" +KERNEL="capi*", NAME="capi/%n" + +# Network devices +KERNEL="tun", NAME="net/%k" + +# raw devices +KERNEL="raw[0-9]*", NAME="raw/%k" diff --git a/meta-openvuplus/recipes-core/udev/udev-124/flags.patch b/meta-openvuplus/recipes-core/udev/udev-124/flags.patch new file mode 100644 index 0000000..13f20eb --- /dev/null +++ b/meta-openvuplus/recipes-core/udev/udev-124/flags.patch @@ -0,0 +1,56 @@ +--- + Makefile | 16 ++++++++-------- + 1 file changed, 8 insertions(+), 8 deletions(-) + +Index: udev-115/Makefile +=================================================================== +--- udev-115.orig/Makefile 2007-08-24 01:29:54.000000000 +0200 ++++ udev-115/Makefile 2007-09-20 17:21:45.000000000 +0200 +@@ -112,39 +112,39 @@ + AR = $(CROSS_COMPILE)ar + RANLIB = $(CROSS_COMPILE)ranlib + +-CFLAGS += -g -Wall -pipe -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 ++override CFLAGS = -g -Wall -pipe -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 + WARNINGS = -Wstrict-prototypes -Wsign-compare -Wshadow \ + -Wchar-subscripts -Wmissing-declarations -Wnested-externs \ + -Wpointer-arith -Wcast-align -Wsign-compare -Wmissing-prototypes +-CFLAGS += $(WARNINGS) ++override CFLAGS += $(WARNINGS) + + LDFLAGS += -Wl,-warn-common,--as-needed + + OPTFLAGS = -Os +-CFLAGS += $(OPTFLAGS) ++override CFLAGS += $(OPTFLAGS) + + ifeq ($(strip $(USE_LOG)),true) +- CFLAGS += -DUSE_LOG ++ override CFLAGS += -DUSE_LOG + endif + + # if DEBUG is enabled, then we do not strip + ifeq ($(strip $(DEBUG)),true) +- CFLAGS += -DDEBUG ++ override CFLAGS += -DDEBUG + endif + + ifeq ($(strip $(USE_GCOV)),true) +- CFLAGS += -fprofile-arcs -ftest-coverage ++ override CFLAGS += -fprofile-arcs -ftest-coverage + LDFLAGS += -fprofile-arcs + endif + + ifeq ($(strip $(USE_SELINUX)),true) + UDEV_OBJS += udev_selinux.o + LIB_OBJS += -lselinux -lsepol +- CFLAGS += -DUSE_SELINUX ++ override CFLAGS += -DUSE_SELINUX + endif + + ifeq ($(strip $(USE_STATIC)),true) +- CFLAGS += -DUSE_STATIC ++ override CFLAGS += -DUSE_STATIC + LDFLAGS += -static + endif + diff --git a/meta-openvuplus/recipes-core/udev/udev-124/init b/meta-openvuplus/recipes-core/udev/udev-124/init new file mode 100755 index 0000000..e8b2cc5 --- /dev/null +++ b/meta-openvuplus/recipes-core/udev/udev-124/init @@ -0,0 +1,177 @@ +#!/bin/sh -e +### BEGIN INIT INFO +# Provides: udev +# Required-Start: mountkernfs +# Required-Stop: +# Default-Start: S +# Default-Stop: +# Short-Description: Start udevd, populate /dev and load drivers. +### END INIT INFO + +# This script is based on Debian's. + +COLDPLUG=no +COLDPLUG_TARBALL="/lib/udev/devices.tar.gz" + +for x in $(cat /proc/cmdline); do + case $x in + coldplug) + COLDPLUG=yes + ;; + esac +done + +# we need to unmount /dev/pts/ and remount it later over the tmpfs +unmount_devpts() { + if mountpoint -q /dev/pts/; then + umount -n -l /dev/pts/ + fi + + if mountpoint -q /dev/shm/; then + umount -n -l /dev/shm/ + fi +} + +# mount a tmpfs over /dev, if somebody did not already do it +mount_tmpfs() { + if grep -q "/dev tmpfs" /proc/mounts; then + return + fi + + if ! mount -n -o size=$tmpfs_size,mode=0755 -t tmpfs udev /dev; then + echo "udev requires tmpfs support, not started." + exit 1 + fi + + return 0 +} + +create_dev_makedev() { + if [ -e /sbin/MAKEDEV ]; then + ln -sf /sbin/MAKEDEV /dev/MAKEDEV + else + ln -sf /bin/true /dev/MAKEDEV + fi +} + +make_extra_nodes() { + ret=1 + if [ "$(echo /lib/udev/devices/*)" != "/lib/udev/devices/*" ]; then + cp -a /lib/udev/devices/* /$1/ + ret=0 + fi + + [ -e /etc/udev/links.conf ] || return $ret + + grep '^[^#]' /etc/udev/links.conf | \ + while read type name arg1; do + [ "$type" -a "$name" -a ! -e "/$1/$name" -a ! -L "/$1/$name" ] || continue + case "$type" in + L) ln -s $arg1 /$1/$name ;; + D) mkdir -p /$1/$name ;; + M) mknod -m 600 /$1/$name $arg1 ;; + *) echo "links.conf: unparseable line ($type $name $arg1)" >&2 ;; + esac + done + + return $ret +} + +############################################################################## + +[ -x /sbin/udevd ] || exit 0 + +PATH="/sbin:/bin" + +# defaults +tmpfs_size="2M" +udev_root="/dev" + +if [ -e /etc/udev/udev.conf ]; then + . /etc/udev/udev.conf +fi + +############################################################################## + +# When modifying this script, do not forget that between the time that the +# new /dev has been mounted and udevadm trigger has been run there will be +# no /dev/null. This also means that you cannot use the "&" shell command. + +case "$1" in + start) + if [ -e "$udev_root/.udev/" ]; then + if mountpoint -q $udev_root/; then + TMPFS_MOUNTED=1 + else + echo ".udev/ already exists on the static $udev_root!" + fi + fi + + echo > /sys/kernel/uevent_helper + + if [ -z "$TMPFS_MOUNTED" ]; then + unmount_devpts + mount_tmpfs + else + # and clean up the database of the initramfs udev + rm -rf /dev/.udev/ + fi + + # /dev/null must be created before udevd is started + if ! make_extra_nodes "$udev_root"; then + COLDPLUG=yes + fi + if [ ! -f "$COLDPLUG_TARBALL" ]; then + COLDPLUG=yes + fi + + # if this directory is not present /dev will not be updated by udev + mkdir -p /dev/.udev/db/ + + echo "Startting the hotplug events dispatcher" + udevd --daemon + + mkdir -p /dev/.udev/queue/ /dev/.udev/rules.d/ + + create_dev_makedev + + if [ $COLDPLUG != "no" ]; then + echo "Synthesizing the initial hotplug events" + udevadm trigger + + # wait for the udevd childs to finish + echo "Waiting for /dev to be fully populated" + if udevadm settle; then + echo 'done' + else + echo 'timeout' + fi + fi + + ;; + + stop) + echo "Stopping the hotplug events dispatcher" + start-stop-daemon --stop --name udevd --quiet --oknodo + ;; + + restart) + echo "Stopping the hotplug events dispatcher" + start-stop-daemon --stop --name udevd --quiet --oknodo + + echo "Startting the hotplug events dispatcher" + udevd --daemon + ;; + + reload|force-reload) + udevadm control --reload_rules + ;; + + *) + echo "Usage: /etc/init.d/udev {start|stop|restart|reload|force-reload}" + exit 1 + ;; +esac + +exit 0 + diff --git a/meta-openvuplus/recipes-core/udev/udev-124/libvolume-id-soname.patch b/meta-openvuplus/recipes-core/udev/udev-124/libvolume-id-soname.patch new file mode 100644 index 0000000..56365a4 --- /dev/null +++ b/meta-openvuplus/recipes-core/udev/udev-124/libvolume-id-soname.patch @@ -0,0 +1,12 @@ +diff -uNr udev-124-orig/extras/volume_id/lib/Makefile udev-124/extras/volume_id/lib/Makefile +--- udev-124-orig/extras/volume_id/lib/Makefile 2008-06-12 01:24:30.000000000 -0400 ++++ udev-124/extras/volume_id/lib/Makefile 2009-01-14 23:32:42.000000000 -0500 +@@ -113,7 +113,7 @@ + ifeq ($(libdir),$(usrlibdir)) + ln -sf $(SHLIB) $(DESTDIR)$(usrlibdir)/libvolume_id.so + else +- ln -sf $(libdir)/$(SHLIB) $(DESTDIR)$(usrlibdir)/libvolume_id.so ++ ln -sf ../..$(libdir)/$(SHLIB) $(DESTDIR)$(usrlibdir)/libvolume_id.so + endif + $(INSTALL) -d $(DESTDIR)$(usrlibdir)/pkgconfig + $(INSTALL_DATA) libvolume_id.pc $(DESTDIR)$(usrlibdir)/pkgconfig/libvolume_id.pc diff --git a/meta-openvuplus/recipes-core/udev/udev-124/links.conf b/meta-openvuplus/recipes-core/udev/udev-124/links.conf new file mode 100644 index 0000000..a9f8b58 --- /dev/null +++ b/meta-openvuplus/recipes-core/udev/udev-124/links.conf @@ -0,0 +1,24 @@ +# This file does not exist. Please do not ask the debian maintainer about it. +# You may use it to do strange and wonderful things, at your risk. + +L fd /proc/self/fd +L stdin /proc/self/fd/0 +L stdout /proc/self/fd/1 +L stderr /proc/self/fd/2 +L core /proc/kcore +L sndstat /proc/asound/oss/sndstat +L MAKEDEV /sbin/MAKEDEV + +D pts +D shm + +M null c 1 3 +M console c 5 1 + +# Hic sunt leones. +M ppp c 108 0 +D loop +M loop/0 b 7 0 +D net +M net/tun c 10 200 + diff --git a/meta-openvuplus/recipes-core/udev/udev-124/local.rules b/meta-openvuplus/recipes-core/udev/udev-124/local.rules new file mode 100644 index 0000000..9e0479b --- /dev/null +++ b/meta-openvuplus/recipes-core/udev/udev-124/local.rules @@ -0,0 +1,32 @@ +# There are a number of modifiers that are allowed to be used in some +# of the different fields. They provide the following subsitutions: +# +# %n the "kernel number" of the device. +# For example, 'sda3' has a "kernel number" of '3' +# %e the smallest number for that name which does not matches an existing node +# %k the kernel name for the device +# %M the kernel major number for the device +# %m the kernel minor number for the device +# %b the bus id for the device +# %c the string returned by the PROGRAM +# %s{filename} the content of a sysfs attribute +# %% the '%' char itself +# + +# Media automounting +#SUBSYSTEM=="block", ACTION=="add" RUN+="/etc/udev/scripts/mount.sh" +#SUBSYSTEM=="block", ACTION=="remove" RUN+="/etc/udev/scripts/mount.sh" + +# Handle network interface setup +SUBSYSTEM=="net", ACTION=="add" RUN+="/etc/udev/scripts/network.sh" +SUBSYSTEM=="net", ACTION=="remove" RUN+="/etc/udev/scripts/network.sh" + +# The first rtc device is symlinked to /dev/rtc +KERNEL=="rtc0", SYMLINK+="rtc" + +# Try and modprobe for drivers for new hardware +ACTION=="add", DEVPATH=="/devices/*", ENV{MODALIAS}=="?*", RUN+="/sbin/modprobe $env{MODALIAS}" + +# Create a symlink to any touchscreen input device +SUBSYSTEM=="input", KERNEL=="event[0-9]*", SYSFS{modalias}=="input:*-e0*,3,*a0,1,*18,*", SYMLINK+="input/touchscreen0" +SUBSYSTEM=="input", KERNEL=="event[0-9]*", SYSFS{modalias}=="ads7846", SYMLINK+="input/touchscreen0" diff --git a/meta-openvuplus/recipes-core/udev/udev-124/mount.blacklist b/meta-openvuplus/recipes-core/udev/udev-124/mount.blacklist new file mode 100644 index 0000000..d3ebb17 --- /dev/null +++ b/meta-openvuplus/recipes-core/udev/udev-124/mount.blacklist @@ -0,0 +1,3 @@ +/dev/loop +/dev/ram +/dev/mtdblock diff --git a/meta-openvuplus/recipes-core/udev/udev-124/mount.sh b/meta-openvuplus/recipes-core/udev/udev-124/mount.sh new file mode 100644 index 0000000..be8b3df --- /dev/null +++ b/meta-openvuplus/recipes-core/udev/udev-124/mount.sh @@ -0,0 +1,72 @@ +#!/bin/sh +# +# Called from udev +# Attemp to mount any added block devices +# and remove any removed devices +# + +MOUNT="/bin/mount" +PMOUNT="/usr/bin/pmount" +UMOUNT="/bin/umount" +name="`basename "$DEVNAME"`" + +for line in `cat /etc/udev/mount.blacklist | grep -v ^#` +do + if ( echo "$DEVNAME" | grep -q "$line" ) + then + logger "udev/mount.sh" "[$DEVNAME] is blacklisted, ignoring" + exit 0 + fi +done + +automount() { + ! test -d "/media/$name" && mkdir -p "/media/$name" + + if ! $MOUNT -t auto -o sync $DEVNAME "/media/$name" + then + #logger "mount.sh/automount" "$MOUNT -t auto $DEVNAME \"/media/$name\" failed!" + rm_dir "/media/$name" + else + logger "mount.sh/automount" "Auto-mount of [/media/$name] successful" + touch "/tmp/.automount-$name" + fi +} + +rm_dir() { + # We do not want to rm -r populated directories + if test "`find "$1" | wc -l | tr -d " "`" -lt 2 -a -d "$1" + then + ! test -z "$1" && rm -r "$1" + else + logger "mount.sh/automount" "Not removing non-empty directory [$1]" + fi +} + +if [ "$ACTION" = "add" ] && [ -n "$DEVNAME" ]; then + if [ -x "$PMOUNT" ]; then + $PMOUNT $DEVNAME 2> /dev/null + elif [ -x $MOUNT ]; then + $MOUNT $DEVNAME 2> /dev/null + fi + + # If the device isn't mounted at this point, it isn't configured in fstab + # 20061107: Small correction: The rootfs partition may be called just "rootfs" and not by + # its true device name so this would break. If the rootfs is mounted on two places + # during boot, it confuses the heck out of fsck. So Im auto-adding the root-partition + # to /etc/udev/mount.blacklist via postinst + + cat /proc/mounts | awk '{print $1}' | grep -q "^$DEVNAME$" || automount + +fi + + + +if [ "$ACTION" = "remove" ] && [ -x "$UMOUNT" ] && [ -n "$DEVNAME" ]; then + for mnt in `cat /proc/mounts | grep "$DEVNAME" | cut -f 2 -d " " ` + do + $UMOUNT $mnt + done + + # Remove empty directories from auto-mounter + test -e "/tmp/.automount-$name" && rm_dir "/media/$name" +fi diff --git a/meta-openvuplus/recipes-core/udev/udev-124/mtd-exclude-persistent.patch b/meta-openvuplus/recipes-core/udev/udev-124/mtd-exclude-persistent.patch new file mode 100644 index 0000000..204b7b4 --- /dev/null +++ b/meta-openvuplus/recipes-core/udev/udev-124/mtd-exclude-persistent.patch @@ -0,0 +1,13 @@ +Copyright (c) 2009 MontaVista Software, Inc. All rights reserved. + +--- a/etc/udev/rules.d/60-persistent-storage.rules 2008-06-12 07:24:30.000000000 +0200 ++++ b/etc/udev/rules.d/60-persistent-storage.rules 2009-08-18 11:39:23.595063264 +0200 +@@ -10,7 +10,7 @@ + SUBSYSTEM!="block", GOTO="persistent_storage_end" + + # skip rules for inappropriate block devices +-KERNEL=="ram*|loop*|fd*|nbd*|gnbd*|dm-*|md*", GOTO="persistent_storage_end" ++KERNEL=="ram*|loop*|fd*|mtd*|nbd*|gnbd*|dm-*|md*|btibm*", GOTO="persistent_storage_end" + + # never access non-cdrom removable ide devices, the drivers are causing event loops on open() + KERNEL=="hd*[!0-9]", ATTR{removable}=="1", DRIVERS=="ide-cs|ide-floppy", GOTO="persistent_storage_end" diff --git a/meta-openvuplus/recipes-core/udev/udev-124/network.sh b/meta-openvuplus/recipes-core/udev/udev-124/network.sh new file mode 100644 index 0000000..182c26d --- /dev/null +++ b/meta-openvuplus/recipes-core/udev/udev-124/network.sh @@ -0,0 +1,58 @@ +#!/bin/sh + +# udevd does clearenv(). Export shell PATH to children. +export PATH + +# Do not run when pcmcia-cs is installed +test -x /sbin/cardctl && exit 0 + +# We get two "add" events for hostap cards due to wifi0 +echo "$INTERFACE" | grep -q wifi && exit 0 + + +# Check if /etc/init.d/network has been run yet to see if we are +# called by starting /etc/rcS.d/S03udev and not by hotplugging a device +# +# At this stage, network interfaces should not be brought up +# automatically because: +# a) /etc/init.d/network has not been run yet (security issue) +# b) /var has not been populated yet so /etc/resolv,conf points to +# oblivion, making the network unusable +# + +spoofp="`grep ^spoofprotect /etc/network/options`" +if test -z "$spoofp" +then + # This is the default from /etc/init.d/network + spoofp_val=yes +else + spoofp_val=${spoofp#spoofprotect=} +fi + +test "$spoofp_val" = yes && spoofp_val=1 || spoofp_val=0 + +# I think it is safe to assume that "lo" will always be there ;) +if test "`cat /proc/sys/net/ipv4/conf/lo/rp_filter`" != "$spoofp_val" -a -n "$spoofp_val" +then + echo "$INTERFACE" >> /dev/udev_network_queue + exit 0 +fi + +# +# Code taken from pcmcia-cs:/etc/pcmcia/network +# + +# if this interface has an entry in /etc/network/interfaces, let ifupdown +# handle it +if grep -q "iface \+$INTERFACE" /etc/network/interfaces; then + case $ACTION in + add) + ifconfig | grep -q "^$INTERFACE" || ifup $INTERFACE + ;; + remove) + ifdown $INTERFACE + ;; + esac + + exit 0 +fi diff --git a/meta-openvuplus/recipes-core/udev/udev-124/noasmlinkage.patch b/meta-openvuplus/recipes-core/udev/udev-124/noasmlinkage.patch new file mode 100644 index 0000000..d58a7ea --- /dev/null +++ b/meta-openvuplus/recipes-core/udev/udev-124/noasmlinkage.patch @@ -0,0 +1,45 @@ +diff -pru udev-124.orig/test-udev.c udev-124/test-udev.c +--- udev-124.orig/test-udev.c 2008-06-12 06:24:30.000000000 +0100 ++++ udev-124/test-udev.c 2008-07-07 14:43:37.000000000 +0100 +@@ -46,7 +46,7 @@ void log_message(int priority, const cha + } + #endif + +-static void asmlinkage sig_handler(int signum) ++static void sig_handler(int signum) + { + switch (signum) { + case SIGALRM: +diff -pru udev-124.orig/udevd.c udev-124/udevd.c +--- udev-124.orig/udevd.c 2008-06-12 06:24:30.000000000 +0100 ++++ udev-124/udevd.c 2008-07-07 14:43:58.000000000 +0100 +@@ -87,7 +87,7 @@ void log_message(int priority, const cha + + #endif + +-static void asmlinkage udev_event_sig_handler(int signum) ++static void udev_event_sig_handler(int signum) + { + if (signum == SIGALRM) + exit(1); +@@ -798,7 +798,7 @@ static struct udevd_uevent_msg *get_netl + return msg; + } + +-static void asmlinkage sig_handler(int signum) ++static void sig_handler(int signum) + { + switch (signum) { + case SIGINT: +diff -pru udev-124.orig/udevmonitor.c udev-124/udevmonitor.c +--- udev-124.orig/udevmonitor.c 2008-06-12 06:24:30.000000000 +0100 ++++ udev-124/udevmonitor.c 2008-07-07 14:44:24.000000000 +0100 +@@ -97,7 +97,7 @@ static int init_uevent_netlink_sock(void + return 0; + } + +-static void asmlinkage sig_handler(int signum) ++static void sig_handler(int signum) + { + if (signum == SIGINT || signum == SIGTERM) + udev_exit = 1; diff --git a/meta-openvuplus/recipes-core/udev/udev-124/permissions.rules b/meta-openvuplus/recipes-core/udev/udev-124/permissions.rules new file mode 100644 index 0000000..940d163 --- /dev/null +++ b/meta-openvuplus/recipes-core/udev/udev-124/permissions.rules @@ -0,0 +1,119 @@ +ACTION!="add", GOTO="permissions_end" + +# workarounds needed to synchronize with sysfs +# only needed for kernels < v2.6.18-rc1 +ENV{PHYSDEVPATH}!="?*", ENV{PHYSDEVBUS}=="?*", WAIT_FOR_SYSFS="bus" +SUBSYSTEM=="scsi", KERNEL=="[0-9]*:[0-9]*", WAIT_FOR_SYSFS="ioerr_cnt" +# only needed for kernels < 2.6.16 +SUBSYSTEM=="net", WAIT_FOR_SYSFS="address" +# only needed for kernels < 2.6.17 +SUBSYSTEM=="net", ENV{DRIVER}=="?*", WAIT_FOR_SYSFS="device/driver" + +# devices needed to load the drivers providing them +KERNEL=="tun", OPTIONS+="ignore_remove" +KERNEL=="ppp", OPTIONS+="ignore_remove" +KERNEL=="loop[0-9]*", OPTIONS+="ignore_remove" + +# default permissions for block devices +SUBSYSTEM=="block", GROUP="disk" +# the aacraid driver is broken and reports that disks removable (see #404927) +SUBSYSTEM=="block", ATTRS{removable}=="1", \ + DRIVERS!="aacraid", GROUP="floppy" +# all block devices on these buses are "removable" +SUBSYSTEM=="block", SUBSYSTEMS=="usb|ieee1394|mmc|pcmcia", GROUP="floppy" + +# IDE devices +KERNEL=="hd[a-z]|pcd[0-9]*", DRIVERS=="ide-cdrom|pcd", \ + IMPORT{program}="cdrom_id --export $tempnode" +ENV{ID_CDROM}=="?*", GROUP="cdrom" +KERNEL=="ht[0-9]*", GROUP="tape" +KERNEL=="nht[0-9]*", GROUP="tape" + +# SCSI devices +KERNEL=="sr[0-9]*", IMPORT{program}="cdrom_id --export $tempnode" +SUBSYSTEMS=="scsi", ATTRS{type}=="1", GROUP="tape" +SUBSYSTEMS=="scsi", ATTRS{type}=="4", GROUP="cdrom" +SUBSYSTEMS=="scsi", ATTRS{type}=="5", GROUP="cdrom" +SUBSYSTEMS=="scsi", ATTRS{type}=="8", GROUP="tape" + +# USB devices +KERNEL=="legousbtower*", MODE="0666" +KERNEL=="lp[0-9]*", SUBSYSTEMS=="usb", GROUP="lp" + +# usbfs-like devices +SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", \ + MODE="0664" + +# iRiver music players +SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", GROUP="plugdev", \ + ATTRS{idVendor}=="4102", ATTRS{idProduct}=="10[01][135789]" + +# serial devices +SUBSYSTEM=="tty", GROUP="dialout" +SUBSYSTEM=="capi", GROUP="dialout" +SUBSYSTEM=="slamr", GROUP="dialout" +SUBSYSTEM=="zaptel", GROUP="dialout" + +# vc devices (all members of the tty subsystem) +KERNEL=="ptmx", MODE="0666", GROUP="root" +KERNEL=="console", MODE="0600", GROUP="root" +KERNEL=="tty", MODE="0666", GROUP="root" +KERNEL=="tty[0-9]*", GROUP="root" +KERNEL=="pty*", MODE="0666", GROUP="tty" + +# video devices +SUBSYSTEM=="video4linux", GROUP="video" +SUBSYSTEM=="drm", GROUP="video" +SUBSYSTEM=="dvb", GROUP="video" +SUBSYSTEM=="em8300", GROUP="video" +SUBSYSTEM=="graphics", GROUP="video" +SUBSYSTEM=="nvidia", GROUP="video" + +# misc devices +KERNEL=="random", MODE="0666" +KERNEL=="urandom", MODE="0666" +KERNEL=="mem", MODE="0640", GROUP="kmem" +KERNEL=="kmem", MODE="0640", GROUP="kmem" +KERNEL=="port", MODE="0640", GROUP="kmem" +KERNEL=="full", MODE="0666" +KERNEL=="null", MODE="0666" +KERNEL=="zero", MODE="0666" +KERNEL=="inotify", MODE="0666" +KERNEL=="sgi_fetchop", MODE="0666" +KERNEL=="sonypi", MODE="0666" +KERNEL=="agpgart", GROUP="video" +KERNEL=="rtc|rtc[0-9]*", GROUP="audio" +KERNEL=="kqemu", MODE="0666" +KERNEL=="tun", MODE="0666", + +KERNEL=="cdemu[0-9]*", GROUP="cdrom" +KERNEL=="pktcdvd[0-9]*", GROUP="cdrom" +KERNEL=="pktcdvd", MODE="0644" + +# printers and parallel devices +SUBSYSTEM=="printer", GROUP="lp" +SUBSYSTEM=="ppdev", GROUP="lp" +KERNEL=="irlpt*", GROUP="lp" +KERNEL=="pt[0-9]*", GROUP="tape" +KERNEL=="pht[0-9]*", GROUP="tape" + +# sound devices +SUBSYSTEM=="sound", GROUP="audio" + +# ieee1394 devices +KERNEL=="raw1394", GROUP="disk" +KERNEL=="dv1394*", GROUP="video" +KERNEL=="video1394*", GROUP="video" + +# input devices +KERNEL=="event[0-9]*", ATTRS{name}=="*dvb*|*DVB*|* IR *" \ + MODE="0664", GROUP="video" +KERNEL=="js[0-9]*", MODE="0664" +KERNEL=="lirc[0-9]*", GROUP="video" + +# AOE character devices +SUBSYSTEM=="aoe", MODE="0220", GROUP="disk" +SUBSYSTEM=="aoe", KERNEL=="err", MODE="0440" + +LABEL="permissions_end" + diff --git a/meta-openvuplus/recipes-core/udev/udev-124/run.rules b/meta-openvuplus/recipes-core/udev/udev-124/run.rules new file mode 100644 index 0000000..75d7137 --- /dev/null +++ b/meta-openvuplus/recipes-core/udev/udev-124/run.rules @@ -0,0 +1,14 @@ +# debugging monitor +RUN+="socket:/org/kernel/udev/monitor" + +# run a command on remove events +ACTION=="remove", ENV{REMOVE_CMD}!="", RUN+="$env{REMOVE_CMD}" + +# ignore the events generated by virtual consoles +KERNEL=="ptmx", OPTIONS+="last_rule" +KERNEL=="console", OPTIONS+="last_rule" +KERNEL=="tty" , OPTIONS+="last_rule" +KERNEL=="tty[0-9]*", OPTIONS+="last_rule" +KERNEL=="pty*", OPTIONS+="last_rule" +SUBSYSTEM=="vc", OPTIONS+="last_rule" + diff --git a/meta-openvuplus/recipes-core/udev/udev-124/series b/meta-openvuplus/recipes-core/udev/udev-124/series new file mode 100644 index 0000000..a77b0dc --- /dev/null +++ b/meta-openvuplus/recipes-core/udev/udev-124/series @@ -0,0 +1,6 @@ +noasmlinkage.patch -p1 +flags.patch -p1 +vol_id_ld.patch -p1 +udevtrigger_add_devname_filtering.patch -p1 +libvolume-id-soname.patch -p1 +mtd-exclude-persistent.patch -p1 diff --git a/meta-openvuplus/recipes-core/udev/udev-124/udev.rules b/meta-openvuplus/recipes-core/udev/udev-124/udev.rules new file mode 100644 index 0000000..67326ee --- /dev/null +++ b/meta-openvuplus/recipes-core/udev/udev-124/udev.rules @@ -0,0 +1,116 @@ +# There are a number of modifiers that are allowed to be used in some +# of the different fields. They provide the following subsitutions: +# +# %n the "kernel number" of the device. +# For example, 'sda3' has a "kernel number" of '3' +# %e the smallest number for that name which does not matches an existing node +# %k the kernel name for the device +# %M the kernel major number for the device +# %m the kernel minor number for the device +# %b the bus id for the device +# %c the string returned by the PROGRAM +# %s{filename} the content of a sysfs attribute +# %% the '%' char itself +# + +# workaround for devices which do not report media changes +SUBSYSTEMS=="ide", KERNEL=="hd[a-z]", ATTR{removable}=="1", \ + ENV{ID_MODEL}=="IOMEGA_ZIP*", NAME="%k", OPTIONS+="all_partitions" +SUBSYSTEMS=="ide", KERNEL=="hd[a-z]", ATTRS{media}=="floppy", \ + OPTIONS+="all_partitions" + +# SCSI devices +SUBSYSTEMS=="scsi", KERNEL=="sr[0-9]*", NAME="scd%n", SYMLINK+="sr%n" + +# USB devices +SUBSYSTEMS=="usb", KERNEL=="auer[0-9]*", NAME="usb/%k" +SUBSYSTEMS=="usb", KERNEL=="cpad[0-9]*", NAME="usb/%k" +SUBSYSTEMS=="usb", KERNEL=="dabusb*", NAME="usb/%k" +SUBSYSTEMS=="usb", KERNEL=="hiddev*", NAME="usb/%k" +SUBSYSTEMS=="usb", KERNEL=="legousbtower*", NAME="usb/%k" +SUBSYSTEMS=="usb", KERNEL=="lp[0-9]*", NAME="usb/%k" +SUBSYSTEMS=="usb", KERNEL=="ttyUSB*", \ + ATTRS{product}=="Palm Handheld*|Handspring Visor|palmOne Handheld", \ + SYMLINK+="pilot" + +# usbfs-like devices +SUBSYSTEM=="usb_device", PROGRAM="/bin/sh -c 'K=%k; K=$${K#usbdev}; printf bus/usb/%%03i/%%03i $${K%%%%.*} $${K#*.}'", ACTION=="add", \ + NAME="%c" +SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", NAME="bus/usb/$env{BUSNUM}/$env{DEVNUM}" + +# serial devices +KERNEL=="capi", NAME="capi20", SYMLINK+="isdn/capi20" +KERNEL=="capi[0-9]*", NAME="capi/%n" + +# video devices +KERNEL=="dvb*", PROGRAM="/bin/sh -c 'K=%k; K=$${K#dvb}; printf dvb/adapter%%i/%%s $${K%%%%.*} $${K#*.}", ACTION=="add", \ + NAME="%c" +KERNEL=="card[0-9]*", NAME="dri/%k" + +# misc devices +KERNEL=="hw_random", NAME="hwrng" +KERNEL=="tun", NAME="net/%k" +KERNEL=="evtchn", NAME="xen/%k" + +KERNEL=="cdemu[0-9]*", NAME="cdemu/%n" +KERNEL=="pktcdvd[0-9]*", NAME="pktcdvd/%n" +KERNEL=="pktcdvd", NAME="pktcdvd/control" + +KERNEL=="cpu[0-9]*", NAME="cpu/%n/cpuid" +KERNEL=="msr[0-9]*", NAME="cpu/%n/msr" +KERNEL=="microcode", NAME="cpu/microcode" + +KERNEL=="umad*", NAME="infiniband/%k" +KERNEL=="issm*", NAME="infiniband/%k" +KERNEL=="uverbs*", NAME="infiniband/%k" +KERNEL=="ucm*", NAME="infiniband/%k" +KERNEL=="rdma_ucm", NAME="infiniband/%k" + +# ALSA devices +KERNEL=="controlC[0-9]*", NAME="snd/%k" +KERNEL=="hwC[D0-9]*", NAME="snd/%k" +KERNEL=="pcmC[D0-9cp]*", NAME="snd/%k" +KERNEL=="midiC[D0-9]*", NAME="snd/%k" +KERNEL=="timer", NAME="snd/%k" +KERNEL=="seq", NAME="snd/%k" + +# ieee1394 devices +KERNEL=="dv1394*", NAME="dv1394/%n" +KERNEL=="video1394*", NAME="video1394/%n" + +# input devices +KERNEL=="mice", NAME="input/%k" +KERNEL=="mouse[0-9]*", NAME="input/%k" +KERNEL=="event[0-9]*", NAME="input/%k" +KERNEL=="js[0-9]*", NAME="input/%k" +KERNEL=="ts[0-9]*", NAME="input/%k" +KERNEL=="uinput", NAME="input/%k" + +# Zaptel +KERNEL=="zapctl", NAME="zap/ctl" +KERNEL=="zaptimer", NAME="zap/timer" +KERNEL=="zapchannel", NAME="zap/channel" +KERNEL=="zappseudo", NAME="zap/pseudo" +KERNEL=="zap[0-9]*", NAME="zap/%n" + +# AOE character devices +SUBSYSTEM=="aoe", KERNEL=="discover", NAME="etherd/%k" +SUBSYSTEM=="aoe", KERNEL=="err", NAME="etherd/%k" +SUBSYSTEM=="aoe", KERNEL=="interfaces", NAME="etherd/%k" +SUBSYSTEM=="aoe", KERNEL=="revalidate", NAME="etherd/%k" + +# device mapper creates its own device nodes, so ignore these +KERNEL=="dm-[0-9]*", OPTIONS+="ignore_device" +KERNEL=="device-mapper", NAME="mapper/control" + +KERNEL=="rfcomm[0-9]*", NAME="%k", GROUP="users", MODE="0660" + +# Firmware Helper +#ACTION=="add", SUBSYSTEM=="firmware", RUN+="/lib/udev/firmware.sh" + +# Samsung UARTS +KERNEL=="s3c2410_serial[0-9]", NAME="ttySAC%n" + +# MXC UARTs +KERNEL=="ttymxc[0-4]", NAME="ttymxc%n" + diff --git a/meta-openvuplus/recipes-core/udev/udev-124/udevtrigger_add_devname_filtering.patch b/meta-openvuplus/recipes-core/udev/udev-124/udevtrigger_add_devname_filtering.patch new file mode 100644 index 0000000..5182542 --- /dev/null +++ b/meta-openvuplus/recipes-core/udev/udev-124/udevtrigger_add_devname_filtering.patch @@ -0,0 +1,99 @@ +diff -pru udev-124.orig/udevtrigger.c udev-124/udevtrigger.c +--- udev-124.orig/udevtrigger.c 2008-06-12 06:24:30.000000000 +0100 ++++ udev-124/udevtrigger.c 2008-07-07 15:10:09.000000000 +0100 +@@ -42,6 +42,8 @@ static int dry_run; + LIST_HEAD(device_list); + LIST_HEAD(filter_subsystem_match_list); + LIST_HEAD(filter_subsystem_nomatch_list); ++LIST_HEAD(filter_kernel_match_list); ++LIST_HEAD(filter_kernel_nomatch_list); + LIST_HEAD(filter_attr_match_list); + LIST_HEAD(filter_attr_nomatch_list); + static int sock = -1; +@@ -331,6 +333,26 @@ static int attr_match(const char *path, + return 0; + } + ++static int kernel_filtered(const char *kernel) ++{ ++ struct name_entry *loop_name; ++ ++ /* skip devices matching the prohibited kernel device names */ ++ list_for_each_entry(loop_name, &filter_kernel_nomatch_list, node) ++ if (fnmatch(loop_name->name, kernel, 0) == 0) ++ return 1; ++ ++ /* skip devices not matching the listed kernel device names */ ++ if (!list_empty(&filter_kernel_match_list)) { ++ list_for_each_entry(loop_name, &filter_kernel_match_list, node) ++ if (fnmatch(loop_name->name, kernel, 0) == 0) ++ return 0; ++ return 1; ++ } ++ ++ return 0; ++} ++ + static int attr_filtered(const char *path) + { + struct name_entry *loop_name; +@@ -409,6 +431,9 @@ static void scan_subsystem(const char *s + if (dent2->d_name[0] == '.') + continue; + ++ if (kernel_filtered(dent2->d_name)) ++ continue; ++ + strlcpy(dirname2, dirname, sizeof(dirname2)); + strlcat(dirname2, "/", sizeof(dirname2)); + strlcat(dirname2, dent2->d_name, sizeof(dirname2)); +@@ -465,6 +490,9 @@ static void scan_block(void) + if (!strcmp(dent2->d_name,"device")) + continue; + ++ if (kernel_filtered(dent2->d_name)) ++ continue; ++ + strlcpy(dirname2, dirname, sizeof(dirname2)); + strlcat(dirname2, "/", sizeof(dirname2)); + strlcat(dirname2, dent2->d_name, sizeof(dirname2)); +@@ -576,6 +604,8 @@ int udevtrigger(int argc, char *argv[], + { "subsystem-nomatch", 1, NULL, 'S' }, + { "attr-match", 1, NULL, 'a' }, + { "attr-nomatch", 1, NULL, 'A' }, ++ { "kernel-match", 1, NULL, 'k' }, ++ { "kernel-nomatch", 1, NULL, 'K' }, + { "env", 1, NULL, 'e' }, + {} + }; +@@ -622,6 +652,12 @@ int udevtrigger(int argc, char *argv[], + case 'A': + name_list_add(&filter_attr_nomatch_list, optarg, 0); + break; ++ case 'k': ++ name_list_add(&filter_kernel_match_list, optarg, 0); ++ break; ++ case 'K': ++ name_list_add(&filter_kernel_nomatch_list, optarg, 0); ++ break; + case 'h': + printf("Usage: udevadm trigger OPTIONS\n" + " --verbose print the list of devices while running\n" +@@ -632,6 +668,8 @@ int udevtrigger(int argc, char *argv[], + " --env== pass an additional key (works only with --socket=)\n" + " --subsystem-match= trigger devices from a matching subystem\n" + " --subsystem-nomatch= exclude devices from a matching subystem\n" ++ " --kernel-match= trigger devices from a matching kernel device name\n" ++ " --kernel-nomatch= exclude devices from a matching kernel device name\n" + " --attr-match=]> trigger devices with a matching sysfs\n" + " attribute\n" + " --attr-nomatch=]> exclude devices with a matching sysfs\n" +@@ -701,6 +739,8 @@ int udevtrigger(int argc, char *argv[], + exit: + name_list_cleanup(&filter_subsystem_match_list); + name_list_cleanup(&filter_subsystem_nomatch_list); ++ name_list_cleanup(&filter_kernel_match_list); ++ name_list_cleanup(&filter_kernel_nomatch_list); + name_list_cleanup(&filter_attr_match_list); + name_list_cleanup(&filter_attr_nomatch_list); + diff --git a/meta-openvuplus/recipes-core/udev/udev-124/vol_id_ld.patch b/meta-openvuplus/recipes-core/udev/udev-124/vol_id_ld.patch new file mode 100644 index 0000000..11126ee --- /dev/null +++ b/meta-openvuplus/recipes-core/udev/udev-124/vol_id_ld.patch @@ -0,0 +1,17 @@ +--- + extras/volume_id/Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: udev-115/extras/volume_id/Makefile +=================================================================== +--- udev-115.orig/extras/volume_id/Makefile 2007-09-20 18:17:59.000000000 +0200 ++++ udev-115/extras/volume_id/Makefile 2007-09-20 18:18:08.000000000 +0200 +@@ -44,7 +44,7 @@ + ifeq ($(strip $(VOLUME_ID_STATIC)),true) + $(Q) $(LD) $(LDFLAGS) -o $@ $@.o $(LIBUDEV) lib/libvolume_id.a $(LIB_OBJS) + else +- $(Q) $(LD) $(LDFLAGS) -o $@ $@.o $(LIBUDEV) -Llib -lvolume_id $(LIB_OBJS) ++ $(Q) $(LD) -Llib $(LDFLAGS) -o $@ $@.o $(LIBUDEV) -lvolume_id $(LIB_OBJS) + endif + + # man pages diff --git a/meta-openvuplus/recipes-core/udev/udev-182/init b/meta-openvuplus/recipes-core/udev/udev-182/init deleted file mode 100644 index 45e1fc3..0000000 --- a/meta-openvuplus/recipes-core/udev/udev-182/init +++ /dev/null @@ -1,45 +0,0 @@ -#!/bin/sh - -### BEGIN INIT INFO -# Provides: udev -# Required-Start: mountvirtfs -# Required-Stop: -# Default-Start: S -# Default-Stop: -# Short-Description: Start udevd, populate /dev (symlinks only) and load drivers. -### END INIT INFO - -export TZ=/etc/localtime - -[ -d /sys/class ] || exit 1 -[ -r /proc/mounts ] || exit 1 -[ -x /lib/udev/udevd ] || exit 1 -[ -f /etc/default/udev ] && . /etc/default/udev -[ -f /etc/udev/udev.conf ] && . /etc/udev/udev.conf - -kill_udevd() { - pid=`pidof -x udevd` - [ -n "$pid" ] && kill $pid -} - -export ACTION=add - -echo "Starting udev" - -if [ ! -e "/lib/modules/$(uname -r)"/modules.dep ] ; then - mkdir -p /lib/modules/$(uname -r) - depmod -ae -fi - -# make_extra_nodes -kill_udevd > "/dev/null" 2>&1 - -# trigger the sorted events -echo -e '\000\000\000\000' > /proc/sys/kernel/hotplug -/lib/udev/udevd -d - -/usr/bin/udevadm control --env STARTUP=1 -/usr/bin/udevadm trigger --action=add -#/usr/bin/udevadm settle - -exit 0 diff --git a/meta-openvuplus/recipes-core/udev/udev_124.bb b/meta-openvuplus/recipes-core/udev/udev_124.bb new file mode 100644 index 0000000..f3060da --- /dev/null +++ b/meta-openvuplus/recipes-core/udev/udev_124.bb @@ -0,0 +1,74 @@ +DESCRIPTION = "udev is a daemon which dynamically creates and removes device nodes from \ +/dev/, handles hotplug events and loads drivers at boot time. It replaces \ +the hotplug package and requires a kernel not older than 2.6.12." +RPROVIDES_${PN} = "hotplug" +PR = "r31" + +SRC_URI = "http://kernel.org/pub/linux/utils/kernel/hotplug/udev-${PV}.tar.gz \ + file://noasmlinkage.patch;patch=1 \ + file://flags.patch;patch=1 \ + file://vol_id_ld.patch;patch=1 \ + file://udevtrigger_add_devname_filtering.patch;patch=1 \ + file://libvolume-id-soname.patch;patch=1 \ + file://mtd-exclude-persistent.patch;patch=1 \ + file://mount.blacklist \ + file://run.rules \ + file://default \ + file://local.rules \ + " + +SRC_URI_append_vuplus = " \ + file://40-od-devfs-compatibility.rules \ + file://42-od-oled-compatibility.rules \ + file://41-od-linux-2.6.18-misc.rules \ +" + +require udev_124.inc + +INITSCRIPT_PARAMS = "start 04 S ." + +FILES_${PN} += "${base_libdir}/udev/*" +FILES_${PN}-dbg += "${base_libdir}/udev/.debug" +UDEV_EXTRAS = "extras/firmware/ extras/scsi_id/ extras/volume_id/" +EXTRA_OEMAKE += "libudevdir=/lib/udev libdir=${base_libdir} prefix=" + +do_install () { + install -d ${D}${usrsbindir} \ + ${D}${sbindir} + oe_runmake 'DESTDIR=${D}' INSTALL=install install + install -d ${D}${sysconfdir}/init.d + install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/udev + + install -d ${D}${sysconfdir}/default + install -m 0755 ${WORKDIR}/default ${D}${sysconfdir}/default/udev + + install -d ${D}${sysconfdir}/udev/rules.d/ + + install -m 0644 ${WORKDIR}/mount.blacklist ${D}${sysconfdir}/udev/ + install -m 0644 ${WORKDIR}/local.rules ${D}${sysconfdir}/udev/rules.d/local.rules + install -m 0644 ${WORKDIR}/permissions.rules ${D}${sysconfdir}/udev/rules.d/permissions.rules + install -m 0644 ${WORKDIR}/run.rules ${D}${sysconfdir}/udev/rules.d/run.rules + install -m 0644 ${WORKDIR}/udev.rules ${D}${sysconfdir}/udev/rules.d/udev.rules + install -m 0644 ${WORKDIR}/links.conf ${D}${sysconfdir}/udev/links.conf + if [ "${UDEV_DEVFS_RULES}" = "1" ]; then + install -m 0644 ${WORKDIR}/devfs-udev.rules ${D}${sysconfdir}/udev/rules.d/devfs-udev.rules + fi + + touch ${D}${sysconfdir}/udev/saved.uname + touch ${D}${sysconfdir}/udev/saved.cmdline + touch ${D}${sysconfdir}/udev/saved.atags + + install -d ${D}${sysconfdir}/udev/scripts/ + + install -m 0755 ${WORKDIR}/mount.sh ${D}${sysconfdir}/udev/scripts/mount.sh + install -m 0755 ${WORKDIR}/network.sh ${D}${sysconfdir}/udev/scripts + + install -d ${D}${base_libdir}/udev/ +} + +do_install_append() { + install -m 0644 ${WORKDIR}/??-od-*.rules ${D}${sysconfdir}/udev/rules.d/ +} + +SRC_URI[md5sum] = "2ea9229208154229c5d6df6222f74ad7" +SRC_URI[sha256sum] = "cc9f58ff58fbd3f5868e1f1e368e3c93e1f441afd0ac1dcbd5d01a9ce5b5b0d7" diff --git a/meta-openvuplus/recipes-core/udev/udev_124.inc b/meta-openvuplus/recipes-core/udev/udev_124.inc new file mode 100644 index 0000000..32e59a2 --- /dev/null +++ b/meta-openvuplus/recipes-core/udev/udev_124.inc @@ -0,0 +1,67 @@ +DESCRIPTION ?= "udev is a program which dynamically creates and removes device nodes from \ +/dev/. It responds to /sbin/hotplug device events and requires a 2.6 kernel." +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" + +SRC_URI += " \ + file://udev.rules \ + file://devfs-udev.rules \ + file://links.conf \ + file://permissions.rules \ + file://mount.sh \ + file://network.sh \ + file://local.rules \ + file://init" + +inherit update-rc.d autotools pkgconfig + +PARALLEL_MAKE = "" +UDEV_DEVFS_RULES ?= "0" +PKG_libvolume-id-dev = "libvolume-id-dev" + +INITSCRIPT_NAME = "udev" +INITSCRIPT_PARAMS = "start 04 S ." + +export CROSS = "${TARGET_PREFIX}" +export HOSTCC = "${BUILD_CC}" +export udevdir ?= "/dev" +export usrbindir := "${bindir}" +export usrsbindir := "${sbindir}" +export etcdir = "${sysconfdir}" +LD = "${CC}" +bindir = "/bin" +sbindir = "/sbin" + +UDEV_EXTRAS = "" +EXTRA_OEMAKE = "-e \ + 'EXTRAS=${UDEV_EXTRAS}' \ + 'STRIP=echo'" + +do_install () { + install -d ${D}${usrsbindir} \ + ${D}${sbindir} + oe_runmake 'DESTDIR=${D}' INSTALL=install install + install -d ${D}${sysconfdir}/init.d + install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/udev + + install -d ${D}${sysconfdir}/udev/rules.d/ + + install -m 0644 ${WORKDIR}/local.rules ${D}${sysconfdir}/udev/rules.d/local.rules + install -m 0644 ${WORKDIR}/permissions.rules ${D}${sysconfdir}/udev/rules.d/permissions.rules + install -m 0644 ${WORKDIR}/udev.rules ${D}${sysconfdir}/udev/rules.d/udev.rules + if [ "${UDEV_DEVFS_RULES}" = "1" ]; then + install -m 0644 ${WORKDIR}/devfs-udev.rules ${D}${sysconfdir}/udev/rules.d/devfs-udev.rules + fi + + install -d ${D}${sysconfdir}/udev/scripts/ + + install -m 0755 ${WORKDIR}/mount.sh ${D}${sysconfdir}/udev/scripts/mount.sh + install -m 0755 ${WORKDIR}/network.sh ${D}${sysconfdir}/udev/scripts +} + +PACKAGES =+ "udev-utils libvolume-id libvolume-id-dev" +FILES_libvolume-id-dev = "${includedir}/libvolume_id.h ${libdir}/libvolume_id.a ${libdir}/libvolume_id.so ${libdir}/pkgconfig/libvolume_id.pc" +FILES_udev-utils = "${usrbindir}/udevinfo ${sbindir}/udevadm ${usrbindir}/udevtest" +FILES_libvolume-id = "${base_libdir}/libvolume_id.so.*" +FILES_${PN} += "${usrbindir}/* ${usrsbindir}/udevd" +FILES_${PN}-dbg += "${usrbindir}/.debug ${usrsbindir}/.debug" diff --git a/meta-openvuplus/recipes-core/udev/udev_182.bbappend b/meta-openvuplus/recipes-core/udev/udev_182.bbappend deleted file mode 100644 index 7f533e4..0000000 --- a/meta-openvuplus/recipes-core/udev/udev_182.bbappend +++ /dev/null @@ -1,18 +0,0 @@ -PR .= "-dream1" - -SRC_URI += " \ - file://init \ -" - -inherit update-rc.d - -INITSCRIPT_NAME = "udev" -INITSCRIPT_PARAMS = "start 03 S ." - -do_install_append () { - rm ${D}${sysconfdir}/udev/rules.d/*.rules || /bin/true - install -d ${D}${sysconfdir}/init.d - install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/udev -} - -FILESEXTRAPATHS_prepend := "${THISDIR}/${P}:" diff --git a/meta-openvuplus/recipes-kernel/linux-libc-headers/linux-libc-headers-2.6.31/0001-implement-TIF_RESTORE_SIGMASK-support-and-enable-the.patch b/meta-openvuplus/recipes-kernel/linux-libc-headers/linux-libc-headers-2.6.31/0001-implement-TIF_RESTORE_SIGMASK-support-and-enable-the.patch new file mode 100644 index 0000000..1dee314 --- /dev/null +++ b/meta-openvuplus/recipes-kernel/linux-libc-headers/linux-libc-headers-2.6.31/0001-implement-TIF_RESTORE_SIGMASK-support-and-enable-the.patch @@ -0,0 +1,429 @@ +Path: news.gmane.org!not-for-mail +From: Mikael Pettersson +Newsgroups: gmane.linux.ports.arm.kernel +Subject: [PATCH][v3] ARM support for + TIF_RESTORE_SIGMASK/pselect6/ppoll/epoll_pwait +Date: Sat, 15 Aug 2009 13:09:28 +0200 (MEST) +Lines: 362 +Approved: news@gmane.org +Message-ID: <200908151109.n7FB9Sbs000150@pilspetsen.it.uu.se> +NNTP-Posting-Host: lo.gmane.org +Mime-Version: 1.0 +Content-Type: text/plain; charset="us-ascii" +Content-Transfer-Encoding: 7bit +X-Trace: ger.gmane.org 1250334940 22899 80.91.229.12 (15 Aug 2009 11:15:40 GMT) +X-Complaints-To: usenet@ger.gmane.org +NNTP-Posting-Date: Sat, 15 Aug 2009 11:15:40 +0000 (UTC) +To: linux-arm-kernel@lists.arm.linux.org.uk +Original-X-From: linux-arm-kernel-bounces+linux-arm-kernel=m.gmane.org@lists.arm.linux.org.uk Sat Aug 15 13:15:33 2009 +Return-path: +Envelope-to: linux-arm-kernel@m.gmane.org +Original-Received: from zeniv.linux.org.uk ([195.92.253.2]) + by lo.gmane.org with esmtp (Exim 4.50) + id 1McHER-0000U2-PG + for linux-arm-kernel@m.gmane.org; Sat, 15 Aug 2009 13:15:31 +0200 +Original-Received: from [2002:4e20:1eda:1:201:3dff:fe00:156] (helo=lists.arm.linux.org.uk) + by ZenIV.linux.org.uk with esmtpsa (Exim 4.69 #1 (Red Hat Linux)) + id 1McH9u-0005LV-3W; Sat, 15 Aug 2009 11:10:57 +0000 +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; + d=arm.linux.org.uk; s=lists; h=Date:Message-Id:From:To:Subject: + List-Id:List-Unsubscribe:List-Archive:List-Post:List-Help: + List-Subscribe:MIME-Version:Content-Type: + Content-Transfer-Encoding; bh=RVq9hPAexlUcptd3h6j5nomOyoEIjcDWAP + VeJtlhsa4=; b=HAoqRMC9svNzKlR0f938E0cRlLoJZvG2aSun171woWZAClu/Ud + IYN0iD2vm4eF+kYQkTYD6PGFCMbNnugmZe6gCpS0QhijoKyOzRBdykQHJuOLQtLE + q9KJzp24cQ/vwsV2+O1OqcmIFboIg2L5JQaUuv0djS7OkdspH0ysmi1lg= +Original-Received: from [::1] (helo=lists.arm.linux.org.uk) + by lists.arm.linux.org.uk with esmtp (Exim 4.69) + (envelope-from ) + id 1McH9o-0002us-34; Sat, 15 Aug 2009 12:10:44 +0100 +Original-Received: from aun.it.uu.se ([130.238.12.36] ident=root) + by lists.arm.linux.org.uk with esmtps (TLSv1:AES256-SHA:256) + (Exim 4.69) (envelope-from ) id 1McH8h-0002uj-Ck + for linux-arm-kernel@lists.arm.linux.org.uk; + Sat, 15 Aug 2009 12:09:35 +0100 +Original-Received: from pilspetsen.it.uu.se (daemon@pilspetsen.it.uu.se [130.238.18.39]) + by aun.it.uu.se (8.13.6/8.13.6) with ESMTP id n7FB9S04005839 + for ; + Sat, 15 Aug 2009 13:09:28 +0200 (MEST) +Original-Received: (from mikpe@localhost) + by pilspetsen.it.uu.se (8.13.8+Sun/8.13.7) id n7FB9Sbs000150 + for linux-arm-kernel@lists.arm.linux.org.uk; + Sat, 15 Aug 2009 13:09:28 +0200 (MEST) +X-BeenThere: linux-arm-kernel@lists.arm.linux.org.uk +X-Mailman-Version: 2.1.9 +Precedence: list +List-Id: ARM Linux kernel discussions +List-Unsubscribe: , + +List-Archive: +List-Post: +List-Help: +List-Subscribe: , + +Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=m.gmane.org@lists.arm.linux.org.uk +Xref: news.gmane.org gmane.linux.ports.arm.kernel:64340 +Archived-At: + +This patch adds support for TIF_RESTORE_SIGMASK to ARM's signal handling, +which allows to hook up the pselect6, ppoll, and epoll_pwait syscalls on ARM. + +Tested here with eabi userspace and a test program with a deliberate race +between a child's exit and the parent's sigprocmask/select sequence. +Using sys_pselect6() instead of sigprocmask/select reliably prevents the race. + +The other arch's support for TIF_RESTORE_SIGMASK has evolved over time: + +In 2.6.16: +- add TIF_RESTORE_SIGMASK which parallels TIF_SIGPENDING +- test both when checking for pending signal [bad, changed later] +- reimplement sys_sigsuspend() to use current->saved_sigmask, + TIF_RESTORE_SIGMASK [changed later], and -ERESTARTNOHAND; + ditto for sys_rt_sigsuspend(), but drop private code and + use common code via __ARCH_WANT_SYS_RT_SIGSUSPEND; +- there are now no "extra" calls to do_signal() so its oldset + parameter is always ¤t->blocked so need not be passed, + also its return value is changed to void +- change handle_signal() to return 0/-errno +- change do_signal() to honor TIF_RESTORE_SIGMASK: + + get oldset from current->saved_sigmask if TIF_RESTORE_SIGMASK is set + + if handle_signal() was successful then clear TIF_RESTORE_SIGMASK + + if no signal was delivered and TIF_RESTORE_SIGMASK is set then + clear it and restore the sigmask +- hook up sys_pselect6() and sys_ppoll() + +In 2.6.19: +- hook up sys_epoll_pwait() + +In 2.6.26: +- allow archs to override how TIF_RESTORE_SIGMASK is implemented; + default set_restore_sigmask() sets both TIF_RESTORE_SIGMASK and + TIF_SIGPENDING; archs need now just test TIF_SIGPENDING again + when checking for pending signal work; some archs now implement + TIF_RESTORE_SIGMASK as a secondary/non-atomic thread flag bit +- call set_restore_sigmask() in sys_sigsuspend() instead of setting + TIF_RESTORE_SIGMASK + +In 2.6.29-rc: +- kill sys_pselect7() which no arch wanted + +So for 2.6.31-rc6/ARM this patch does the following: +- Add TIF_RESTORE_SIGMASK. Use the generic set_restore_sigmask() + which sets both TIF_SIGPENDING and TIF_RESTORE_SIGMASK, so + TIF_RESTORE_SIGMASK need not claim one of the scarce low thread + flags, and existing TIF_SIGPENDING and _TIF_WORK_MASK tests need + not be extended for TIF_RESTORE_SIGMASK. +- sys_sigsuspend() is reimplemented to use current->saved_sigmask and + set_restore_sigmask(), making it identical to most other archs. +- The private code for sys_rt_sigsuspend() is removed, instead generic + code supplies it via __ARCH_WANT_SYS_RT_SIGSUSPEND. +- sys_sigsuspend() and sys_rt_sigsuspend() no longer need a pt_regs + parameter, so their assembly code wrappers are removed. +- handle_signal() is changed to return 0 on success or -errno. +- The oldset parameter to do_signal() is now redundant and removed, + and the return value is now also redundant so it's changed to void. +- do_signal() is changed to honor TIF_RESTORE_SIGMASK: + + get oldset from current->saved_sigmask if TIF_RESTORE_SIGMASK is set + + if handle_signal() was successful then clear TIF_RESTORE_SIGMASK + + if no signal was delivered and TIF_RESTORE_SIGMASK is set then + clear it and restore the sigmask +- Hook up sys_pselect6, sys_ppoll, and sys_epoll_pwait. + +Signed-off-by: Mikael Pettersson +--- +Changes from previous versions: + +v2 (only posted as incremental diff against v1): +- moved sigmask restoration in no-signal-delivered case into + "if (syscall)" block for extra protection against exception + path also invoking do_signal() +v3 (this version): +- moved oldset initialisation into "if (signr > 0)" block, + as requested by Russell + + arch/arm/include/asm/thread_info.h | 2 + arch/arm/include/asm/unistd.h | 7 +-- + arch/arm/kernel/calls.S | 10 ++-- + arch/arm/kernel/entry-common.S | 10 ---- + arch/arm/kernel/signal.c | 86 +++++++++++++++---------------------- + 5 files changed, 48 insertions(+), 67 deletions(-) + +diff -rupN linux-2.6.31-rc6/arch/arm/include/asm/thread_info.h linux-2.6.31-rc6.arm-restore-sigmask-v3/arch/arm/include/asm/thread_info.h +--- linux-2.6.31-rc6/arch/arm/include/asm/thread_info.h 2009-08-14 11:11:10.000000000 +0200 ++++ linux-2.6.31-rc6.arm-restore-sigmask-v3/arch/arm/include/asm/thread_info.h 2009-08-14 11:26:44.000000000 +0200 +@@ -140,6 +140,7 @@ extern void vfp_sync_state(struct thread + #define TIF_USING_IWMMXT 17 + #define TIF_MEMDIE 18 + #define TIF_FREEZE 19 ++#define TIF_RESTORE_SIGMASK 20 + + #define _TIF_SIGPENDING (1 << TIF_SIGPENDING) + #define _TIF_NEED_RESCHED (1 << TIF_NEED_RESCHED) +@@ -147,6 +148,7 @@ extern void vfp_sync_state(struct thread + #define _TIF_POLLING_NRFLAG (1 << TIF_POLLING_NRFLAG) + #define _TIF_USING_IWMMXT (1 << TIF_USING_IWMMXT) + #define _TIF_FREEZE (1 << TIF_FREEZE) ++#define _TIF_RESTORE_SIGMASK (1 << TIF_RESTORE_SIGMASK) + + /* + * Change these and you break ASM code in entry-common.S +diff -rupN linux-2.6.31-rc6/arch/arm/include/asm/unistd.h linux-2.6.31-rc6.arm-restore-sigmask-v3/arch/arm/include/asm/unistd.h +--- linux-2.6.31-rc6/arch/arm/include/asm/unistd.h 2009-08-14 11:11:10.000000000 +0200 ++++ linux-2.6.31-rc6.arm-restore-sigmask-v3/arch/arm/include/asm/unistd.h 2009-08-14 11:26:44.000000000 +0200 +@@ -360,8 +360,8 @@ + #define __NR_readlinkat (__NR_SYSCALL_BASE+332) + #define __NR_fchmodat (__NR_SYSCALL_BASE+333) + #define __NR_faccessat (__NR_SYSCALL_BASE+334) +- /* 335 for pselect6 */ +- /* 336 for ppoll */ ++#define __NR_pselect6 (__NR_SYSCALL_BASE+335) ++#define __NR_ppoll (__NR_SYSCALL_BASE+336) + #define __NR_unshare (__NR_SYSCALL_BASE+337) + #define __NR_set_robust_list (__NR_SYSCALL_BASE+338) + #define __NR_get_robust_list (__NR_SYSCALL_BASE+339) +@@ -372,7 +372,7 @@ + #define __NR_vmsplice (__NR_SYSCALL_BASE+343) + #define __NR_move_pages (__NR_SYSCALL_BASE+344) + #define __NR_getcpu (__NR_SYSCALL_BASE+345) +- /* 346 for epoll_pwait */ ++#define __NR_epoll_pwait (__NR_SYSCALL_BASE+346) + #define __NR_kexec_load (__NR_SYSCALL_BASE+347) + #define __NR_utimensat (__NR_SYSCALL_BASE+348) + #define __NR_signalfd (__NR_SYSCALL_BASE+349) +@@ -432,6 +432,7 @@ + #define __ARCH_WANT_SYS_SIGPENDING + #define __ARCH_WANT_SYS_SIGPROCMASK + #define __ARCH_WANT_SYS_RT_SIGACTION ++#define __ARCH_WANT_SYS_RT_SIGSUSPEND + + #if !defined(CONFIG_AEABI) || defined(CONFIG_OABI_COMPAT) + #define __ARCH_WANT_SYS_TIME +diff -rupN linux-2.6.31-rc6/arch/arm/kernel/calls.S linux-2.6.31-rc6.arm-restore-sigmask-v3/arch/arm/kernel/calls.S +--- linux-2.6.31-rc6/arch/arm/kernel/calls.S 2009-08-14 11:11:10.000000000 +0200 ++++ linux-2.6.31-rc6.arm-restore-sigmask-v3/arch/arm/kernel/calls.S 2009-08-14 11:26:44.000000000 +0200 +@@ -81,7 +81,7 @@ + CALL(sys_ni_syscall) /* was sys_ssetmask */ + /* 70 */ CALL(sys_setreuid16) + CALL(sys_setregid16) +- CALL(sys_sigsuspend_wrapper) ++ CALL(sys_sigsuspend) + CALL(sys_sigpending) + CALL(sys_sethostname) + /* 75 */ CALL(sys_setrlimit) +@@ -188,7 +188,7 @@ + CALL(sys_rt_sigpending) + CALL(sys_rt_sigtimedwait) + CALL(sys_rt_sigqueueinfo) +- CALL(sys_rt_sigsuspend_wrapper) ++ CALL(sys_rt_sigsuspend) + /* 180 */ CALL(ABI(sys_pread64, sys_oabi_pread64)) + CALL(ABI(sys_pwrite64, sys_oabi_pwrite64)) + CALL(sys_chown16) +@@ -344,8 +344,8 @@ + CALL(sys_readlinkat) + CALL(sys_fchmodat) + CALL(sys_faccessat) +-/* 335 */ CALL(sys_ni_syscall) /* eventually pselect6 */ +- CALL(sys_ni_syscall) /* eventually ppoll */ ++/* 335 */ CALL(sys_pselect6) ++ CALL(sys_ppoll) + CALL(sys_unshare) + CALL(sys_set_robust_list) + CALL(sys_get_robust_list) +@@ -355,7 +355,7 @@ + CALL(sys_vmsplice) + CALL(sys_move_pages) + /* 345 */ CALL(sys_getcpu) +- CALL(sys_ni_syscall) /* eventually epoll_pwait */ ++ CALL(sys_epoll_pwait) + CALL(sys_kexec_load) + CALL(sys_utimensat) + CALL(sys_signalfd) +diff -rupN linux-2.6.31-rc6/arch/arm/kernel/entry-common.S linux-2.6.31-rc6.arm-restore-sigmask-v3/arch/arm/kernel/entry-common.S +--- linux-2.6.31-rc6/arch/arm/kernel/entry-common.S 2009-08-14 11:11:10.000000000 +0200 ++++ linux-2.6.31-rc6.arm-restore-sigmask-v3/arch/arm/kernel/entry-common.S 2009-08-14 11:26:44.000000000 +0200 +@@ -373,16 +373,6 @@ sys_clone_wrapper: + b sys_clone + ENDPROC(sys_clone_wrapper) + +-sys_sigsuspend_wrapper: +- add r3, sp, #S_OFF +- b sys_sigsuspend +-ENDPROC(sys_sigsuspend_wrapper) +- +-sys_rt_sigsuspend_wrapper: +- add r2, sp, #S_OFF +- b sys_rt_sigsuspend +-ENDPROC(sys_rt_sigsuspend_wrapper) +- + sys_sigreturn_wrapper: + add r0, sp, #S_OFF + b sys_sigreturn +diff -rupN linux-2.6.31-rc6/arch/arm/kernel/signal.c linux-2.6.31-rc6.arm-restore-sigmask-v3/arch/arm/kernel/signal.c +--- linux-2.6.31-rc6/arch/arm/kernel/signal.c 2009-08-14 11:11:10.000000000 +0200 ++++ linux-2.6.31-rc6.arm-restore-sigmask-v3/arch/arm/kernel/signal.c 2009-08-14 11:26:44.000000000 +0200 +@@ -47,57 +47,22 @@ const unsigned long sigreturn_codes[7] = + MOV_R7_NR_RT_SIGRETURN, SWI_SYS_RT_SIGRETURN, SWI_THUMB_RT_SIGRETURN, + }; + +-static int do_signal(sigset_t *oldset, struct pt_regs * regs, int syscall); +- + /* + * atomically swap in the new signal mask, and wait for a signal. + */ +-asmlinkage int sys_sigsuspend(int restart, unsigned long oldmask, old_sigset_t mask, struct pt_regs *regs) ++asmlinkage int sys_sigsuspend(int restart, unsigned long oldmask, old_sigset_t mask) + { +- sigset_t saveset; +- + mask &= _BLOCKABLE; + spin_lock_irq(¤t->sighand->siglock); +- saveset = current->blocked; ++ current->saved_sigmask = current->blocked; + siginitset(¤t->blocked, mask); + recalc_sigpending(); + spin_unlock_irq(¤t->sighand->siglock); +- regs->ARM_r0 = -EINTR; +- +- while (1) { +- current->state = TASK_INTERRUPTIBLE; +- schedule(); +- if (do_signal(&saveset, regs, 0)) +- return regs->ARM_r0; +- } +-} +- +-asmlinkage int +-sys_rt_sigsuspend(sigset_t __user *unewset, size_t sigsetsize, struct pt_regs *regs) +-{ +- sigset_t saveset, newset; +- +- /* XXX: Don't preclude handling different sized sigset_t's. */ +- if (sigsetsize != sizeof(sigset_t)) +- return -EINVAL; +- +- if (copy_from_user(&newset, unewset, sizeof(newset))) +- return -EFAULT; +- sigdelsetmask(&newset, ~_BLOCKABLE); +- +- spin_lock_irq(¤t->sighand->siglock); +- saveset = current->blocked; +- current->blocked = newset; +- recalc_sigpending(); +- spin_unlock_irq(¤t->sighand->siglock); +- regs->ARM_r0 = -EINTR; + +- while (1) { +- current->state = TASK_INTERRUPTIBLE; +- schedule(); +- if (do_signal(&saveset, regs, 0)) +- return regs->ARM_r0; +- } ++ current->state = TASK_INTERRUPTIBLE; ++ schedule(); ++ set_restore_sigmask(); ++ return -ERESTARTNOHAND; + } + + asmlinkage int +@@ -545,7 +510,7 @@ static inline void setup_syscall_restart + /* + * OK, we're invoking a handler + */ +-static void ++static int + handle_signal(unsigned long sig, struct k_sigaction *ka, + siginfo_t *info, sigset_t *oldset, + struct pt_regs * regs, int syscall) +@@ -596,7 +561,7 @@ handle_signal(unsigned long sig, struct + + if (ret != 0) { + force_sigsegv(sig, tsk); +- return; ++ return ret; + } + + /* +@@ -610,6 +575,7 @@ handle_signal(unsigned long sig, struct + recalc_sigpending(); + spin_unlock_irq(&tsk->sighand->siglock); + ++ return 0; + } + + /* +@@ -621,7 +587,7 @@ handle_signal(unsigned long sig, struct + * the kernel can handle, and then we build all the user-level signal handling + * stack-frames in one go after that. + */ +-static int do_signal(sigset_t *oldset, struct pt_regs *regs, int syscall) ++static void do_signal(struct pt_regs *regs, int syscall) + { + struct k_sigaction ka; + siginfo_t info; +@@ -634,7 +600,7 @@ static int do_signal(sigset_t *oldset, s + * if so. + */ + if (!user_mode(regs)) +- return 0; ++ return; + + if (try_to_freeze()) + goto no_signal; +@@ -643,9 +609,24 @@ static int do_signal(sigset_t *oldset, s + + signr = get_signal_to_deliver(&info, &ka, regs, NULL); + if (signr > 0) { +- handle_signal(signr, &ka, &info, oldset, regs, syscall); ++ sigset_t *oldset; ++ ++ if (test_thread_flag(TIF_RESTORE_SIGMASK)) ++ oldset = ¤t->saved_sigmask; ++ else ++ oldset = ¤t->blocked; ++ if (handle_signal(signr, &ka, &info, oldset, regs, syscall) == 0) { ++ /* ++ * A signal was successfully delivered; the saved ++ * sigmask will have been stored in the signal frame, ++ * and will be restored by sigreturn, so we can simply ++ * clear the TIF_RESTORE_SIGMASK flag. ++ */ ++ if (test_thread_flag(TIF_RESTORE_SIGMASK)) ++ clear_thread_flag(TIF_RESTORE_SIGMASK); ++ } + single_step_set(current); +- return 1; ++ return; + } + + no_signal: +@@ -697,14 +678,21 @@ static int do_signal(sigset_t *oldset, s + regs->ARM_r0 == -ERESTARTNOINTR) { + setup_syscall_restart(regs); + } ++ ++ /* If there's no signal to deliver, we just put the saved sigmask ++ * back. ++ */ ++ if (test_thread_flag(TIF_RESTORE_SIGMASK)) { ++ clear_thread_flag(TIF_RESTORE_SIGMASK); ++ sigprocmask(SIG_SETMASK, ¤t->saved_sigmask, NULL); ++ } + } + single_step_set(current); +- return 0; + } + + asmlinkage void + do_notify_resume(struct pt_regs *regs, unsigned int thread_flags, int syscall) + { + if (thread_flags & _TIF_SIGPENDING) +- do_signal(¤t->blocked, regs, syscall); ++ do_signal(regs, syscall); + } + +------------------------------------------------------------------- +List admin: http://lists.arm.linux.org.uk/mailman/listinfo/linux-arm-kernel +FAQ: http://www.arm.linux.org.uk/mailinglists/faq.php +Etiquette: http://www.arm.linux.org.uk/mailinglists/etiquette.php + diff --git a/meta-openvuplus/recipes-kernel/linux-libc-headers/linux-libc-headers-2.6.31/dvbapi-5.3.patch b/meta-openvuplus/recipes-kernel/linux-libc-headers/linux-libc-headers-2.6.31/dvbapi-5.3.patch new file mode 100644 index 0000000..876801e --- /dev/null +++ b/meta-openvuplus/recipes-kernel/linux-libc-headers/linux-libc-headers-2.6.31/dvbapi-5.3.patch @@ -0,0 +1,190 @@ +diff --git a/include/linux/dvb/audio.h b/include/linux/dvb/audio.h +index fec66bd..24cca40 100644 +--- a/include/linux/dvb/audio.h ++++ b/include/linux/dvb/audio.h +@@ -24,7 +24,7 @@ + #ifndef _DVBAUDIO_H_ + #define _DVBAUDIO_H_ + +-#include ++#include + + typedef enum { + AUDIO_SOURCE_DEMUX, /* Select the demux as the main source */ +diff --git a/include/linux/dvb/dmx.h b/include/linux/dvb/dmx.h +index fef9437..698fe94 100644 +--- a/include/linux/dvb/dmx.h ++++ b/include/linux/dvb/dmx.h +@@ -24,7 +24,7 @@ + #ifndef _DVBDMX_H_ + #define _DVBDMX_H_ + +-#include ++#include + #ifdef __KERNEL__ + #include + #else +@@ -151,5 +151,7 @@ struct dmx_stc { + #define DMX_GET_CAPS _IOR('o', 48, dmx_caps_t) + #define DMX_SET_SOURCE _IOW('o', 49, dmx_source_t) + #define DMX_GET_STC _IOWR('o', 50, struct dmx_stc) ++#define DMX_ADD_PID _IOW('o', 51, __u16) ++#define DMX_REMOVE_PID _IOW('o', 52, __u16) + + #endif /*_DVBDMX_H_*/ +diff --git a/include/linux/dvb/frontend.h b/include/linux/dvb/frontend.h +index 51c8d2d..0de9dc2 100644 +--- a/include/linux/dvb/frontend.h ++++ b/include/linux/dvb/frontend.h +@@ -26,7 +26,7 @@ + #ifndef _DVBFRONTEND_H_ + #define _DVBFRONTEND_H_ + +-#include ++#include + + typedef enum fe_type { + FE_QPSK, +@@ -62,6 +62,7 @@ typedef enum fe_caps { + FE_CAN_8VSB = 0x200000, + FE_CAN_16VSB = 0x400000, + FE_HAS_EXTENDED_CAPS = 0x800000, /* We need more bitspace for newer APIs, indicate this. */ ++ FE_CAN_TURBO_FEC = 0x8000000, /* frontend supports "turbo fec modulation" */ + FE_CAN_2G_MODULATION = 0x10000000, /* frontend supports "2nd generation modulation" (DVB-S2) */ + FE_NEEDS_BENDING = 0x20000000, /* not supported anymore, don't use (frontend requires frequency bending) */ + FE_CAN_RECOVER = 0x40000000, /* frontend can recover from a cable unplug automatically */ +@@ -173,14 +174,21 @@ typedef enum fe_modulation { + typedef enum fe_transmit_mode { + TRANSMISSION_MODE_2K, + TRANSMISSION_MODE_8K, +- TRANSMISSION_MODE_AUTO ++ TRANSMISSION_MODE_AUTO, ++ TRANSMISSION_MODE_4K, ++ TRANSMISSION_MODE_1K, ++ TRANSMISSION_MODE_16K, ++ TRANSMISSION_MODE_32K, + } fe_transmit_mode_t; + + typedef enum fe_bandwidth { + BANDWIDTH_8_MHZ, + BANDWIDTH_7_MHZ, + BANDWIDTH_6_MHZ, +- BANDWIDTH_AUTO ++ BANDWIDTH_AUTO, ++ BANDWIDTH_5_MHZ, ++ BANDWIDTH_10_MHZ, ++ BANDWIDTH_1_712_MHZ, + } fe_bandwidth_t; + + +@@ -189,7 +197,10 @@ typedef enum fe_guard_interval { + GUARD_INTERVAL_1_16, + GUARD_INTERVAL_1_8, + GUARD_INTERVAL_1_4, +- GUARD_INTERVAL_AUTO ++ GUARD_INTERVAL_AUTO, ++ GUARD_INTERVAL_1_128, ++ GUARD_INTERVAL_19_128, ++ GUARD_INTERVAL_19_256, + } fe_guard_interval_t; + + +@@ -268,15 +279,44 @@ struct dvb_frontend_event { + #define DTV_FE_CAPABILITY 16 + #define DTV_DELIVERY_SYSTEM 17 + +-#define DTV_API_VERSION 35 +-#define DTV_API_VERSION 35 +-#define DTV_CODE_RATE_HP 36 +-#define DTV_CODE_RATE_LP 37 +-#define DTV_GUARD_INTERVAL 38 +-#define DTV_TRANSMISSION_MODE 39 +-#define DTV_HIERARCHY 40 ++/* ISDB-T and ISDB-Tsb */ ++#define DTV_ISDBT_PARTIAL_RECEPTION 18 ++#define DTV_ISDBT_SOUND_BROADCASTING 19 + +-#define DTV_MAX_COMMAND DTV_HIERARCHY ++#define DTV_ISDBT_SB_SUBCHANNEL_ID 20 ++#define DTV_ISDBT_SB_SEGMENT_IDX 21 ++#define DTV_ISDBT_SB_SEGMENT_COUNT 22 ++ ++#define DTV_ISDBT_LAYERA_FEC 23 ++#define DTV_ISDBT_LAYERA_MODULATION 24 ++#define DTV_ISDBT_LAYERA_SEGMENT_COUNT 25 ++#define DTV_ISDBT_LAYERA_TIME_INTERLEAVING 26 ++ ++#define DTV_ISDBT_LAYERB_FEC 27 ++#define DTV_ISDBT_LAYERB_MODULATION 28 ++#define DTV_ISDBT_LAYERB_SEGMENT_COUNT 29 ++#define DTV_ISDBT_LAYERB_TIME_INTERLEAVING 30 ++ ++#define DTV_ISDBT_LAYERC_FEC 31 ++#define DTV_ISDBT_LAYERC_MODULATION 32 ++#define DTV_ISDBT_LAYERC_SEGMENT_COUNT 33 ++#define DTV_ISDBT_LAYERC_TIME_INTERLEAVING 34 ++ ++#define DTV_API_VERSION 35 ++ ++#define DTV_CODE_RATE_HP 36 ++#define DTV_CODE_RATE_LP 37 ++#define DTV_GUARD_INTERVAL 38 ++#define DTV_TRANSMISSION_MODE 39 ++#define DTV_HIERARCHY 40 ++ ++#define DTV_ISDBT_LAYER_ENABLED 41 ++ ++#define DTV_ISDBS_TS_ID 42 ++ ++#define DTV_DVBT2_PLP_ID 43 ++ ++#define DTV_MAX_COMMAND DTV_DVBT2_PLP_ID + + typedef enum fe_pilot { + PILOT_ON, +@@ -308,6 +348,7 @@ typedef enum fe_delivery_system { + SYS_DMBTH, + SYS_CMMB, + SYS_DAB, ++ SYS_DVBT2, + } fe_delivery_system_t; + + struct dtv_cmds_h { +diff --git a/include/linux/dvb/net.h b/include/linux/dvb/net.h +index f451e7e..59ed3fe 100644 +--- a/include/linux/dvb/net.h ++++ b/include/linux/dvb/net.h +@@ -24,7 +24,7 @@ + #ifndef _DVBNET_H_ + #define _DVBNET_H_ + +-#include ++#include + + struct dvb_net_if { + __u16 pid; +diff --git a/include/linux/dvb/version.h b/include/linux/dvb/version.h +index 25b823b..1421cc8 100644 +--- a/include/linux/dvb/version.h ++++ b/include/linux/dvb/version.h +@@ -24,6 +24,6 @@ + #define _DVBVERSION_H_ + + #define DVB_API_VERSION 5 +-#define DVB_API_VERSION_MINOR 0 ++#define DVB_API_VERSION_MINOR 3 + + #endif /*_DVBVERSION_H_*/ +diff --git a/include/linux/dvb/video.h b/include/linux/dvb/video.h +index 1d750c0..3fccd5d 100644 +--- a/include/linux/dvb/video.h ++++ b/include/linux/dvb/video.h +@@ -137,7 +137,7 @@ struct video_event { + #define VIDEO_EVENT_FRAME_RATE_CHANGED 2 + #define VIDEO_EVENT_DECODER_STOPPED 3 + #define VIDEO_EVENT_VSYNC 4 +- __kernel_time_t timestamp; ++ time_t timestamp; + union { + video_size_t size; + unsigned int frame_rate; /* in frames per 1000sec */ diff --git a/meta-openvuplus/recipes-kernel/linux-libc-headers/linux-libc-headers.inc b/meta-openvuplus/recipes-kernel/linux-libc-headers/linux-libc-headers.inc deleted file mode 100644 index 83b4604..0000000 --- a/meta-openvuplus/recipes-kernel/linux-libc-headers/linux-libc-headers.inc +++ /dev/null @@ -1,66 +0,0 @@ -DESCRIPTION = "Sanitized set of kernel headers for the C library's use." -SECTION = "devel" -LICENSE = "GPLv2" - -LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7" - -python __anonymous () { - major = d.getVar("PV",True).split('.')[0] - if major == "3": - d.setVar("HEADER_FETCH_VER", "3.0") - else: - d.setVar("HEADER_FETCH_VER", "2.6") -} - -SRC_URI = "http://archive.vuplus.com/download/kernel/linux-${KV}_${SRCREV}.tar.bz2" - -S = "${WORKDIR}/linux-${PV}" - -set_arch() { - case ${TARGET_ARCH} in - alpha*) ARCH=alpha ;; - arm*) ARCH=arm ;; - cris*) ARCH=cris ;; - hppa*) ARCH=parisc ;; - i*86*) ARCH=i386 ;; - ia64*) ARCH=ia64 ;; - mips*) ARCH=mips ;; - m68k*) ARCH=m68k ;; - powerpc*) ARCH=powerpc ;; - s390*) ARCH=s390 ;; - sh*) ARCH=sh ;; - sparc64*) ARCH=sparc64 ;; - sparc*) ARCH=sparc ;; - x86_64*) ARCH=x86_64 ;; - avr32*) ARCH=avr32 ;; - bfin*) ARCH=blackfin ;; - microblaze*) ARCH=microblaze ;; - esac -} - -do_configure() { - set_arch - oe_runmake allnoconfig ARCH=$ARCH -} - -do_compile () { -} - -do_install() { - set_arch - oe_runmake headers_install INSTALL_HDR_PATH=${D}${exec_prefix} ARCH=$ARCH - # Kernel should not be exporting this header - rm -f ${D}${exec_prefix}/include/scsi/scsi.h - - # The ..install.cmd conflicts between various configure runs - find ${D}${includedir} -name ..install.cmd | xargs rm -f -} - -BBCLASSEXTEND = "nativesdk" - -#DEPENDS = "cross-linkage" -RDEPENDS_${PN}-dev = "" -RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})" - -INHIBIT_DEFAULT_DEPS = "1" -DEPENDS += "unifdef-native" diff --git a/meta-openvuplus/recipes-kernel/linux-libc-headers/linux-libc-headers/connector-msg-size-fix.patch b/meta-openvuplus/recipes-kernel/linux-libc-headers/linux-libc-headers/connector-msg-size-fix.patch deleted file mode 100644 index 5d531d6..0000000 --- a/meta-openvuplus/recipes-kernel/linux-libc-headers/linux-libc-headers/connector-msg-size-fix.patch +++ /dev/null @@ -1,29 +0,0 @@ -Upstream-Status: Inappropriate [embedded specific] - -Currently default header is linux-libc-header, which leads the dismatch -with wrs kernel. - -The different headers for same file cause trouble between kerenl module and -user level binary. E.g. segfault in v86d due to different -CONNECTOR_MAX_MSG_SIZE in connector.h from the one used by uvesafb. - -This fix is work around to sync with wrs kernel headers, and should be removed -after switching to linux-libc-headers-wrs. - -[BUGID #279] fixed by this. - -Signed-off-by: Zhai Edwin - -Index: linux-2.6.34/include/linux/connector.h -=================================================================== ---- linux-2.6.34.orig/include/linux/connector.h 2010-09-30 14:15:25.000000000 +0800 -+++ linux-2.6.34/include/linux/connector.h 2010-09-30 14:15:43.000000000 +0800 -@@ -48,7 +48,7 @@ - /* - * Maximum connector's message size. - */ --#define CONNECTOR_MAX_MSG_SIZE 16384 -+#define CONNECTOR_MAX_MSG_SIZE 65536 - - /* - * idx and val are unique identifiers which diff --git a/meta-openvuplus/recipes-kernel/linux-libc-headers/linux-libc-headers_2.6.31.bb b/meta-openvuplus/recipes-kernel/linux-libc-headers/linux-libc-headers_2.6.31.bb new file mode 100644 index 0000000..0bbc5e7 --- /dev/null +++ b/meta-openvuplus/recipes-kernel/linux-libc-headers/linux-libc-headers_2.6.31.bb @@ -0,0 +1,64 @@ +DESCRIPTION = "Sanitized set of 2.6 kernel headers for the C library's use." +SECTION = "devel" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7" + +PR = "r0" + +DEPENDS += "unifdef-native" +RDEPENDS_${PN}-dev = "" +RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPV})" + +INHIBIT_DEFAULT_DEPS = "1" +DEFAULT_PREFERENCE = "-1" + +SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${PV}.tar.bz2 \ + file://0001-implement-TIF_RESTORE_SIGMASK-support-and-enable-the.patch;patch=1 \ + file://dvbapi-5.3.patch;patch=1;pnum=1 \ +" + +SRC_URI[md5sum] = "84c077a37684e4cbfa67b18154390d8a" +SRC_URI[sha256sum] = "0acd83f7b85db7ee18c2b0b7505e1ba6fd722c36f49a8870a831c851660e3512" + +S = "${WORKDIR}/linux-${PV}" + +set_arch() { + case ${TARGET_ARCH} in + alpha*) ARCH=alpha ;; + arm*) ARCH=arm ;; + cris*) ARCH=cris ;; + hppa*) ARCH=parisc ;; + i*86*) ARCH=i386 ;; + ia64*) ARCH=ia64 ;; + mips*) ARCH=mips ;; + m68k*) ARCH=m68k ;; + powerpc*) ARCH=powerpc ;; + s390*) ARCH=s390 ;; + sh*) ARCH=sh ;; + sparc64*) ARCH=sparc64 ;; + sparc*) ARCH=sparc ;; + x86_64*) ARCH=x86_64 ;; + avr32*) ARCH=avr32 ;; + bfin*) ARCH=blackfin ;; + esac +} + +do_configure() { + set_arch + oe_runmake allnoconfig ARCH=$ARCH +} + +do_compile () { +} + +do_install() { + set_arch + oe_runmake headers_install INSTALL_HDR_PATH=${D}${exec_prefix} ARCH=$ARCH + # Kernel should not be exporting this header + rm -rf ${D}${includedir}/scsi + + # The ..install.cmd conflicts between various configure runs + #find ${D}${includedir} -name ..install.cmd | xargs rm -f +} + +BBCLASSEXTEND = "nativesdk" diff --git a/meta-openvuplus/recipes-kernel/linux-libc-headers/linux-libc-headers_3.1.1.bb b/meta-openvuplus/recipes-kernel/linux-libc-headers/linux-libc-headers_3.1.1.bb deleted file mode 100644 index 4806ec5..0000000 --- a/meta-openvuplus/recipes-kernel/linux-libc-headers/linux-libc-headers_3.1.1.bb +++ /dev/null @@ -1,7 +0,0 @@ -require linux-libc-headers.inc - -KV = "3.1.1" -SRCREV = "r2" - -SRC_URI[md5sum] = "4dc3ac322453abbfaade7020cddea205" -SRC_URI[sha256sum] = "1d18eb39677a23eace6b27ee25656c25f21b57be7e77a2adcdd15c76d1c3e875" -- 2.7.4