aboutsummaryrefslogtreecommitdiffstats
path: root/include/kernel-version.mk
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2015-03-18 18:21:08 +0000
committerFelix Fietkau <nbd@openwrt.org>2015-03-18 18:21:08 +0000
commit17afb853eec6dc4f39f0815831379be004f98cc5 (patch)
tree5feb5a032288f0a36cc3890d258bcfb95b2f1ad3 /include/kernel-version.mk
parent87568ebeacd733d211da5dcce8d82df4aa872b84 (diff)
downloadupstream-17afb853eec6dc4f39f0815831379be004f98cc5.tar.gz
upstream-17afb853eec6dc4f39f0815831379be004f98cc5.tar.bz2
upstream-17afb853eec6dc4f39f0815831379be004f98cc5.zip
kernel: bump to 3.14.35, 3.18.9, 3.19.1 and 4.0-rc4
also refresh generic patches for 3.14, 3.18, 3.19 and 4.0 targets might need a minor refresh as well, however, it looks like everything still applies cleanly with occasional small offsets. Signed-off-by: Daniel Golle <daniel@makrotopia.org> SVN-Revision: 44876
Diffstat (limited to 'include/kernel-version.mk')
-rw-r--r--include/kernel-version.mk16
1 files changed, 8 insertions, 8 deletions
diff --git a/include/kernel-version.mk b/include/kernel-version.mk
index f8ae94db2b..774814520e 100644
--- a/include/kernel-version.mk
+++ b/include/kernel-version.mk
@@ -5,18 +5,18 @@ LINUX_RELEASE?=1
LINUX_VERSION-3.8 = .13
LINUX_VERSION-3.10 = .58
LINUX_VERSION-3.13 = .7
-LINUX_VERSION-3.14 = .34
-LINUX_VERSION-3.18 = .8
-LINUX_VERSION-3.19 =
-LINUX_VERSION-4.0 = -rc1
+LINUX_VERSION-3.14 = .35
+LINUX_VERSION-3.18 = .9
+LINUX_VERSION-3.19 = .1
+LINUX_VERSION-4.0 = -rc4
LINUX_KERNEL_MD5SUM-3.8.13 = 2af19d06cd47ec459519159cdd10542d
LINUX_KERNEL_MD5SUM-3.10.58 = 3ff3478b6351143cef22d4b81cf48b01
LINUX_KERNEL_MD5SUM-3.13.7 = 370adced5e5c1cb1d0d621c2dae2723f
-LINUX_KERNEL_MD5SUM-3.14.34 = 4061154fb66b24a8a1982a8adbe94335
-LINUX_KERNEL_MD5SUM-3.18.8 = 94673d5f4521a6077eb6fe0ab2633b35
-LINUX_KERNEL_MD5SUM-3.19 = d3fc8316d4d4d04b65cbc2d70799e763
-LINUX_KERNEL_MD5SUM-4.0-rc1 = 547b340dca94d358b68d2658822080fa
+LINUX_KERNEL_MD5SUM-3.14.35 = e5e92c40d14bc8ae9a8701db4e1cbb27
+LINUX_KERNEL_MD5SUM-3.18.9 = 44cd16ada5eb03589f696f083cd2323b
+LINUX_KERNEL_MD5SUM-3.19.1 = 90e9cdcaecf587acba4e94904f5f8606
+LINUX_KERNEL_MD5SUM-4.0-rc4 = 0e37c076159538ff882f190d87fe9798
ifdef KERNEL_PATCHVER
LINUX_VERSION:=$(KERNEL_PATCHVER)$(strip $(LINUX_VERSION-$(KERNEL_PATCHVER)))
ld } /* Literal.Number.Bin */ .highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */ .highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */ .highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */ .highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */ .highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */ .highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */ .highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */ .highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */ .highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
import os
import re
import string

from xen.xend.XendLogging import log

def expand_dev_name(name):
    if not name:
        return name
    if re.match( '^/', name ):
        return name
    else:
        return '/dev/' + name

def blkdev_name_to_number(name):
    """Take the given textual block-device name (e.g., '/dev/sda1',
    'hda') and return the device number used by the OS. """

    n = expand_dev_name(name)

    try:
        return os.stat(n).st_rdev
    except Exception, ex:
        pass

    scsi_major = [ 8, 65, 66, 67, 68, 69, 70, 71, 128, 129, 130, 131, 132, 133, 134, 135 ]
    if re.match( '/dev/sd[a-z]([1-9]|1[0-5])?$', n):
        major = scsi_major[(ord(n[7:8]) - ord('a')) / 16]
        minor = ((ord(n[7:8]) - ord('a')) % 16) * 16 + int(n[8:] or 0)
        return major * 256 + minor
    if re.match( '/dev/sd[a-i][a-z]([1-9]|1[0-5])?$', n):
        major = scsi_major[((ord(n[7:8]) - ord('a') + 1) * 26 + (ord(n[8:9]) - ord('a'))) / 16 ]
        minor = (((ord(n[7:8]) - ord('a') + 1 ) * 26 + (ord(n[8:9]) - ord('a'))) % 16) * 16 + int(n[9:] or 0)
        return major * 256 + minor

    if re.match( '/dev/hd[a-t]([1-9]|[1-5][0-9]|6[0-3])?', n):
        ide_majors = [ 3, 22, 33, 34, 56, 57, 88, 89, 90, 91 ]
        major = ide_majors[(ord(n[7:8]) - ord('a')) / 2]
        minor = ((ord(n[7:8]) - ord('a')) % 2) * 64 + int(n[8:] or 0)
        return major * 256 + minor

    if re.match( '/dev/xvd[a-p]([1-9]|1[0-5])?', n):
        return 202 * 256 + 16 * (ord(n[8:9]) - ord('a')) + int(n[9:] or 0)

    # see if this is a hex device number
    if re.match( '^(0x)?[0-9a-fA-F]+$', name ):
        return string.atoi(name,16)
        
    return None

def blkdev_segment(name):
    """Take the given block-device name (e.g. '/dev/sda1', 'hda')
    and return a dictionary { device, start_sector,
    nr_sectors, type }
        device:       Device number of the given partition
        start_sector: Index of first sector of the partition
        nr_sectors:   Number of sectors comprising this partition
        type:         'Disk' or identifying name for partition type
    """
    val = None
    n = blkdev_name_to_number(name)
    if not n is None:
        val = { 'device'       : n,
                'start_sector' : long(0),
                'nr_sectors'   : long(1L<<63),
                'type'         : 'Disk' }
    return val

def _parse_uname(uname):
    fn = taptype = None
    if uname.find(":") != -1:
        (typ, fn) = uname.split(":", 1)
        if typ == "phy" and not fn.startswith("/"):
            fn = "/dev/%s" %(fn,)
        if typ == "tap":
            (taptype, fn) = fn.split(":", 1)
    return (fn, taptype)

def blkdev_uname_to_file(uname):
    """Take a blkdev uname and return the corresponding filename."""
    return _parse_uname(uname)[0]

def blkdev_uname_to_taptype(uname):
    """Take a blkdev uname and return the blktap type."""
    return _parse_uname(uname)[1]

def mount_mode(name):
    mode = None
    name = expand_dev_name(name)
    lines = os.popen('mount 2>/dev/null').readlines()
    exp = re.compile('^' + name + ' .*[\(,]r(?P<mode>[ow])[,\)]')
    for line in lines:
        pm = exp.match(line)
        if not pm: continue
        mode = pm.group('mode')
        break
    if mode == 'w':
        return mode
    if mode == 'o':
        mode = 'r'
    return mode