summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoshua Kinard <kumba@gentoo.org>2007-09-03 02:12:39 +0000
committerJoshua Kinard <kumba@gentoo.org>2007-09-03 02:12:39 +0000
commit4f212d33a142d3a9b0823777d0df85ca5a53b54d (patch)
tree525d6f090c95a99f081523e1369fb563808ed2bf /sys-kernel
parentStable for HPPA (bug #190900). (diff)
downloadgentoo-2-4f212d33a142d3a9b0823777d0df85ca5a53b54d.tar.gz
gentoo-2-4f212d33a142d3a9b0823777d0df85ca5a53b54d.tar.bz2
gentoo-2-4f212d33a142d3a9b0823777d0df85ca5a53b54d.zip
Removed 2.6.16.* and 2.6.17.* ebuilds; Upgraded 2.6.20 to .18 from .14; Added 2.6.22.6 to unstable for testing. Also tweaked pkg_setup to allow for marking of machines as needing 'testing' -- that is, booting on real hardware, as I can't always test each machine that I forward-port the patches for.
(Portage version: 2.1.3.7)
Diffstat (limited to 'sys-kernel')
-rw-r--r--sys-kernel/mips-sources/ChangeLog15
-rw-r--r--sys-kernel/mips-sources/files/digest-mips-sources-2.6.16.4712
-rw-r--r--sys-kernel/mips-sources/files/digest-mips-sources-2.6.17.1412
-rw-r--r--sys-kernel/mips-sources/files/digest-mips-sources-2.6.20.1412
-rw-r--r--sys-kernel/mips-sources/files/digest-mips-sources-2.6.20.1812
-rw-r--r--sys-kernel/mips-sources/files/digest-mips-sources-2.6.22.612
-rw-r--r--sys-kernel/mips-sources/mips-sources-2.6.16.47.ebuild491
-rw-r--r--sys-kernel/mips-sources/mips-sources-2.6.20.18.ebuild (renamed from sys-kernel/mips-sources/mips-sources-2.6.20.14.ebuild)89
-rw-r--r--sys-kernel/mips-sources/mips-sources-2.6.22.6.ebuild (renamed from sys-kernel/mips-sources/mips-sources-2.6.17.14.ebuild)205
9 files changed, 231 insertions, 629 deletions
diff --git a/sys-kernel/mips-sources/ChangeLog b/sys-kernel/mips-sources/ChangeLog
index f2be84d5c632..f947e613caea 100644
--- a/sys-kernel/mips-sources/ChangeLog
+++ b/sys-kernel/mips-sources/ChangeLog
@@ -1,6 +1,19 @@
# ChangeLog for sys-kernel/mips-sources
# Copyright 2002-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-kernel/mips-sources/ChangeLog,v 1.112 2007/06/14 05:34:59 kumba Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/mips-sources/ChangeLog,v 1.113 2007/09/03 02:12:39 kumba Exp $
+
+*mips-sources-2.6.22.6 (03 Sep 2007)
+*mips-sources-2.6.20.18 (03 Sep 2007)
+
+ 03 Sep 2007; Joshua Kinard <kumba@gentoo.org>
+ -mips-sources-2.6.16.47.ebuild, -mips-sources-2.6.17.14.ebuild,
+ -mips-sources-2.6.20.14.ebuild, +mips-sources-2.6.20.18.ebuild,
+ +mips-sources-2.6.22.6.ebuild:
+ Removed 2.6.16.* and 2.6.17.* ebuilds; Upgraded 2.6.20 to .18 from .14;
+ Added 2.6.22.6 to unstable for testing. Also tweaked pkg_setup to allow for
+ marking of machines as needing 'testing' -- that is, booting on real
+ hardware, as I can't always test each machine that I forward-port the
+ patches for.
*mips-sources-2.6.20.14 (14 Jun 2007)
diff --git a/sys-kernel/mips-sources/files/digest-mips-sources-2.6.16.47 b/sys-kernel/mips-sources/files/digest-mips-sources-2.6.16.47
deleted file mode 100644
index 38f417b7770a..000000000000
--- a/sys-kernel/mips-sources/files/digest-mips-sources-2.6.16.47
+++ /dev/null
@@ -1,12 +0,0 @@
-MD5 9a91b2719949ff0856b40bc467fd47be linux-2.6.16.tar.bz2 40845005
-RMD160 af5c2f55733fadd2fdf8b00da55e7b31d516d4e8 linux-2.6.16.tar.bz2 40845005
-SHA256 1200dcc7e60fcdaf68618dba991917a47e41e67099e8b22143976ec972e2cad7 linux-2.6.16.tar.bz2 40845005
-MD5 193b77de03b9e37cb389633e6e9c9006 mips-sources-generic_patches-1.27.tar.bz2 697624
-RMD160 60f2d340f286938a468dc31374535c1ba4861b44 mips-sources-generic_patches-1.27.tar.bz2 697624
-SHA256 0a7c1b79b8e95ff60e3cd8b58fed10b2425d79a64c3015730ca7ff55a313ae7a mips-sources-generic_patches-1.27.tar.bz2 697624
-MD5 0954f376e555832783bc2e8ad4078296 mipsgit-2.6.16-20070415.diff.bz2 132222
-RMD160 0546df387608885cc1e8a9e8c07e8510d931e8c2 mipsgit-2.6.16-20070415.diff.bz2 132222
-SHA256 9e1d803e4343edd5ed81e9b6a9126abfd275cc9cc97d83c75ddd009d7c33f676 mipsgit-2.6.16-20070415.diff.bz2 132222
-MD5 e481b6846b86d410d9b195ea7d2bf155 patch-2.6.16.47.bz2 299439
-RMD160 34628dbb229f1bbbd2adaed0264a2c99376b45c6 patch-2.6.16.47.bz2 299439
-SHA256 e2d5b5515f7e55fa58490f07decf709d0722875e2c9fc21057443d4aea04921f patch-2.6.16.47.bz2 299439
diff --git a/sys-kernel/mips-sources/files/digest-mips-sources-2.6.17.14 b/sys-kernel/mips-sources/files/digest-mips-sources-2.6.17.14
deleted file mode 100644
index ccb73d0dcda0..000000000000
--- a/sys-kernel/mips-sources/files/digest-mips-sources-2.6.17.14
+++ /dev/null
@@ -1,12 +0,0 @@
-MD5 37ddefe96625502161f075b9d907f21e linux-2.6.17.tar.bz2 41272919
-RMD160 26aad30c9a6610665c6c7d62401d79bf56a6a699 linux-2.6.17.tar.bz2 41272919
-SHA256 ab0f647d52f124958439517df9e1ae0efda90cdb851f59f522fa1749f1d87d58 linux-2.6.17.tar.bz2 41272919
-MD5 193b77de03b9e37cb389633e6e9c9006 mips-sources-generic_patches-1.27.tar.bz2 697624
-RMD160 60f2d340f286938a468dc31374535c1ba4861b44 mips-sources-generic_patches-1.27.tar.bz2 697624
-SHA256 0a7c1b79b8e95ff60e3cd8b58fed10b2425d79a64c3015730ca7ff55a313ae7a mips-sources-generic_patches-1.27.tar.bz2 697624
-MD5 426f4af4a4732c397153f812e0c5510e mipsgit-2.6.17-20070415.diff.bz2 101497
-RMD160 6493d2943f84a3402105dd90d18e49d759e15df5 mipsgit-2.6.17-20070415.diff.bz2 101497
-SHA256 5276cf6ebf080f52853daf5e1e49f8d93873e720e042e63f5adbc3f39d30d3a7 mipsgit-2.6.17-20070415.diff.bz2 101497
-MD5 ea360a4ffddb249333fb8fab35e6e7e7 patch-2.6.17.14.bz2 53819
-RMD160 866adb41a482bbda40a6e2a9281748a67b932bf6 patch-2.6.17.14.bz2 53819
-SHA256 e770e7dd34889c27921c9da12cad8c9c2f8bc007ebc2958962b0d604d91620e2 patch-2.6.17.14.bz2 53819
diff --git a/sys-kernel/mips-sources/files/digest-mips-sources-2.6.20.14 b/sys-kernel/mips-sources/files/digest-mips-sources-2.6.20.14
deleted file mode 100644
index 02b1bba85e2d..000000000000
--- a/sys-kernel/mips-sources/files/digest-mips-sources-2.6.20.14
+++ /dev/null
@@ -1,12 +0,0 @@
-MD5 34b0f354819217e6a345f48ebbd8f13e linux-2.6.20.tar.bz2 43375937
-RMD160 14657ade7be4363143dbd5593f5710d21eda7a03 linux-2.6.20.tar.bz2 43375937
-SHA256 2c14ada1ac7d272e03b430d3a530d60fc9ec69cc8252382aa049afba7d2b8558 linux-2.6.20.tar.bz2 43375937
-MD5 5e30a549cfa607130cad896974e67595 mips-sources-generic_patches-1.29.tar.bz2 736751
-RMD160 c1fe5a07ccc06141004d6e8a59c007c318ebe2cb mips-sources-generic_patches-1.29.tar.bz2 736751
-SHA256 62c55bc399ac779f654c48b4a67b558ef158cae4213f15338b9b53452a2609e8 mips-sources-generic_patches-1.29.tar.bz2 736751
-MD5 7ee74b19254021e32f5608580285413d mipsgit-2.6.20-20070415.diff.bz2 86454
-RMD160 cb754953afef92fe1e9bf2e30cbc213b952cb323 mipsgit-2.6.20-20070415.diff.bz2 86454
-SHA256 a634ffe60f7eb0217d5823339e4b2ba63e416eee3f6a812c782d8c5cdad065b4 mipsgit-2.6.20-20070415.diff.bz2 86454
-MD5 126867078011af577963b0e946013a56 patch-2.6.20.14.bz2 106279
-RMD160 f33e05862b1a7818ccf14f54c535529f0cb0c52a patch-2.6.20.14.bz2 106279
-SHA256 37b2eac558c6337ce93129df976284face640f981b14d5654f29f09dca8c3efe patch-2.6.20.14.bz2 106279
diff --git a/sys-kernel/mips-sources/files/digest-mips-sources-2.6.20.18 b/sys-kernel/mips-sources/files/digest-mips-sources-2.6.20.18
new file mode 100644
index 000000000000..0501c2d7113f
--- /dev/null
+++ b/sys-kernel/mips-sources/files/digest-mips-sources-2.6.20.18
@@ -0,0 +1,12 @@
+MD5 34b0f354819217e6a345f48ebbd8f13e linux-2.6.20.tar.bz2 43375937
+RMD160 14657ade7be4363143dbd5593f5710d21eda7a03 linux-2.6.20.tar.bz2 43375937
+SHA256 2c14ada1ac7d272e03b430d3a530d60fc9ec69cc8252382aa049afba7d2b8558 linux-2.6.20.tar.bz2 43375937
+MD5 8dbaf6cd7d11b6a8b08782d4a7fa6b1c mips-sources-generic_patches-1.30.tar.bz2 728471
+RMD160 ee3177e921678d4c0a4b96fc127232b93f32d956 mips-sources-generic_patches-1.30.tar.bz2 728471
+SHA256 2a1c8f1de5ead4b8c0a829431b4a41bcbad0b915ef44402c341f461a40c7882a mips-sources-generic_patches-1.30.tar.bz2 728471
+MD5 d81982ed2f2ae448f2d246d4a0104503 mipsgit-2.6.20-20070902.diff.bz2 86456
+RMD160 6c8bf1669dd7ba11c5ebce54d108d6e17a1a8fb9 mipsgit-2.6.20-20070902.diff.bz2 86456
+SHA256 e87664e561e9dcf928082732570704953a3bbb98ffd89864a6443b5d180e27a3 mipsgit-2.6.20-20070902.diff.bz2 86456
+MD5 0c849673f3d032582e83100b818ea147 patch-2.6.20.18.bz2 126585
+RMD160 9d560ad786102418c9d4ef242ddd4f8224ce560d patch-2.6.20.18.bz2 126585
+SHA256 fe3d3b25b91d41c20cd31c0d5dd6439eab3b64108265b124a28bc1349296893d patch-2.6.20.18.bz2 126585
diff --git a/sys-kernel/mips-sources/files/digest-mips-sources-2.6.22.6 b/sys-kernel/mips-sources/files/digest-mips-sources-2.6.22.6
new file mode 100644
index 000000000000..82d48f093ad1
--- /dev/null
+++ b/sys-kernel/mips-sources/files/digest-mips-sources-2.6.22.6
@@ -0,0 +1,12 @@
+MD5 2e230d005c002fb3d38a3ca07c0200d0 linux-2.6.22.tar.bz2 45119878
+RMD160 c4b2ca5ee8e71c0f8f1c95f3c9c5f261f2785912 linux-2.6.22.tar.bz2 45119878
+SHA256 73c10604c53f1a6ee65ef805293d23903696f8cef864f42d7de9506f0d2ba4c7 linux-2.6.22.tar.bz2 45119878
+MD5 8dbaf6cd7d11b6a8b08782d4a7fa6b1c mips-sources-generic_patches-1.30.tar.bz2 728471
+RMD160 ee3177e921678d4c0a4b96fc127232b93f32d956 mips-sources-generic_patches-1.30.tar.bz2 728471
+SHA256 2a1c8f1de5ead4b8c0a829431b4a41bcbad0b915ef44402c341f461a40c7882a mips-sources-generic_patches-1.30.tar.bz2 728471
+MD5 af3928c46c023c85256a45d9c773f010 mipsgit-2.6.22-20070902.diff.bz2 84015
+RMD160 67a81cf340b9d12f26925ec2be6bddcb1e5e9e9c mipsgit-2.6.22-20070902.diff.bz2 84015
+SHA256 7470094035f518845de361e4d96282a1b0c266dd67ea2bb4fb0269c361522fa4 mipsgit-2.6.22-20070902.diff.bz2 84015
+MD5 f2948e364ab3e4736b9e34f02173472f patch-2.6.22.6.bz2 46194
+RMD160 722edf692e435af621d9e6d10df8497471c8bec0 patch-2.6.22.6.bz2 46194
+SHA256 a85c8ce79cdc126b32aa9a74dbc64c368f0e7e9ec33e156af746003e1b5a8c4d patch-2.6.22.6.bz2 46194
diff --git a/sys-kernel/mips-sources/mips-sources-2.6.16.47.ebuild b/sys-kernel/mips-sources/mips-sources-2.6.16.47.ebuild
deleted file mode 100644
index ac57786018e7..000000000000
--- a/sys-kernel/mips-sources/mips-sources-2.6.16.47.ebuild
+++ /dev/null
@@ -1,491 +0,0 @@
-# Copyright 1999-2007 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-kernel/mips-sources/mips-sources-2.6.16.47.ebuild,v 1.3 2007/07/14 23:11:23 mr_bones_ Exp $
-
-# INCLUDED:
-# 1) linux sources from kernel.org
-# 2) linux-mips.org GIT snapshot diff from 14 Sep 2005
-# 3) Generic Fixes
-# 4) Patch for IP30 Support (http://www.linux-mips.org/~skylark/)
-# 5) Patch for IP28 Support (http://home.alphastar.de/fuerst/download.html)
-# 6) Patches (hacks) for IP27 support (ftp://ftp.linux-mips.org/pub/linux/mips/people/ralf/ip27/)
-# 7) Patch for Remaining Cobalt Bits (http://www.colonel-panic.org/cobalt-mips/)
-# 8) Experimental patches (IP27 hacks, et al)
-
-#//------------------------------------------------------------------------------
-
-# Version Data
-OKV=${PV/_/-}
-GITDATE="20070415" # Date of diff between kernel.org and lmo GIT
-GENPATCHVER="1.27" # Tarball version for generic patches
-EXTRAVERSION="-mipsgit-${GITDATE}"
-KV="${OKV}${EXTRAVERSION}"
-F_KV="${OKV}" # Fetch KV, used to know what mipsgit diff to grab.
-STABLEVER="${F_KV}" # Stable Version (2.6.x)
-PATCHVER=""
-
-# Directories
-S="${WORKDIR}/linux-${OKV}-${GITDATE}"
-MIPS_PATCHES="${WORKDIR}/mips-patches"
-
-# Inherit Eclasses
-ETYPE="sources"
-inherit kernel eutils versionator
-
-# Portage Vars
-HOMEPAGE="http://www.linux-mips.org/ http://www.gentoo.org/"
-SLOT="${OKV}"
-PROVIDE="virtual/linux-sources virtual/alsa"
-KEYWORDS="-* mips"
-IUSE="cobalt ip27 ip28 ip30 ip32r10k"
-DEPEND=">=sys-devel/gcc-3.4.6"
-
-# Version Control Variables
-USE_RC="no" # If set to "yes", then attempt to use an RC kernel
-USE_PNT="yes" # If set to "yes", then attempt to use a point-release (2.6.x.y)
-
-# Machine Support Control Variables
-DO_IP22="no" # If "yes", enable IP22 support (SGI Indy, Indigo2 R4x00)
-DO_IP27="yes" # IP27 support (SGI Origin)
-DO_IP28="yes" # IP28 support (SGI Indigo2 Impact R10000)
-DO_IP30="yes" # IP30 support (SGI Octane)
-DO_IP32="yes" # IP32 support (SGI O2, R5000/RM5200 Only)
-DO_CBLT="yes" # Cobalt Support (Cobalt Microsystems)
-
-# Machine Stable Version Variables
-SV_IP22="2.6.17.10" # If set && DO_IP22 == "no", indicates last "good" IP22 version
-SV_IP27="" # DO_IP27 == "no", IP27
-SV_IP28="" # DO_IP28 == "no", IP28
-SV_IP30="" # DO_IP30 == "no", IP30
-SV_IP32="" # DO_IP32 == "no", IP32
-SV_CBLT="" # DO_CBLT == "no", Cobalt
-
-# If USE_RC == "yes", use a release candidate kernel (2.6.X-rcY)
-if [ "${USE_RC}" = "yes" ]; then
- KVXY="$(get_version_component_range 1-2)" # Kernel Major/Minor
- KVZ="$(get_version_component_range 3)" # Kernel Revision Pt. 1
- KVRC="$(get_version_component_range 4)" # Kernel RC
- F_KV="$(get_version_component_range 1-3)-${KVRC}"
- STABLEVER="${KVXY}.$((${KVZ} - 1))" # Last stable version (Rev - 1)
- PATCHVER="mirror://kernel/linux/kernel/v2.6/testing/patch-${OKV}.bz2"
- EXTRAVERSION="-${KVRC}-mipsgit-${GITDATE}"
- KV="${OKV}-${EXTRAVERSION}"
- USE_PNT="no"
-fi
-
-# If USE_PNT == "yes", use a point release kernel (2.6.x.y)
-if [ "${USE_PNT}" = "yes" ]; then
- F_KV="$(get_version_component_range 1-3)" # Get Maj/Min/Rev (x.y.z)
- STABLEVER="${F_KV}" # Last Revision release
- PATCHVER="mirror://kernel/linux/kernel/v2.6/patch-${OKV}.bz2" # Patch for new point release
- EXTRAVERSION=".$(get_version_component_range 4)-mipsgit-${GITDATE}"
- KV="${OKV}${EXTRAVERSION}"
- USE_RC="no"
-fi
-
-DESCRIPTION="Linux-Mips GIT sources for MIPS-based machines, dated ${GITDATE}"
-SRC_URI="mirror://kernel/linux/kernel/v2.6/linux-${STABLEVER}.tar.bz2
- mirror://gentoo/mipsgit-${F_KV}-${GITDATE}.diff.bz2
- mirror://gentoo/${PN}-generic_patches-${GENPATCHVER}.tar.bz2
- ${PATCHVER}"
-
-#//------------------------------------------------------------------------------
-
-# Error messages
-err_only_one_mach_allowed() {
- echo -e ""
- eerror "A patchset for a specific machine-type has already been selected."
- eerror "No other patches for machines-types are permitted. You will need a"
- eerror "separate copy of the kernel sources for each different machine-type"
- eerror "you want to build a kernel for."
- die "Only one machine-type patchset allowed"
-}
-
-err_disabled_mach() {
- # Get args
- local mach_name="${1}"
- local mach_abbr="${2}"
- local mach_use="${3}"
-
- # Get stable version, if exists
- local stable_ver="SV_${mach_abbr}"
- stable_ver="${!stable_ver}"
-
- # See if this machine needs a USE passed or skip dying
- local has_use
- [ ! -z "${mach_use}" -a "${mach_use}" != "skip" ] && has_use="USE=\"${mach_use}\" "
-
- # Print error && (maybe) die
- echo -e ""
- eerror "${mach_name} Support has been disabled in this ebuild"
- eerror "revision. If you wish to merge ${mach_name} sources, then"
- eerror "run ${has_use}emerge =mips-sources-${stable_ver}"
- [ "${mach_use}" != "skip" ] && die "${mach_name} Support disabled."
-
- return 0
-}
-
-#//------------------------------------------------------------------------------
-
-# Machine Information Messages
-#
-# If needing to whitespace for formatting in 'einfo', 'ewarn', or 'eerror', use
-# \040 for a space instead of the standard space. These functions strip redundant
-# white space for some unknown reason
-
-show_ip22_info() {
- echo -e ""
- einfo "IP22 systems should work well with this release, however, R4600"
- einfo "setups may still experience bugs. Please report any encountered"
- einfo "problems."
- einfo ""
- einfo "Some Notes:"
- einfo "\t- Supported graphics card right now is Newport (XL)."
- einfo "\t- A driver for Extreme (XZ) is in the works, but remains"
- einfo "\t\040\040unreleased by its author for public consumption."
- einfo "\t- 64bit support works, but it is not widely tested, thus"
- einfo "\t\040\040it is not supported at the present time."
- echo -e ""
-}
-
-show_ip27_info() {
- echo -e ""
- einfo "IP27 support can be considered a game of Russian Roulette. It'll work"
- einfo "great for some but not for others. It also uses some rather horrible"
- einfo "hacks to get going -- hopefully these will be repaired in the future."
- echo -e ""
- ewarn "Please keep all kittens and any other small, cute, and fluffy creatures"
- ewarn "away from an IP27 Box running these sources. Failure to do so may cause"
- ewarn "the IP27 to consume the hapless creature. Consider this your only"
- ewarn "warning regarding the experimental nature of this particular machine."
- echo -e ""
-}
-
-show_ip28_info() {
- echo -e ""
- einfo "Support for the Indigo2 Impact R10000 is very experimental. If you do not"
- einfo "have a clue in the world about what an IP28 is, what the mips architecture"
- einfo "is about, or are new to Gentoo, then it is highly advised that you steer"
- einfo "clear of messing with this machine. Due to the experimental nature of this"
- einfo "particular class of system, we have to provide such warnings, as it is only"
- einfo "for use by those who know what they are doing."
- echo -e ""
- einfo "Be advised that attempting to run Gentoo/Linux (or any Linux distro) on this"
- einfo "system may cause the sudden, unexplained disappearence of any nearby furry"
- einfo "creatures. So please keep any and all small pets away from this system at"
- einfo "all times."
- echo -e ""
- ewarn "That said, support for this system REQUIRES that you use the ip28 cascade"
- ewarn "profile (default-linux/mips/mips64/ip28/XXXX.Y), because a very special"
- ewarn "patch is used on the system gcc, kernel-gcc (gcc-mips64) and the kernel"
- ewarn "itself in order to support this machine. These patches will only be applied"
- ewarn "if \"ip28\" is defined in USE, which the profile sets. If you wish to"
- ewarn "cross-compile a kernel, you _must_ make sure that the \"ip28\" USE is"
- ewarn "defined in your host system's /etc/make.conf file before using crossdev"
- ewarn "to build a mips64 kernel compiler for this system."
- echo -e ""
- ewarn "As a final warning, _nothing_ is guaranteed to work smoothly. However,"
- ewarn "the Impact console driver and X driver do work somewhat decently."
- echo -e ""
-}
-
-show_ip30_info() {
- echo -e ""
- einfo "Things to keep in mind when building a kernel for an SGI Octane:"
- einfo "\t- The scsi driver to use is qla1280; qlogicisp is gone."
- einfo "\t- Impact (MGRAS) console and X driver work, please report any bugs."
- einfo "\t- VPro (Odyssey) console works, but no X driver exists yet."
- einfo "\t- PCI Card Cages should work for many devices, except certain types like"
- einfo "\t\040\040PCI-to-PCI bridges (USB hubs, USB flash card readers for example)."
- einfo "\t- Do not plug more than two devices into a OHCI-based USB PCI card, as"
- einfo "\t\040\040there is a known problem with OHCI USB cards and Octane, which will"
- einfo "\t\040\040prevent the machine from booting into userland."
- einfo "\t- Other XIO-based devices like MENET and various Impact addons remain"
- einfo "\t\040\040untested and are not guaranteed to work. This applies to various"
- einfo "\t\040\040digital video conversion boards as well."
- echo -e ""
-}
-
-show_ip32_info() {
- echo -e ""
- einfo "IP32 systems function well, however there are some notes:"
- einfo "\t- No driver exists yet for the sound card."
- einfo "\t- Framebuffer console is limited to 4MB. Anything greater"
- einfo "\t\040\040specified when building the kernel will likely oops or panic"
- einfo "\t\040\040the kernel."
- einfo "\t- X support is limited to the generic fbdev driver. No X gbefb"
- einfo "\t\040\040driver exists for O2 yet."
- ewarn "\t- When building an O2 Kernel, do not enable CONFIG_BUILD_ELF64."
- ewarn "\t\040\040Pass 'make vmlinux' instead, and you will get a bootable"
- ewarn "\t\040\040kernel image. Please note, this behavior WILL change"
- ewarn "\t\040\040when gcc-4.x becomes mainstream."
- echo -e ""
-
- if use ip32r10k; then
- eerror "R10000/R12000 Support on IP32 is HIGHLY EXPERIMENTAL!"
- eerror "This is intended ONLY for people interested in fixing it up. And"
- eerror "by that, I mean people willing to SEND IN PATCHES! If you're not"
- eerror "interested in debugging this issue seriously or just want to run it"
- eerror "as a user, then DO NOT USE THIS. Really, we mean it."
- echo -e ""
- eerror "All that said, initial testing seems to indicate that this system will"
- eerror "stay online for a reasonable amount of time and will compile packages."
- eerror "However, the primary console (which is serial, gbefb seems dead for now)"
- eerror "will fill with CRIME CPU errors every so often. A majority of these"
- eerror "seem harmless, however a few non-fatal oopses have also been triggered."
- echo -e ""
- eerror "We're interesting in finding anyone with knowledge of the R10000"
- eerror "workaround for speculative execution listed in the R10000 Processor"
- eerror "manual, or those who are familiar with the IP32 chipset and the feature"
- eerror "called \"Juice\"."
- echo -e ""
- eerror "To build this kernel tree, make sure you re-merge your kernel compiler"
- eerror "with the \"ip32r10k\" USE flag enabled via crossdev. This uses a"
- eerror "tweaked version of the gcc cache barriers patch that makes gcc emit "
- eerror "more barriers, as IP32 needs them to have any hope of staying online."
- fi
-}
-
-show_cobalt_info() {
- echo -e ""
- einfo "Please keep in mind that the 2.6 kernel will NOT boot on Cobalt"
- einfo "systems that are still using the old Cobalt bootloader. In"
- einfo "order to boot a 2.6 kernel on Cobalt systems, you must be using"
- einfo "the CoLo bootloader, which does not have the kernel"
- einfo "size limitation that the older bootloader has. If you want"
- einfo "to use the newer bootloader, make sure you have sys-boot/colo"
- einfo "installed and setup."
- echo -e ""
-}
-
-#//------------------------------------------------------------------------------
-
-# Check our USE flags for machine-specific flags and give appropriate warnings/errors.
-# Hope the user isn't crazy enough to try using combinations of these flags.
-# Only use one machine-specific flag at a time for each type of desired machine-support.
-#
-# Affected machines: ip27 ip28 ip30
-# Not Affected: cobalt ip22 ip32
-pkg_setup() {
- local arch_is_selected="no"
- local mach_ip
- local mach_enable
- local mach_name
- local x
-
- # See if we're on a cobalt system first (must use the cobalt-mips profile)
- if use cobalt; then
- arch_is_selected="yes"
- [ "${DO_CBLT}" = "no" ] && err_disabled_mach "Cobalt Microsystems" "CBLT" "cobalt"
- show_cobalt_info
- fi
-
- # Exclusive machine patchsets
- # These are not allowed to be mixed together, thus only one of them may be applied
- # to a tree per merge.
- for x in \
- "ip27 SGI Origin" \
- "ip28 SGI Indigo2 Impact R10000" \
- "ip30 SGI Octane"
- do
- set -- ${x} # Set positional params
- mach_ip="${1}" # Grab the first param (HW IP for SGI)
- shift # Shift the positions
- mach_name="${*}" # Get the rest (Name)
-
- if use ${mach_ip}; then
- # Fetch the value indiciating if the machine is enabled or not
- mach_enable="DO_${mach_ip/ip/IP}"
- mach_enable="${!mach_enable}"
-
- # Make sure only one of these exclusive machine patches is selected
- [ "${arch_is_selected}" = "no" ] \
- && arch_is_selected="yes" \
- || err_only_one_mach_allowed
-
- # Is the machine support enabled or not?
- [ "${mach_enable}" = "no" ] \
- && err_disabled_mach "${mach_name}" "${mach_ip/ip/IP}" "${mach_ip}"
-
- # Show relevant information about the machine
- show_${mach_ip}_info
- fi
- done
-
- # All other systems that don't have a USE flag go here
- # These systems have base-line support included in linux-mips git, so
- # instead of failing, if disabled, we simply warn the user
- if [ "${arch_is_selected}" = "no" ]; then
- [ "${DO_IP22}" = "no" ] \
- && err_disabled_mach "SGI Indy/Indigo2 R4x00" "IP22" "skip" \
- || show_ip22_info
- [ "${DO_IP32}" = "no" ] \
- && err_disabled_mach "SGI O2" "IP32" "skip" \
- || show_ip32_info
-
- fi
-}
-
-#//------------------------------------------------------------------------------
-
-# Generic Patches - Safe to use globally
-do_generic_patches() {
- echo -e ""
- ebegin ">>> Generic Patches"
- echo -e ""
-
- # IP22 Patches
- epatch ${MIPS_PATCHES}/misc-2.6.15-ip22-hal2-kconfig-tweaks.patch
- epatch ${MIPS_PATCHES}/misc-2.6.16-ip22-vino-64bit-ioctl-fixes.patch
- epatch ${MIPS_PATCHES}/misc-2.6.17-ip22-rtc-brown-paper-bag.patch
-
- # IP32 Patches
- epatch ${MIPS_PATCHES}/misc-2.6.11-ip32-mace-is-always-eth0.patch
-
- # Cobalt Patches
- epatch ${MIPS_PATCHES}/misc-2.6.16-cobalt-bits.patch
-
- # Generic
- epatch ${MIPS_PATCHES}/misc-2.6.16-ths-mips-tweaks.patch
- epatch ${MIPS_PATCHES}/misc-2.6.15-mips-iomap-functions.patch
- epatch ${MIPS_PATCHES}/misc-2.6.12-seccomp-no-default.patch
- epatch ${MIPS_PATCHES}/misc-2.6.11-add-byteorder-to-proc.patch
- epatch ${MIPS_PATCHES}/misc-2.6.15-r14k-cpu-prid.patch
- epatch ${MIPS_PATCHES}/misc-2.6.15-add-4k_cache_defines.patch
- epatch ${MIPS_PATCHES}/misc-2.6.16-rev-i18n.patch
- epatch ${MIPS_PATCHES}/misc-2.6.15-fix-4k-cache-macros.patch
- epatch ${MIPS_PATCHES}/misc-2.6.15-vgacon-accesses-unmapped-space.patch
- epatch ${MIPS_PATCHES}/misc-2.6.16-fix-futex_atomic_op_inuser.patch
- epatch ${MIPS_PATCHES}/misc-2.6.16-fix-fpu_save_double-on-64bit.patch
- epatch ${MIPS_PATCHES}/misc-2.6.16-disable-stupid-nls-cruft.patch
- epatch ${MIPS_PATCHES}/misc-2.6.16-def-arch_has_irq_per_cpu-for-smp.patch
- epatch ${MIPS_PATCHES}/misc-2.6.16-tweak-makefiles.patch
- epatch ${MIPS_PATCHES}/misc-2.6.16-squashfs-3.2-r2.patch
- eend
-}
-
-# NOT safe for production systems
-# Use at own risk, do _not_ file bugs on effects of these patches
-do_sekrit_patches() {
- # /* EXPERIMENTAL - DO NOT USE IN PRODUCTION KERNELS */
-
- if use ip32r10k; then
- # Modified version of the IP28 cache barriers patch for the kernel
- # that removes all the IP28 specific pieces and leaves behind only
- # the generic segments.
- epatch ${MIPS_PATCHES}/misc-2.6.16-ip32-r10k-support.patch
- fi
-
-## # No Sekrit Patches!
-## sleep 0
-
- # /* EXPERIMENTAL - DO NOT USE IN PRODUCTION KERNELS */
-}
-
-#//------------------------------------------------------------------------------
-
-# Exclusive Machine Patchsets
-
-# SGI Origin (IP27)
-do_ip27_support() {
- echo -e ""
- einfo ">>> Patching kernel for SGI Origin (IP27) support ..."
- epatch ${MIPS_PATCHES}/misc-2.6.16-ioc3-metadriver-r26.patch
- epatch ${MIPS_PATCHES}/misc-2.6.13-ip27-horrible-hacks_may-eat-kittens.patch
- epatch ${MIPS_PATCHES}/misc-2.6.14-ip27-rev-pci-tweak.patch
- epatch ${MIPS_PATCHES}/misc-2.6.16-ip27-fix-collision-with-hardcode.patch
- epatch ${MIPS_PATCHES}/misc-2.6.16-ip27-hack-attack.patch
-}
-
-# SGI Indigo2 Impact R10000 (IP28)
-do_ip28_support() {
- echo -e ""
- einfo ">>> Patching kernel for SGI Indigo2 Impact R10000 (IP28) support ..."
- epatch ${MIPS_PATCHES}/misc-2.6.16-ip28-i2_impact-support.patch
- epatch ${MIPS_PATCHES}/misc-2.6.17-ip28-impact-mmapfix.patch
- epatch ${MIPS_PATCHES}/misc-2.6.17-ip28-wd93cac-tweak.patch
-}
-
-# SGI Octane 'Speedracer' (IP30)
-do_ip30_support() {
- echo -e ""
- einfo ">>> Patching kernel for SGI Octane (IP30) support ..."
- epatch ${MIPS_PATCHES}/misc-2.6.16-ioc3-metadriver-r26.patch
- epatch ${MIPS_PATCHES}/misc-2.6.16-ip30-octane-support-r27.patch
- epatch ${MIPS_PATCHES}/misc-2.6.17-ip30-impact-vpro-mmapfix.patch
-}
-
-#//------------------------------------------------------------------------------
-
-# Renames source trees for the few machines that we have separate patches for
-rename_source_tree() {
- if [ ! -z "${1}" ]; then
- if use ${1}; then
- mv ${S} ${S}.${1}
- S="${S}.${1}"
- fi
- fi
-}
-
-#//------------------------------------------------------------------------------
-
-src_unpack() {
- local x
-
- unpack ${A}
- mv ${WORKDIR}/linux-${STABLEVER} ${WORKDIR}/linux-${OKV}-${GITDATE}
- cd ${S}
-
- # If USE_RC == "yes", use a release candidate kernel (2.6.x-rcy)
- # OR
- # if USE_PNT == "yes", use a point-release kernel (2.6.x.y)
- if [ "${USE_RC}" = "yes" -o "${USE_PNT}" = "yes" ]; then
- echo -e ""
- einfo ">>> linux-${STABLEVER} --> linux-${OKV} ..."
- epatch ${WORKDIR}/patch-${OKV}
- fi
-
- # Update the vanilla sources with linux-mips GIT changes
- echo -e ""
- einfo ">>> linux-${OKV} --> linux-${OKV}-${GITDATE} patch ..."
- epatch ${WORKDIR}/mipsgit-${F_KV}-${GITDATE}.diff
-
- # Generic patches we always include
- do_generic_patches
-
- # Machine-specific patches
- for x in {ip27,ip28,ip30}; do
- use ${x} && do_${x}_support
- done
-
- # Patches for experimental use
- do_sekrit_patches
-
- # All done, resume normal portage work
- kernel_universal_unpack
-}
-
-src_install() {
- # Rename the source trees for exclusive machines
- local x
- for x in {ip27,ip28,ip30,cobalt}; do
- use ${x} && rename_source_tree ${x}
- done
-
- kernel_src_install
-}
-
-pkg_postinst() {
- # Symlink /usr/src/linux as appropriate
- local my_ksrc="${S##*/}"
- for x in {ip27,ip28,ip30,cobalt}; do
- use ${x} && my_ksrc="${my_ksrc}.${x}"
- done
-
- if [ ! -e ${ROOT}usr/src/linux ]; then
- rm -f ${ROOT}usr/src/linux
- ln -sf ${my_ksrc} ${ROOT}/usr/src/linux
- fi
-}
-
-#//------------------------------------------------------------------------------
diff --git a/sys-kernel/mips-sources/mips-sources-2.6.20.14.ebuild b/sys-kernel/mips-sources/mips-sources-2.6.20.18.ebuild
index e27dbd43ac80..3ba8a2171eb0 100644
--- a/sys-kernel/mips-sources/mips-sources-2.6.20.14.ebuild
+++ b/sys-kernel/mips-sources/mips-sources-2.6.20.18.ebuild
@@ -1,10 +1,11 @@
# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-kernel/mips-sources/mips-sources-2.6.20.14.ebuild,v 1.3 2007/07/14 23:11:23 mr_bones_ Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/mips-sources/mips-sources-2.6.20.18.ebuild,v 1.1 2007/09/03 02:12:39 kumba Exp $
+
# INCLUDED:
# 1) linux sources from kernel.org
-# 2) linux-mips.org GIT snapshot diff from 14 Sep 2005
+# 2) linux-mips.org GIT snapshot diff from 02 Sep 2007
# 3) Generic Fixes
# 4) Patch for IP30 Support (http://www.linux-mips.org/~skylark/)
# 5) Patch for IP28 Support (http://home.alphastar.de/fuerst/download.html)
@@ -12,12 +13,15 @@
# 7) Patch for Remaining Cobalt Bits (http://www.colonel-panic.org/cobalt-mips/)
# 8) Experimental patches (IP27 hacks, et al)
+
#//------------------------------------------------------------------------------
+
+
# Version Data
OKV=${PV/_/-}
-GITDATE="20070415" # Date of diff between kernel.org and lmo GIT
-GENPATCHVER="1.29" # Tarball version for generic patches
+GITDATE="20070902" # Date of diff between kernel.org and lmo GIT
+GENPATCHVER="1.30" # Tarball version for generic patches
EXTRAVERSION="-mipsgit-${GITDATE}"
KV="${OKV}${EXTRAVERSION}"
F_KV="${OKV}" # Fetch KV, used to know what mipsgit diff to grab.
@@ -40,17 +44,18 @@ KEYWORDS="-* mips"
IUSE="cobalt ip27 ip28 ip30 ip32r10k"
DEPEND=">=sys-devel/gcc-4.1.1"
+
# Version Control Variables
USE_RC="no" # If set to "yes", then attempt to use an RC kernel
USE_PNT="yes" # If set to "yes", then attempt to use a point-release (2.6.x.y)
# Machine Support Control Variables
DO_IP22="yes" # If "yes", enable IP22 support (SGI Indy, Indigo2 R4x00)
-DO_IP27="yes" # IP27 support (SGI Origin)
-DO_IP28="yes" # IP28 support (SGI Indigo2 Impact R10000)
+DO_IP27="test" # IP27 support (SGI Origin)
+DO_IP28="test" # IP28 support (SGI Indigo2 Impact R10000)
DO_IP30="yes" # IP30 support (SGI Octane)
DO_IP32="yes" # IP32 support (SGI O2, R5000/RM5200 Only)
-DO_CBLT="yes" # Cobalt Support (Cobalt Microsystems)
+DO_CBLT="test" # Cobalt Support (Cobalt Microsystems)
# Machine Stable Version Variables
SV_IP22="" # If set && DO_IP22 == "no", indicates last "good" IP22 version
@@ -60,6 +65,7 @@ SV_IP30="" # DO_IP30 == "no", IP30
SV_IP32="" # DO_IP32 == "no", IP32
SV_CBLT="" # DO_CBLT == "no", Cobalt
+
# If USE_RC == "yes", use a release candidate kernel (2.6.X-rcY)
if [ "${USE_RC}" = "yes" ]; then
KVXY="$(get_version_component_range 1-2)" # Kernel Major/Minor
@@ -83,15 +89,20 @@ if [ "${USE_PNT}" = "yes" ]; then
USE_RC="no"
fi
+
DESCRIPTION="Linux-Mips GIT sources for MIPS-based machines, dated ${GITDATE}"
SRC_URI="mirror://kernel/linux/kernel/v2.6/linux-${STABLEVER}.tar.bz2
mirror://gentoo/mipsgit-${F_KV}-${GITDATE}.diff.bz2
mirror://gentoo/${PN}-generic_patches-${GENPATCHVER}.tar.bz2
${PATCHVER}"
+
+
#//------------------------------------------------------------------------------
-# Error messages
+
+
+# Error/Warning messages
err_only_one_mach_allowed() {
echo -e ""
eerror "A patchset for a specific machine-type has already been selected."
@@ -106,6 +117,7 @@ err_disabled_mach() {
local mach_name="${1}"
local mach_abbr="${2}"
local mach_use="${3}"
+ local need_test="${4}"
# Get stable version, if exists
local stable_ver="SV_${mach_abbr}"
@@ -117,16 +129,31 @@ err_disabled_mach() {
# Print error && (maybe) die
echo -e ""
- eerror "${mach_name} Support has been disabled in this ebuild"
- eerror "revision. If you wish to merge ${mach_name} sources, then"
- eerror "run ${has_use}emerge =mips-sources-${stable_ver}"
- [ "${mach_use}" != "skip" ] && die "${mach_name} Support disabled."
+ if [ "${need_test}" != "test" ]; then
+ eerror "${mach_name} Support has been disabled in this ebuild"
+ eerror "revision. If you wish to merge ${mach_name} sources, then"
+ eerror "run ${has_use}emerge =mips-sources-${stable_ver}"
+ [ "${mach_use}" != "skip" ] && die "${mach_name} Support disabled."
+ else
+ ewarn "${mach_name} Support has been marked as needing testing in this"
+ ewarn "ebuild revision. This usually means that any patches to support"
+ ewarn "${mach_name} have been forward ported and maybe even compile-tested,"
+ ewarn "but not yet booted on real hardware, possibly due to a lack of access"
+ ewarn "to such hardware. If you happen to boot this kernel and have no"
+ ewarn "problems at all, then please inform the maintainer. Otherwise, if"
+ ewarn "experience a bug, an oops/panic, or some other oddity, then please"
+ ewarn "file a bug at bugs.gentoo.org, and assign it to the mips team."
+ fi
return 0
}
+
+
#//------------------------------------------------------------------------------
+
+
# Machine Information Messages
#
# If needing to whitespace for formatting in 'einfo', 'ewarn', or 'eerror', use
@@ -252,8 +279,12 @@ show_cobalt_info() {
echo -e ""
}
+
+
#//------------------------------------------------------------------------------
+
+
# Check our USE flags for machine-specific flags and give appropriate warnings/errors.
# Hope the user isn't crazy enough to try using combinations of these flags.
# Only use one machine-specific flag at a time for each type of desired machine-support.
@@ -270,7 +301,10 @@ pkg_setup() {
# See if we're on a cobalt system first (must use the cobalt-mips profile)
if use cobalt; then
arch_is_selected="yes"
- [ "${DO_CBLT}" = "no" ] && err_disabled_mach "Cobalt Microsystems" "CBLT" "cobalt"
+ [ "${DO_CBLT}" = "test" ] \
+ && err_disabled_mach "Cobalt Microsystems" "CBLT" "cobalt" "test"
+ [ "${DO_CBLT}" = "no" ] \
+ && err_disabled_mach "Cobalt Microsystems" "CBLT" "cobalt"
show_cobalt_info
fi
@@ -297,7 +331,9 @@ pkg_setup() {
&& arch_is_selected="yes" \
|| err_only_one_mach_allowed
- # Is the machine support enabled or not?
+ # Is the machine support disabled or marked as needing testing?
+ [ "${mach_enable}" = "test" ] \
+ && err_disabled_mach "${mach_name}" "${mach_ip/ip/IP}" "${mach_ip}" "test"
[ "${mach_enable}" = "no" ] \
&& err_disabled_mach "${mach_name}" "${mach_ip/ip/IP}" "${mach_ip}"
@@ -320,8 +356,12 @@ pkg_setup() {
fi
}
+
+
#//------------------------------------------------------------------------------
+
+
# Generic Patches - Safe to use globally
do_generic_patches() {
echo -e ""
@@ -347,6 +387,7 @@ do_generic_patches() {
eend
}
+
# NOT safe for production systems
# Use at own risk, do _not_ file bugs on effects of these patches
do_sekrit_patches() {
@@ -365,8 +406,12 @@ do_sekrit_patches() {
# /* EXPERIMENTAL - DO NOT USE IN PRODUCTION KERNELS */
}
+
+
#//------------------------------------------------------------------------------
+
+
# Exclusive Machine Patchsets
# SGI Origin (IP27)
@@ -383,9 +428,10 @@ do_ip27_support() {
do_ip28_support() {
echo -e ""
einfo ">>> Patching kernel for SGI Indigo2 Impact R10000 (IP28) support ..."
- epatch ${MIPS_PATCHES}/misc-2.6.20-ip28-i2_impact-support.patch
+ epatch ${MIPS_PATCHES}/misc-2.6.20-ip28-i2_impact-support-r2.patch
}
+
# SGI Octane 'Speedracer' (IP30)
do_ip30_support() {
echo -e ""
@@ -394,8 +440,12 @@ do_ip30_support() {
epatch ${MIPS_PATCHES}/misc-2.6.20-ip30-octane-support-r28.patch
}
+
+
#//------------------------------------------------------------------------------
+
+
# Renames source trees for the few machines that we have separate patches for
rename_source_tree() {
if [ ! -z "${1}" ]; then
@@ -406,8 +456,12 @@ rename_source_tree() {
fi
}
+
+
#//------------------------------------------------------------------------------
+
+
src_unpack() {
local x
@@ -415,6 +469,7 @@ src_unpack() {
mv ${WORKDIR}/linux-${STABLEVER} ${WORKDIR}/linux-${OKV}-${GITDATE}
cd ${S}
+
# If USE_RC == "yes", use a release candidate kernel (2.6.x-rcy)
# OR
# if USE_PNT == "yes", use a point-release kernel (2.6.x.y)
@@ -424,6 +479,7 @@ src_unpack() {
epatch ${WORKDIR}/patch-${OKV}
fi
+
# Update the vanilla sources with linux-mips GIT changes
echo -e ""
einfo ">>> linux-${OKV} --> linux-${OKV}-${GITDATE} patch ..."
@@ -440,10 +496,12 @@ src_unpack() {
# Patches for experimental use
do_sekrit_patches
+
# All done, resume normal portage work
kernel_universal_unpack
}
+
src_install() {
# Rename the source trees for exclusive machines
local x
@@ -467,4 +525,5 @@ pkg_postinst() {
fi
}
+
#//------------------------------------------------------------------------------
diff --git a/sys-kernel/mips-sources/mips-sources-2.6.17.14.ebuild b/sys-kernel/mips-sources/mips-sources-2.6.22.6.ebuild
index 1280514b3c5a..18672f3d46f4 100644
--- a/sys-kernel/mips-sources/mips-sources-2.6.17.14.ebuild
+++ b/sys-kernel/mips-sources/mips-sources-2.6.22.6.ebuild
@@ -1,10 +1,11 @@
# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-kernel/mips-sources/mips-sources-2.6.17.14.ebuild,v 1.3 2007/07/14 23:11:23 mr_bones_ Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/mips-sources/mips-sources-2.6.22.6.ebuild,v 1.1 2007/09/03 02:12:39 kumba Exp $
+
# INCLUDED:
# 1) linux sources from kernel.org
-# 2) linux-mips.org GIT snapshot diff from 14 Sep 2005
+# 2) linux-mips.org GIT snapshot diff from 02 Sep 2007
# 3) Generic Fixes
# 4) Patch for IP30 Support (http://www.linux-mips.org/~skylark/)
# 5) Patch for IP28 Support (http://home.alphastar.de/fuerst/download.html)
@@ -12,12 +13,15 @@
# 7) Patch for Remaining Cobalt Bits (http://www.colonel-panic.org/cobalt-mips/)
# 8) Experimental patches (IP27 hacks, et al)
+
#//------------------------------------------------------------------------------
+
+
# Version Data
OKV=${PV/_/-}
-GITDATE="20070415" # Date of diff between kernel.org and lmo GIT
-GENPATCHVER="1.27" # Tarball version for generic patches
+GITDATE="20070902" # Date of diff between kernel.org and lmo GIT
+GENPATCHVER="1.30" # Tarball version for generic patches
EXTRAVERSION="-mipsgit-${GITDATE}"
KV="${OKV}${EXTRAVERSION}"
F_KV="${OKV}" # Fetch KV, used to know what mipsgit diff to grab.
@@ -36,30 +40,32 @@ inherit kernel eutils versionator
HOMEPAGE="http://www.linux-mips.org/ http://www.gentoo.org/"
SLOT="${OKV}"
PROVIDE="virtual/linux-sources virtual/alsa"
-KEYWORDS="-* mips"
+KEYWORDS="-* ~mips"
IUSE="cobalt ip27 ip28 ip30 ip32r10k"
DEPEND=">=sys-devel/gcc-4.1.1"
+
# Version Control Variables
USE_RC="no" # If set to "yes", then attempt to use an RC kernel
USE_PNT="yes" # If set to "yes", then attempt to use a point-release (2.6.x.y)
# Machine Support Control Variables
DO_IP22="yes" # If "yes", enable IP22 support (SGI Indy, Indigo2 R4x00)
-DO_IP27="yes" # IP27 support (SGI Origin)
-DO_IP28="yes" # IP28 support (SGI Indigo2 Impact R10000)
+DO_IP27="no" # IP27 support (SGI Origin)
+DO_IP28="no" # IP28 support (SGI Indigo2 Impact R10000)
DO_IP30="yes" # IP30 support (SGI Octane)
DO_IP32="yes" # IP32 support (SGI O2, R5000/RM5200 Only)
-DO_CBLT="yes" # Cobalt Support (Cobalt Microsystems)
+DO_CBLT="test" # Cobalt Support (Cobalt Microsystems)
# Machine Stable Version Variables
SV_IP22="" # If set && DO_IP22 == "no", indicates last "good" IP22 version
-SV_IP27="" # DO_IP27 == "no", IP27
-SV_IP28="" # DO_IP28 == "no", IP28
+SV_IP27="2.6.20.18" # DO_IP27 == "no", IP27
+SV_IP28="2.6.20.18" # DO_IP28 == "no", IP28
SV_IP30="" # DO_IP30 == "no", IP30
SV_IP32="" # DO_IP32 == "no", IP32
SV_CBLT="" # DO_CBLT == "no", Cobalt
+
# If USE_RC == "yes", use a release candidate kernel (2.6.X-rcY)
if [ "${USE_RC}" = "yes" ]; then
KVXY="$(get_version_component_range 1-2)" # Kernel Major/Minor
@@ -83,15 +89,20 @@ if [ "${USE_PNT}" = "yes" ]; then
USE_RC="no"
fi
+
DESCRIPTION="Linux-Mips GIT sources for MIPS-based machines, dated ${GITDATE}"
SRC_URI="mirror://kernel/linux/kernel/v2.6/linux-${STABLEVER}.tar.bz2
mirror://gentoo/mipsgit-${F_KV}-${GITDATE}.diff.bz2
mirror://gentoo/${PN}-generic_patches-${GENPATCHVER}.tar.bz2
${PATCHVER}"
+
+
#//------------------------------------------------------------------------------
-# Error messages
+
+
+# Error/Warning messages
err_only_one_mach_allowed() {
echo -e ""
eerror "A patchset for a specific machine-type has already been selected."
@@ -106,6 +117,7 @@ err_disabled_mach() {
local mach_name="${1}"
local mach_abbr="${2}"
local mach_use="${3}"
+ local need_test="${4}"
# Get stable version, if exists
local stable_ver="SV_${mach_abbr}"
@@ -117,16 +129,31 @@ err_disabled_mach() {
# Print error && (maybe) die
echo -e ""
- eerror "${mach_name} Support has been disabled in this ebuild"
- eerror "revision. If you wish to merge ${mach_name} sources, then"
- eerror "run ${has_use}emerge =mips-sources-${stable_ver}"
- [ "${mach_use}" != "skip" ] && die "${mach_name} Support disabled."
+ if [ "${need_test}" != "test" ]; then
+ eerror "${mach_name} Support has been disabled in this ebuild"
+ eerror "revision. If you wish to merge ${mach_name} sources, then"
+ eerror "run ${has_use}emerge =mips-sources-${stable_ver}"
+ [ "${mach_use}" != "skip" ] && die "${mach_name} Support disabled."
+ else
+ ewarn "${mach_name} Support has been marked as needing testing in this"
+ ewarn "ebuild revision. This usually means that any patches to support"
+ ewarn "${mach_name} have been forward ported and maybe even compile-tested,"
+ ewarn "but not yet booted on real hardware, possibly due to a lack of access"
+ ewarn "to such hardware. If you happen to boot this kernel and have no"
+ ewarn "problems at all, then please inform the maintainer. Otherwise, if"
+ ewarn "experience a bug, an oops/panic, or some other oddity, then please"
+ ewarn "file a bug at bugs.gentoo.org, and assign it to the mips team."
+ fi
return 0
}
+
+
#//------------------------------------------------------------------------------
+
+
# Machine Information Messages
#
# If needing to whitespace for formatting in 'einfo', 'ewarn', or 'eerror', use
@@ -135,53 +162,39 @@ err_disabled_mach() {
show_ip22_info() {
echo -e ""
- einfo "IP22 systems should work well with this release, however, R4600"
- einfo "setups may still experience bugs. Please report any encountered"
- einfo "problems."
+ einfo "IP22 systems with an R5000 processor should work well with this release."
+ einfo "The R4x00 series of processors tend to be rather flaky, especially the"
+ einfo "R4600. If you have to run an R4x00 processor, then try to use an R4400."
einfo ""
einfo "Some Notes:"
einfo "\t- Supported graphics card right now is Newport (XL)."
- einfo "\t- A driver for Extreme (XZ) is in the works, but remains"
- einfo "\t\040\040unreleased by its author for public consumption."
+ einfo "\t- A driver for Extreme (XZ) supposedly exists, but its author"
+ einfo "\t\040\040has steadfastly refused to release the code for various reasons."
+ einfo "\t\040\040Any questions regarding its status should be directed to "onion" in"
+ einfo "\t\040\040#mipslinux on the Freenode IRC network. Given he is the author, he"
+ einfo "\t\040\040will know the most current status of the driver."
echo -e ""
}
show_ip27_info() {
echo -e ""
- einfo "IP27 support can be considered a game of Russian Roulette. It'll work"
- einfo "great for some but not for others. It also uses some rather horrible"
- einfo "hacks to get going -- hopefully these will be repaired in the future."
- echo -e ""
- ewarn "Please keep all kittens and any other small, cute, and fluffy creatures"
- ewarn "away from an IP27 Box running these sources. Failure to do so may cause"
- ewarn "the IP27 to consume the hapless creature. Consider this your only"
- ewarn "warning regarding the experimental nature of this particular machine."
+ ewarn "IP27 support can be considered a game of Russian Roulette. It'll work"
+ ewarn "great for some but not for others. We don't get a chance to test this"
+ ewarn "machine very often with each new kernel, so your mileage may vary."
echo -e ""
}
show_ip28_info() {
echo -e ""
- einfo "Support for the Indigo2 Impact R10000 is very experimental. If you do not"
- einfo "have a clue in the world about what an IP28 is, what the mips architecture"
- einfo "is about, or are new to Gentoo, then it is highly advised that you steer"
- einfo "clear of messing with this machine. Due to the experimental nature of this"
- einfo "particular class of system, we have to provide such warnings, as it is only"
- einfo "for use by those who know what they are doing."
- echo -e ""
- einfo "Be advised that attempting to run Gentoo/Linux (or any Linux distro) on this"
- einfo "system may cause the sudden, unexplained disappearence of any nearby furry"
- einfo "creatures. So please keep any and all small pets away from this system at"
- einfo "all times."
+ einfo "Support for the Indigo2 Impact R10000 is experimental, and will likely remain so."
+ einfo "As such, If you do not have a clue in the world about what an IP28 is, what the"
+ einfo "mips architecture is about, are new to Gentoo, or even Linux in particular, then"
+ einfo "it is highly advised that you steer clear of messing with this machine. Due to"
+ einfo "the experimental nature of this particular class of system, we have to provide"
+ einfo "such warnings, as it is only for use by those who know what they are doing."
echo -e ""
- ewarn "That said, support for this system REQUIRES that you use the ip28 cascade"
- ewarn "profile (${HILITE}default-linux/mips/2006.1/ip28/o32${NORMAL}), because a very special"
- ewarn "patch is used on the kernel-gcc (${GOOD}gcc-mips64${NORMAL}) and the kernel itself"
- ewarn "in order to support this machine. These patches will only be applied"
- ewarn "if \"ip28\" is defined in USE, which the profile sets. As of gcc-4.1.1,"
- ewarn "this patch is automatically applied. In time, ${HILITE}kgcc64${NORMAL} will replace ${GOOD}gcc-mips64${NORMAL}"
- echo -e ""
- ewarn "As a final warning, _nothing_ is guaranteed to work smoothly. However,"
- ewarn "the Impact console driver and X driver do work somewhat decently."
+ ewarn "Remember, due to the R10000 Speculative Execution issue that exists with this"
+ ewarn "machine class, _nothing_ is guaranteed to work smoothly. Your mileage may vary."
echo -e ""
}
@@ -206,16 +219,19 @@ show_ip30_info() {
show_ip32_info() {
echo -e ""
einfo "IP32 systems function well, however there are some notes:"
- einfo "\t- No driver exists yet for the sound card."
+ einfo "\t- No driver exists yet for the sound card. There is active work on one,"
+ einfo "\t\040\040however. Interested parties are encouraged to browse the Linux/MIPS"
+ einfo "\t\040\040mailing list archives during the first few months of 2007 for more"
+ einfo "\t\040\040information on this driver's status."
einfo "\t- Framebuffer console is limited to 4MB. Anything greater"
einfo "\t\040\040specified when building the kernel will likely oops or panic"
einfo "\t\040\040the kernel."
einfo "\t- X support is limited to the generic fbdev driver. No X gbefb"
- einfo "\t\040\040driver exists for O2 yet."
+ einfo "\t\040\040driver exists for O2 yet. Patches are welcome, however :)"
echo -e ""
if use ip32r10k; then
- eerror "R10000/R12000 Support on IP32 is HIGHLY EXPERIMENTAL!"
+ eerror "R10000/R12000 Support on IP32 is ${HILITE}HIGHLY EXPERIMENTAL!${NORMAL}"
eerror "This is intended ONLY for people interested in fixing it up. And"
eerror "by that, I mean people willing to SEND IN PATCHES! If you're not"
eerror "interested in debugging this issue seriously or just want to run it"
@@ -232,22 +248,19 @@ show_ip32_info() {
eerror "manual, or those who are familiar with the IP32 chipset and the feature"
eerror "called \"Juice\"."
echo -e ""
- eerror "To build this kernel tree, make sure you re-merge your kernel compiler"
- eerror "with the \"ip32r10k\" USE flag enabled via crossdev. This uses a"
- eerror "tweaked version of the gcc cache barriers patch that makes gcc emit "
- eerror "more barriers, as IP32 needs them to have any hope of staying online."
fi
eerror "!!! BIG FAT WARNING"
eerror "!!! To Build 64bit kernels for SGI O2 (IP32) or SGI Indy/Indigo2 R4x00 (IP22)"
- eerror "!!! systems, you _need_ to be using a >=gcc-4.1.1 compiler. In prior times, an"
- eerror "!!! ugly hack was used to build an ELF64 binary that resembled an ELF32 binary in"
- eerror "!!! order to make the ARCS PROMs on these systems boot the kernel. This hack is no"
- eerror "!!! longer in use nor supported in 2.6.17 and beyond. In order to achieve the same"
- eerror "!!! effect, a new flag available in >=gcc-4.x is used, and as such, makes"
- eerror "!!! >=gcc-4.1.1 the preferred compiler for 2.6.17 and beyond."
+ eerror "!!! systems, you _need_ to be using a >=gcc-4.1.1 compiler, have CONFIG_BUILD_ELF64"
+ eerror "!!! disabled in your kernel config, and building with the ${HILITE}vmlinux.32${NORMAL} make target."
+ eerror "!!! In prior times, an ugly hack was used to build an ELF64 binary that resembled"
+ eerror "!!! an ELF32 binary in order to make the ARCS PROMs on these systems boot the"
+ eerror "!!! kernel. This hack is no longer in use nor supported in 2.6.17 and beyond. In"
+ eerror "!!! order to achieve the same effect, a new flag available in >=gcc-4.x is used,"
+ eerror "!!! and as such, makes >=gcc-4.1.1 the preferred compiler for 2.6.17 and beyond."
eerror ""
- eerror "!!! One side effect of this is the need to build 64bit IP32 and IP22 kernels with the"
+ eerror "!!! Remember, build your IP22 and IP32 kernels with the following command:"
eerror "!!! following make command: ${GOOD}make vmlinux.32${NORMAL}"
eerror "!!! Once done, copy the ${GOOD}vmlinux.32${NORMAL} file and boot that. Do not use the"
eerror "!!! ${BAD}vmlinux${NORMAL} file -- this will either not boot on IP22 or result in"
@@ -266,8 +279,12 @@ show_cobalt_info() {
echo -e ""
}
+
+
#//------------------------------------------------------------------------------
+
+
# Check our USE flags for machine-specific flags and give appropriate warnings/errors.
# Hope the user isn't crazy enough to try using combinations of these flags.
# Only use one machine-specific flag at a time for each type of desired machine-support.
@@ -284,7 +301,10 @@ pkg_setup() {
# See if we're on a cobalt system first (must use the cobalt-mips profile)
if use cobalt; then
arch_is_selected="yes"
- [ "${DO_CBLT}" = "no" ] && err_disabled_mach "Cobalt Microsystems" "CBLT" "cobalt"
+ [ "${DO_CBLT}" = "test" ] \
+ && err_disabled_mach "Cobalt Microsystems" "CBLT" "cobalt" "test"
+ [ "${DO_CBLT}" = "no" ] \
+ && err_disabled_mach "Cobalt Microsystems" "CBLT" "cobalt"
show_cobalt_info
fi
@@ -311,7 +331,9 @@ pkg_setup() {
&& arch_is_selected="yes" \
|| err_only_one_mach_allowed
- # Is the machine support enabled or not?
+ # Is the machine support disabled or marked as needing testing?
+ [ "${mach_enable}" = "test" ] \
+ && err_disabled_mach "${mach_name}" "${mach_ip/ip/IP}" "${mach_ip}" "test"
[ "${mach_enable}" = "no" ] \
&& err_disabled_mach "${mach_name}" "${mach_ip/ip/IP}" "${mach_ip}"
@@ -334,41 +356,35 @@ pkg_setup() {
fi
}
+
+
#//------------------------------------------------------------------------------
+
+
# Generic Patches - Safe to use globally
do_generic_patches() {
echo -e ""
ebegin ">>> Generic Patches"
# IP22 Patches
- epatch ${MIPS_PATCHES}/misc-2.6.15-ip22-hal2-kconfig-tweaks.patch # in git - kill in 2.6.18
epatch ${MIPS_PATCHES}/misc-2.6.16-ip22-vino-64bit-ioctl-fixes.patch
- epatch ${MIPS_PATCHES}/misc-2.6.17-ip22-rtc-brown-paper-bag.patch # in git - kill in 2.6.18
# IP32 Patches
epatch ${MIPS_PATCHES}/misc-2.6.11-ip32-mace-is-always-eth0.patch
# Cobalt Patches
- epatch ${MIPS_PATCHES}/misc-2.6.17-cobalt-bits.patch
+ epatch ${MIPS_PATCHES}/misc-2.6.22-cobalt-bits.patch
# Generic
epatch ${MIPS_PATCHES}/misc-2.6.17-ths-mips-tweaks.patch
- epatch ${MIPS_PATCHES}/misc-2.6.15-mips-iomap-functions.patch
epatch ${MIPS_PATCHES}/misc-2.6.12-seccomp-no-default.patch
epatch ${MIPS_PATCHES}/misc-2.6.11-add-byteorder-to-proc.patch
- epatch ${MIPS_PATCHES}/misc-2.6.15-add-4k_cache_defines.patch # in git - kill in 2.6.18
- epatch ${MIPS_PATCHES}/misc-2.6.17-rev-i18n.patch
- epatch ${MIPS_PATCHES}/misc-2.6.15-fix-4k-cache-macros.patch # in git - kill in 2.6.18
- epatch ${MIPS_PATCHES}/misc-2.6.15-vgacon-accesses-unmapped-space.patch
- epatch ${MIPS_PATCHES}/misc-2.6.17-n32-sigset-endian-swap.patch
- epatch ${MIPS_PATCHES}/misc-2.6.17-fix-rdhwr_op-definition.patch # in git - kill in 2.6.18
- epatch ${MIPS_PATCHES}/misc-2.6.17-do-not-use-drop_mmu_context.patch
- epatch ${MIPS_PATCHES}/misc-2.6.17-magic-mojo.patch
- epatch ${MIPS_PATCHES}/misc-2.6.17-squashfs-3.0.patch
+ epatch ${MIPS_PATCHES}/misc-2.6.22-squashfs-3.2-r2.patch
eend
}
+
# NOT safe for production systems
# Use at own risk, do _not_ file bugs on effects of these patches
do_sekrit_patches() {
@@ -378,7 +394,7 @@ do_sekrit_patches() {
# Modified version of the IP28 cache barriers patch for the kernel
# that removes all the IP28 specific pieces and leaves behind only
# the generic segments.
- epatch ${MIPS_PATCHES}/misc-2.6.17-ip32-r10k-support.patch
+ epatch ${MIPS_PATCHES}/misc-2.6.20-ip32-r10k-support.patch
fi
## # No Sekrit Patches!
@@ -387,40 +403,48 @@ do_sekrit_patches() {
# /* EXPERIMENTAL - DO NOT USE IN PRODUCTION KERNELS */
}
+
+
#//------------------------------------------------------------------------------
+
+
# Exclusive Machine Patchsets
# SGI Origin (IP27)
do_ip27_support() {
echo -e ""
einfo ">>> Patching kernel for SGI Origin 200/2000 (IP27) support ..."
- epatch ${MIPS_PATCHES}/misc-2.6.17-ioc3-metadriver-r26.patch
+ epatch ${MIPS_PATCHES}/misc-2.6.22-ioc3-metadriver-r27.patch
epatch ${MIPS_PATCHES}/misc-2.6.17-ip27-horrible-hacks_may-eat-kittens.patch
epatch ${MIPS_PATCHES}/misc-2.6.17-ip27-rev-pci-tweak.patch
- epatch ${MIPS_PATCHES}/misc-2.6.17-ip27-hack-attack.patch
+ epatch ${MIPS_PATCHES}/misc-2.6.19-ip27-hack-attack.patch
+ epatch ${MIPS_PATCHES}/misc-2.6.22-ioc3-revert_commit_691cd0c.patch
}
# SGI Indigo2 Impact R10000 (IP28)
do_ip28_support() {
echo -e ""
einfo ">>> Patching kernel for SGI Indigo2 Impact R10000 (IP28) support ..."
- epatch ${MIPS_PATCHES}/misc-2.6.17-ip28-i2_impact-support.patch
- epatch ${MIPS_PATCHES}/misc-2.6.17-ip28-impact-mmapfix.patch
- epatch ${MIPS_PATCHES}/misc-2.6.17-ip28-wd93cac-tweak.patch
+ epatch ${MIPS_PATCHES}/misc-2.6.20-ip28-i2_impact-support-r2.patch
}
+
# SGI Octane 'Speedracer' (IP30)
do_ip30_support() {
echo -e ""
einfo ">>> Patching kernel for SGI Octane (IP30) support ..."
- epatch ${MIPS_PATCHES}/misc-2.6.17-ioc3-metadriver-r26.patch
- epatch ${MIPS_PATCHES}/misc-2.6.17-ip30-octane-support-r27.patch
- epatch ${MIPS_PATCHES}/misc-2.6.17-ip30-impact-vpro-mmapfix.patch
+ epatch ${MIPS_PATCHES}/misc-2.6.22-ioc3-metadriver-r27.patch
+ epatch ${MIPS_PATCHES}/misc-2.6.22-ip30-octane-support-r28.patch
+ epatch ${MIPS_PATCHES}/misc-2.6.22-ioc3-revert_commit_691cd0c.patch
}
+
+
#//------------------------------------------------------------------------------
+
+
# Renames source trees for the few machines that we have separate patches for
rename_source_tree() {
if [ ! -z "${1}" ]; then
@@ -431,8 +455,12 @@ rename_source_tree() {
fi
}
+
+
#//------------------------------------------------------------------------------
+
+
src_unpack() {
local x
@@ -440,6 +468,7 @@ src_unpack() {
mv ${WORKDIR}/linux-${STABLEVER} ${WORKDIR}/linux-${OKV}-${GITDATE}
cd ${S}
+
# If USE_RC == "yes", use a release candidate kernel (2.6.x-rcy)
# OR
# if USE_PNT == "yes", use a point-release kernel (2.6.x.y)
@@ -449,6 +478,7 @@ src_unpack() {
epatch ${WORKDIR}/patch-${OKV}
fi
+
# Update the vanilla sources with linux-mips GIT changes
echo -e ""
einfo ">>> linux-${OKV} --> linux-${OKV}-${GITDATE} patch ..."
@@ -465,10 +495,12 @@ src_unpack() {
# Patches for experimental use
do_sekrit_patches
+
# All done, resume normal portage work
kernel_universal_unpack
}
+
src_install() {
# Rename the source trees for exclusive machines
local x
@@ -492,4 +524,5 @@ pkg_postinst() {
fi
}
+
#//------------------------------------------------------------------------------