summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoshua Kinard <kumba@gentoo.org>2008-10-30 07:53:10 +0000
committerJoshua Kinard <kumba@gentoo.org>2008-10-30 07:53:10 +0000
commitcc5754072f62cf7503a3589e145ee4e4bfb76b33 (patch)
tree21463b4fe3b2f89d27b535b3592d4eff6070c4d7 /sys-kernel/mips-sources
parentUnwanted stabilization (diff)
downloadhistorical-cc5754072f62cf7503a3589e145ee4e4bfb76b33.tar.gz
historical-cc5754072f62cf7503a3589e145ee4e4bfb76b33.tar.bz2
historical-cc5754072f62cf7503a3589e145ee4e4bfb76b33.zip
Update mips-sources to 2.6.27.4. Tested on IP27, IP28, IP30, & IP32, but not on IP22 or cobalt systems.
Package-Manager: portage-2.2_rc12/cvs/Linux 2.6.27.4-mipsgit-20081028 mips64
Diffstat (limited to 'sys-kernel/mips-sources')
-rw-r--r--sys-kernel/mips-sources/ChangeLog9
-rw-r--r--sys-kernel/mips-sources/Manifest17
-rw-r--r--sys-kernel/mips-sources/mips-sources-2.6.27.4.ebuild509
3 files changed, 523 insertions, 12 deletions
diff --git a/sys-kernel/mips-sources/ChangeLog b/sys-kernel/mips-sources/ChangeLog
index 8161f0de0f30..6d07c3707418 100644
--- a/sys-kernel/mips-sources/ChangeLog
+++ b/sys-kernel/mips-sources/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for sys-kernel/mips-sources
# Copyright 2002-2008 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-kernel/mips-sources/ChangeLog,v 1.116 2008/08/22 20:03:07 cardoe Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/mips-sources/ChangeLog,v 1.117 2008/10/30 07:53:10 kumba Exp $
+
+*mips-sources-2.6.27.4 (30 Oct 2008)
+
+ 30 Oct 2008; Joshua Kinard <kumba@gentoo.org>
+ +mips-sources-2.6.27.4.ebuild:
+ Update mips-sources to 2.6.27.4. Tested on IP27, IP28, IP30, & IP32, but
+ not on IP22 or cobalt systems.
22 Aug 2008; Doug Goldstein <cardoe@gentoo.org> metadata.xml:
add GLEP 56 USE flag desc from use.local.desc
diff --git a/sys-kernel/mips-sources/Manifest b/sys-kernel/mips-sources/Manifest
index 250f6ffe4836..19491898266f 100644
--- a/sys-kernel/mips-sources/Manifest
+++ b/sys-kernel/mips-sources/Manifest
@@ -1,31 +1,26 @@
------BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA1
-
DIST linux-2.6.20.tar.bz2 43375937 RMD160 14657ade7be4363143dbd5593f5710d21eda7a03 SHA1 e730979adfb287528263e779c91284659672510d SHA256 2c14ada1ac7d272e03b430d3a530d60fc9ec69cc8252382aa049afba7d2b8558
DIST linux-2.6.22.tar.bz2 45119878 RMD160 c4b2ca5ee8e71c0f8f1c95f3c9c5f261f2785912 SHA1 39401f195a618f397312d6d84ff9aebe28d99381 SHA256 73c10604c53f1a6ee65ef805293d23903696f8cef864f42d7de9506f0d2ba4c7
DIST linux-2.6.23.tar.bz2 45488158 RMD160 755690e80751d5de86d260fe05c6eeadde116c4e SHA1 3a186adf13e44415796ab6381aa8979b16a5d5ca SHA256 d4e67c0935ffb2a4158234bff92cc791b83177866009fc9b2214104e0038dbdb
DIST linux-2.6.24.tar.bz2 46737783 RMD160 0e5194c69c3d82c41ece689c4f84e638f8776d34 SHA1 351aebc784a5395fe4c92d1e514a89680482f7e2 SHA256 413c64fbbcf81244cb5571be4963644a1e81166a2b0f008a016528363b65c5d3
+DIST linux-2.6.27.tar.bz2 50355835 RMD160 5be4595ad824a4af67c1ec0c692838ad0c31f0c0 SHA1 8425ec3be2652f9d511911ff4fcf99039d4574be SHA256 0e99bf9e83f4d1ae0c656741a84dfddfa9c4d2469cf35475f5939d02dc3e4393
DIST mips-sources-generic_patches-1.30.tar.bz2 728471 RMD160 ee3177e921678d4c0a4b96fc127232b93f32d956 SHA1 34f098e042e0707ce0ae30e3ecf9a61af7448d39 SHA256 2a1c8f1de5ead4b8c0a829431b4a41bcbad0b915ef44402c341f461a40c7882a
DIST mips-sources-generic_patches-1.31.tar.bz2 850315 RMD160 9722e0f32b28adafd142c80eea53274584a6c7c1 SHA1 8699f192692c87d800365982b38e8b012437b5d1 SHA256 e38f864e11b61c0b11be0192b88327770c29aa4e551ca266d1b40a5920033b59
DIST mips-sources-generic_patches-1.32.tar.bz2 851946 RMD160 60541d678967a1a498015394cc3f58c49d36bd55 SHA1 95cbe0d8ba77325fdc909f9f9128e6696aac9803 SHA256 90f4740ee307cc12c2537aab9fae0aa8934f0ac8523033544ccfe92f106fd45f
+DIST mips-sources-generic_patches-1.33.tar.bz2 367610 RMD160 9010a03b05e75638c2e01042f4262144ccdb7e91 SHA1 ac25e9eb72b9ffc5d145a3721e7b2738ca3ae6ab SHA256 cd7bcb6ecbaaf332c9169937a4a37c1e2c278d06deda0801efbc73835c1008b4
DIST mipsgit-2.6.20-20070902.diff.bz2 86456 RMD160 6c8bf1669dd7ba11c5ebce54d108d6e17a1a8fb9 SHA1 75d3dc0e9b70e064abbeab87c410e5bb620b0de1 SHA256 e87664e561e9dcf928082732570704953a3bbb98ffd89864a6443b5d180e27a3
DIST mipsgit-2.6.22-20070902.diff.bz2 84015 RMD160 67a81cf340b9d12f26925ec2be6bddcb1e5e9e9c SHA1 925430339ab38f077b3456652a9e24d58c37fb22 SHA256 7470094035f518845de361e4d96282a1b0c266dd67ea2bb4fb0269c361522fa4
DIST mipsgit-2.6.23-20080206.diff.bz2 20022 RMD160 8f2b273bb891b49469fb6b793c03edf1fed09262 SHA1 270cd92a6dbb2658b5cca275f5661bb92c3f304a SHA256 e2bb3513630240f148ad32fe23c3837b8c737e1ee8a871543042413c4bf3a5f7
DIST mipsgit-2.6.24-20080519.diff.bz2 17050 RMD160 94bd4cd36a6e6ef263668169bb1702e928567a84 SHA1 934b204cf4d9df6aa09e2749e01b14ec33240d3a SHA256 ad05336a32f891bb1f7108f52d49e736859e211bd36e09e6342775b8b6199fe4
+DIST mipsgit-2.6.27-20081028.diff.bz2 16908 RMD160 2ae1e31fb111968542f537a5aa2ca654e3b079fd SHA1 5a33e999d53460568d3d8a9f3ea3f40a096b3270 SHA256 70df1a8b019821ce3279dca935d49fbe98c6c356c2dc8faaf9c4ebe7b161a8b4
DIST patch-2.6.20.18.bz2 126585 RMD160 9d560ad786102418c9d4ef242ddd4f8224ce560d SHA1 089faef080d902918e6047713873e0e27c14033e SHA256 fe3d3b25b91d41c20cd31c0d5dd6439eab3b64108265b124a28bc1349296893d
DIST patch-2.6.22.6.bz2 46194 RMD160 722edf692e435af621d9e6d10df8497471c8bec0 SHA1 93bdb641020fed0f60db83e8f01c3e82ff423104 SHA256 a85c8ce79cdc126b32aa9a74dbc64c368f0e7e9ec33e156af746003e1b5a8c4d
DIST patch-2.6.23.14.bz2 76340 RMD160 5dbfce28fda46f2b01aebd96e89858d23cb115fd SHA1 a4eba6eaece54a7dc85c12443fb0d875dad66355 SHA256 98bc6743595f824892fe72339251139172795dba18927565e4d61b06251e66f5
DIST patch-2.6.24.7.bz2 78117 RMD160 3c38588f5caea2902ae6bd1129a42eb14a0e8c7f SHA1 8daa0107234b6f3649e7577d1c53842306c471be SHA256 b6bbb0dea427aa733c37d58a94b819b523c8649d7605f498348de159380c28a1
+DIST patch-2.6.27.4.bz2 21492 RMD160 47e081934042893a3ecc4a2214fc2a1dbcbfc28b SHA1 d10dfa592dc5814650eb183072a5eee8cce3a0e9 SHA256 4fbefdb38df6775324104b19c9723eed1b714b66384b2a7283b824c274f7e06a
EBUILD mips-sources-2.6.20.18.ebuild 19024 RMD160 d7629922326e581ca8d1f5a21f06f23f91cd0bbe SHA1 60bfb6b96bffe3d26163c1f6bd5bdd603d40bd36 SHA256 42bd149c9a669c9f2f75acd17a90409a65bc4a111a33fb52df1ca3edac26a8dd
EBUILD mips-sources-2.6.22.6.ebuild 18975 RMD160 7c6063b604f4fdb096f0b14fc15d28df05448eac SHA1 18c3bdcb2f39ac5c9fab832862dec6a1b5c56631 SHA256 0665585641f38fdec41da5dfdec7993265df12632d1829508ec4036d3d50714f
EBUILD mips-sources-2.6.23.14.ebuild 19113 RMD160 a89aed7405524dec32c4b861f1a6d7b2078e52ce SHA1 09b68f6d4c95b189cd3a914b7e6883f05d660f73 SHA256 ce2186ce1e853c9eac3a672d54644c48c8f22ef429d4b3a2f131e422b261efb5
EBUILD mips-sources-2.6.24.7.ebuild 19044 RMD160 145a5c739019f311df6aa753e3e8006e934d9a91 SHA1 15e35aa3915bcc6ae312cefe870959ae7e3bab6e SHA256 db0c2c5a8c9187c6e41a7d0af60e20203e35ee55f200cbace3269062d05640d6
-MISC ChangeLog 45835 RMD160 36325e0d3bac5233ff3f998bef2cf9dd8aeb62e1 SHA1 fe4b8b2b7ef843abd04c3ee2e7d22ad308e71818 SHA256 ac260ddfd1061420bfd9e0d66eeabb857f55fab87eb50aea40267ad18469be0b
+EBUILD mips-sources-2.6.27.4.ebuild 17511 RMD160 6282afb20e9050d65cd9215d642697b08a1aec8a SHA1 9cf5bf33bcfe2479f5720d559bb439dca672ba66 SHA256 3d4c62208293c03ef5a5a52f5401067c5c20d4885d1c0330ff8af755dfa5fc1e
+MISC ChangeLog 46062 RMD160 6198f47f8eed4081aa5ee63e867d40053ea4fc2e SHA1 8c4956f085485e53c180073cda3e3525f7fdd68f SHA256 e82facf7dd828369407a506cf2784a6bf8c139fc517b924a673d3e1df40e7cca
MISC metadata.xml 823 RMD160 4b75cac36367d2a84e4305b8496b3d615c6bf1bc SHA1 7add14de1c676b20da2662ea235c6845715ad18b SHA256 f3b404f5f9a68858e7d840d81baa8cd8ad50cfb16c537a5555109c0af324e37a
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v2.0.9 (GNU/Linux)
-
-iEYEARECAAYFAkivG4MACgkQoeSe8B0zEfzcbACffnnp46tr1xrNmy4YfL6icfBJ
-QTEAn2XC07JcTXnw2UrjysY/dTdJR+K9
-=3WfK
------END PGP SIGNATURE-----
diff --git a/sys-kernel/mips-sources/mips-sources-2.6.27.4.ebuild b/sys-kernel/mips-sources/mips-sources-2.6.27.4.ebuild
new file mode 100644
index 000000000000..3782e12bb719
--- /dev/null
+++ b/sys-kernel/mips-sources/mips-sources-2.6.27.4.ebuild
@@ -0,0 +1,509 @@
+# Copyright 1999-2008 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.27.4.ebuild,v 1.1 2008/10/30 07:53:10 kumba Exp $
+
+
+# INCLUDED:
+# 1) linux sources from kernel.org
+# 2) linux-mips.org GIT snapshot diff from 28 Oct 2008
+# 3) Generic Fixes
+# 4) Patch for the IOC3 Metadriver (IP27, IP30)
+# 5) Patch for IP30 Support
+# 6) Patch for IP28 Graphics Support (SolidImpact)
+# 7) Experimental patches (if needed)
+
+
+#//------------------------------------------------------------------------------
+
+
+
+# Version Data
+OKV=${PV/_/-}
+GITDATE="20081028" # Date of diff between kernel.org and lmo GIT
+GENPATCHVER="1.33" # 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-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="test" # 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="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_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/Warning 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}"
+ local need_test="${4}"
+
+ # 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 ""
+ 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
+# \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 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) 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 ""
+ 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 now in the mainline kernel. However,"
+ einfo "due to the R10000 Speculative Execution issue that exists with this machine,"
+ einfo "nothing is guaranteed to work correctly. Consider enabling ${HILITE}CONFIG_KALLSYMS${NORMAL}"
+ einfo "in your kernel so that if the machine Oopes, you'll be able to provide valuable"
+ einfo "feedback that can be used to trace down the crash."
+ echo -e ""
+}
+
+show_ip30_info() {
+ echo -e ""
+ einfo "Things to keep in mind when building a kernel for an SGI Octane:"
+ 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 use OHCI-based USB cards in Octane. They're broke on this machine."
+ einfo "\t\040\040Patches are welcome to fix the issue."
+ einfo "\t- Equally, UHCI Cards are showing issues in this release, but should still"
+ einfo "\t\040\040function somewhat. This issue manifests itself when using pl2303 USB->Serial"
+ einfo "\t\040\040adapters."
+ 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- A sound driver now exists for IP32. Celebrate!"
+ 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. Patches are welcome, however! :)"
+ echo -e ""
+
+ if use ip32r10k; then
+ 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"
+ 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 ""
+ 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, have CONFIG_BUILD_ELF64"
+ eerror "!!! disabled in your kernel config, and building with the ${HILITE}vmlinux.32${NORMAL} make target."
+ eerror ""
+ 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"
+ eerror "!!! undocumented weirdness on IP32 systems."
+}
+
+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}" = "test" ] \
+ && err_disabled_mach "Cobalt Microsystems" "CBLT" "cobalt" "test"
+ [ "${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 200/2000" \
+ "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 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}"
+
+ # 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"
+
+ # IP22 Patches
+ epatch ${MIPS_PATCHES}/misc-2.6.16-ip22-vino-64bit-ioctl-fixes.patch
+
+ # IP32 Patches
+ epatch ${MIPS_PATCHES}/misc-2.6.11-ip32-mace-is-always-eth0.patch
+
+ # Generic
+ epatch ${MIPS_PATCHES}/misc-2.6.27-ths-mips-tweaks.patch
+ epatch ${MIPS_PATCHES}/misc-2.6.23-seccomp-no-default.patch
+ epatch ${MIPS_PATCHES}/misc-2.6.11-add-byteorder-to-proc.patch
+ epatch ${MIPS_PATCHES}/misc-2.6.24-ip32-rm7k-l3-support.patch
+ epatch ${MIPS_PATCHES}/misc-2.6.27-enable-old-rtc-drivers.patch
+ epatch ${MIPS_PATCHES}/misc-2.6.27-squashfs-3.4.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.20-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 the kernel for SGI Origin 200/2000 (IP27) support ..."
+ epatch ${MIPS_PATCHES}/misc-2.6.27-ioc3-metadriver-r27.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 the kernel for SGI Indigo2 Impact R10000 (IP28) Graphics support ..."
+ epatch ${MIPS_PATCHES}/misc-2.6.27-ip28-solidimpact-gfx.patch
+}
+
+
+# SGI Octane 'Speedracer' (IP30)
+do_ip30_support() {
+ echo -e ""
+ einfo ">>> Patching the kernel for SGI Octane (IP30) support ..."
+ epatch ${MIPS_PATCHES}/misc-2.6.27-ioc3-metadriver-r27.patch
+ epatch ${MIPS_PATCHES}/misc-2.6.27-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
+ 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
+}
+
+
+#//------------------------------------------------------------------------------