summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoshua Kinard <kumba@gentoo.org>2009-03-16 06:39:10 +0000
committerJoshua Kinard <kumba@gentoo.org>2009-03-16 06:39:10 +0000
commit5fcd2a8e3cc5cff32e04fe05eca046765aba2589 (patch)
treeb476c61908a8abc05116063406c004376b2a251b
parentModernize mips-sources to use eblit micronization technology and the newer ke... (diff)
downloadhistorical-5fcd2a8e3cc5cff32e04fe05eca046765aba2589.tar.gz
historical-5fcd2a8e3cc5cff32e04fe05eca046765aba2589.tar.bz2
historical-5fcd2a8e3cc5cff32e04fe05eca046765aba2589.zip
Add the eblits.
Package-Manager: portage-2.1.6.8/cvs/Linux mips64
-rw-r--r--sys-kernel/mips-sources/Manifest22
-rw-r--r--sys-kernel/mips-sources/files/eblits/err_disabled_mach-v1.eblit41
-rw-r--r--sys-kernel/mips-sources/files/eblits/err_only_one_mach_allowed-v1.eblit15
-rw-r--r--sys-kernel/mips-sources/files/eblits/pkg_postinst-v1.eblit19
-rw-r--r--sys-kernel/mips-sources/files/eblits/pkg_setup-v1.eblit72
-rw-r--r--sys-kernel/mips-sources/files/eblits/show_cobalt_info-v1.eblit21
-rw-r--r--sys-kernel/mips-sources/files/eblits/show_ip22_info-v1.eblit25
-rw-r--r--sys-kernel/mips-sources/files/eblits/show_ip27_info-v1.eblit17
-rw-r--r--sys-kernel/mips-sources/files/eblits/show_ip28_info-v1.eblit19
-rw-r--r--sys-kernel/mips-sources/files/eblits/show_ip30_info-v1.eblit27
-rw-r--r--sys-kernel/mips-sources/files/eblits/show_ip32_info-v1.eblit49
-rw-r--r--sys-kernel/mips-sources/files/eblits/src_unpack-v1.eblit59
12 files changed, 375 insertions, 11 deletions
diff --git a/sys-kernel/mips-sources/Manifest b/sys-kernel/mips-sources/Manifest
index d57ae2b3fe84..b5c1073537b5 100644
--- a/sys-kernel/mips-sources/Manifest
+++ b/sys-kernel/mips-sources/Manifest
@@ -1,14 +1,14 @@
-AUX eblits/err_disabled_mach-v1.eblit 1515 RMD160 42cc11b2f5c1e9fda18939f3e87ff5d08e152d72 SHA1 e6da17cbac1bf667ab860e3c6a8f5473ada52502 SHA256 dc5622ce8a6a49890551979a118a5cbd67c50ffdb0a80cc8ea8dd392391cd5b9
-AUX eblits/err_only_one_mach_allowed-v1.eblit 630 RMD160 0e4ecc58ac937f316966dae81548d7957d027a97 SHA1 ac17917b284b34b54b37296338f867f3d6d21be8 SHA256 0f253a162d9b7219805907641c484b3373c3750040d050d13ec9b1c218b9e366
-AUX eblits/pkg_postinst-v1.eblit 534 RMD160 f44250d5837f7454f7f49fc2638e7db7ab04942b SHA1 5a8d7acef29d65924343072878b2709296010a25 SHA256 cad93a21ccb0f4e50301b6ac95de707f1cfd9386152395c509c3f757c868de34
-AUX eblits/pkg_setup-v1.eblit 2384 RMD160 ae3278a805a8272a5c882b4076a4048020714a0e SHA1 1ef145a3e2edc1da9bc7688f1f5eabb8799df3a1 SHA256 c4ebbfdd7385e806fc55c57039b361bd45c02eff8dbe891fb0dc3be87070142a
-AUX eblits/show_cobalt_info-v1.eblit 857 RMD160 952c7fb57236cf3727f3796e6e5086eab5cb323c SHA1 7acc1ab887423e2f3e16e3bd552fdf4c1f68792e SHA256 904515e58c59fbf8659548e3b501f7842e9258f4e58eac6d4e2742a7a44d3a00
-AUX eblits/show_ip22_info-v1.eblit 1166 RMD160 6a49e01b88448c089cb0b2ff71a9f6a3df183221 SHA1 67c63b88ab6a7bb1ff6a5198f3fd3344e2de0734 SHA256 f0397e3d38661cec47cb3621ebc6ceab753659701eefb1952996e52fb9b71ac6
-AUX eblits/show_ip27_info-v1.eblit 667 RMD160 3f1b48ba69704bae460ecef1d0709d18a38a55fc SHA1 2f4628911ae973e7290c3c54e110538b78a370f2 SHA256 ff64c8d8fc6a1871b357b25b3a13dec6e99b5f99f637b2971401c3fa5dfcfabb
-AUX eblits/show_ip28_info-v1.eblit 857 RMD160 018285a84e11ecdca67cf42b7090e000606e7bfb SHA1 b21c322e5d13e87f2a517a0b6fe29b7ee77c66b6 SHA256 950c3a9f7bd3c9bcd97aa2f1460fcebd0a1f42493e92aeb6b93024524fe389ea
-AUX eblits/show_ip30_info-v1.eblit 1393 RMD160 547b9cfd3adb850acd5dbd056a31f49abed0d0b4 SHA1 f95b6e3f847853678e0d92b6f5ac2940830a4d5d SHA256 4bb5519d0b86fe23a176060a8e2ce76f657ff1202192950b13b4bb081cf9539b
-AUX eblits/show_ip32_info-v1.eblit 2548 RMD160 f686a69b5e0d105aca3bb48ebde78887fb568d8e SHA1 a069cec4b1507a8a874a2d254011cde902bdb6df SHA256 a6251189de76213d6e8111e5ae3fd518d926f2e5e0a6ede7f34dcc6509a67d8d
-AUX eblits/src_unpack-v1.eblit 2201 RMD160 a6a45d8c452252f8ecc45aa67a69ed08556be4d4 SHA1 87d0abf46a149de933b9539e09ac90d4cfbb4580 SHA256 3602686029522d51ebbb19051e970741680aa950a214ba77e157693257b24edf
+AUX eblits/err_disabled_mach-v1.eblit 1639 RMD160 2d0ad67a8a64ebd07dc942d0b55993e464d524a1 SHA1 3c4c8a5c85a8a23c23ef74e365304a6d9292e789 SHA256 e0b1404a5e3df2be0af528455eeaa801381b02ad0860bc72e02a9e88eee90370
+AUX eblits/err_only_one_mach_allowed-v1.eblit 762 RMD160 60ec00c9dc71b4191e5b3808b37da7159d46d1b9 SHA1 84cf9582230f945e66d1dec6cb99bc8e0abdb634 SHA256 c7ae9d34966434a8969abcf076f88bec15fc8cf12c656320b7fb65814dfaa315
+AUX eblits/pkg_postinst-v1.eblit 653 RMD160 2fc10e86ab3a33cdfeaaf9762e95c49ddbce7d7e SHA1 ce1b0766843125a24e3328c2f35db9bda617ea81 SHA256 e57c88960d6f8e145db5629ad37663281f9ed1b19eaa77f7649464bca58ff005
+AUX eblits/pkg_setup-v1.eblit 2500 RMD160 d9e1a21acd499fa61fa30e18ce75ee60ecc7d3a8 SHA1 c1cfc114cfa2251c1327666df74abee5fd4e9e06 SHA256 052b3fcd4556ed6698a1fe583b9a04ec565d0fe266ecb35384038e4c945d9473
+AUX eblits/show_cobalt_info-v1.eblit 980 RMD160 6110cbfaf82df6d531eecdf42951a48eec240f59 SHA1 d3d84add98bacbaee43835b3a34e2cfee1e3add5 SHA256 b8cf324e2fd7d73d6681474b5ae729797bbe3d3091a00f0cc67974eb7368778f
+AUX eblits/show_ip22_info-v1.eblit 1287 RMD160 a135e8d22691b48ae638b7de22b36e312b3d4cfd SHA1 020546ce3fe74e3f4330a086e02884e7968356a1 SHA256 66623e04256fda3e6a69120536e90cb1cb834836eeee4a527ad762b551f030b9
+AUX eblits/show_ip27_info-v1.eblit 788 RMD160 54ca6fd0c182a353a44812a6dd1ae33af15ce687 SHA1 5f07d4da7b86b92d6f16761908e76c26bffcda05 SHA256 668584ecaca4a56bd6ef5eb07e2fafaa5a6c6a5d97331c4850797f70a2e8e9be
+AUX eblits/show_ip28_info-v1.eblit 978 RMD160 484460a39834c44227e62c0479e1dc9fd7b60122 SHA1 6d03926b769d3619d986d0717d027fc9a6efb966 SHA256 f0481399f310c6ccddd9a1802546948064acf7fef7b0cca735cd0d611ee7fa69
+AUX eblits/show_ip30_info-v1.eblit 1514 RMD160 e2a14b892d207d5785c9de3dc6921d0ff4ac9ce7 SHA1 ce14cf24b8774996ca7b7a9b70f7171528a1ccdf SHA256 b7e2022c10ddc1c21dc639d2fd4e7a64784bb8ad777ef695b5e24a24f5c0f56a
+AUX eblits/show_ip32_info-v1.eblit 2669 RMD160 df69f4492d443fdd1756d3d18f3106c6c7c24f98 SHA1 1569be53347662fd05b95b644274bed84b3894c9 SHA256 09dbf9994948abc1308037b5df81e34ec6fdc742ea9152af863828ff458903a8
+AUX eblits/src_unpack-v1.eblit 2318 RMD160 d02f5537e4eda775aaecc090f237523c270e44e7 SHA1 20f1fe909b421a4fbbf4f2bfd9977a96e54f2a30 SHA256 abba4a740416cf76402f2782450ede34da01be8abe28da9e441f190bf88c9009
DIST linux-2.6.27.tar.bz2 50355835 RMD160 5be4595ad824a4af67c1ec0c692838ad0c31f0c0 SHA1 8425ec3be2652f9d511911ff4fcf99039d4574be SHA256 0e99bf9e83f4d1ae0c656741a84dfddfa9c4d2469cf35475f5939d02dc3e4393
DIST linux-2.6.28.tar.bz2 52665364 RMD160 47e8925220e29e239f9478228fc53543c1f7b300 SHA1 4f40f8bf3fd110b0cc6e1fea5f539c98f9959e94 SHA256 ae0d97c55efe7fce01273c97f8152af0deff5541e3bbf5b9ad98689112b54380
DIST mips-sources-2.6.27-patches-v1.tar.bz2 88771 RMD160 ae1058e58719fed2a362ea84c64de0460d88803f SHA1 cd65454c34443bfe31753128d823e40104881e44 SHA256 82c42c201b0f96323a4d5a56b8a9f45b97716dc513ac923173885d81421ced88
diff --git a/sys-kernel/mips-sources/files/eblits/err_disabled_mach-v1.eblit b/sys-kernel/mips-sources/files/eblits/err_disabled_mach-v1.eblit
new file mode 100644
index 000000000000..f276a564212e
--- /dev/null
+++ b/sys-kernel/mips-sources/files/eblits/err_disabled_mach-v1.eblit
@@ -0,0 +1,41 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/mips-sources/files/eblits/err_disabled_mach-v1.eblit,v 1.1 2009/03/16 06:39:10 kumba Exp $
+
+# Eblit to check if a given machine is disabled or marked for testing.
+
+err_disabled_mach() {
+ # Get args
+ local m_name="${1}"
+ local m_abbr="${2}"
+ local m_use="${3}"
+ local is_test="${4}"
+
+ # Get stable version, if exists
+ local stable_ver="SV_${m_abbr}"
+ stable_ver="${!stable_ver}"
+
+ # See if this machine needs a USE passed or skip dying
+ local has_use
+ [ ! -z "${m_use}" -a "${m_use}" != "skip" ] && has_use="USE=\"${m_use}\" "
+
+ # Print error && (maybe) die
+ echo -e ""
+ if [ "${is_test}" != "test" ]; then
+ eerror "${m_name} Support has been disabled in this ebuild"
+ eerror "revision. If you wish to merge ${m_name} sources, then"
+ eerror "run ${has_use}emerge =mips-sources-${stable_ver}"
+ [ "${m_use}" != "skip" ] && die "${m_name} Support disabled."
+ else
+ ewarn "${m_name} Support has been marked as needing testing in this"
+ ewarn "ebuild revision. This usually means that any patches to support"
+ ewarn "${m_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
+}
diff --git a/sys-kernel/mips-sources/files/eblits/err_only_one_mach_allowed-v1.eblit b/sys-kernel/mips-sources/files/eblits/err_only_one_mach_allowed-v1.eblit
new file mode 100644
index 000000000000..9f902f3852d6
--- /dev/null
+++ b/sys-kernel/mips-sources/files/eblits/err_only_one_mach_allowed-v1.eblit
@@ -0,0 +1,15 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/mips-sources/files/eblits/err_only_one_mach_allowed-v1.eblit,v 1.1 2009/03/16 06:39:10 kumba Exp $
+
+# Eblit informing a user when they try to apply two machine patches to the
+# same tree. Most machine patches are exclusive to avoid conflicts.
+
+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"
+}
diff --git a/sys-kernel/mips-sources/files/eblits/pkg_postinst-v1.eblit b/sys-kernel/mips-sources/files/eblits/pkg_postinst-v1.eblit
new file mode 100644
index 000000000000..51d3f04c1808
--- /dev/null
+++ b/sys-kernel/mips-sources/files/eblits/pkg_postinst-v1.eblit
@@ -0,0 +1,19 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/mips-sources/files/eblits/pkg_postinst-v1.eblit,v 1.1 2009/03/16 06:39:10 kumba Exp $
+
+# Eblit that handles binpkg postinst tasks.
+# In this case, it sets up the /usr/src/linux symlink.
+
+eblit-mips-sources-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/files/eblits/pkg_setup-v1.eblit b/sys-kernel/mips-sources/files/eblits/pkg_setup-v1.eblit
new file mode 100644
index 000000000000..90299f056aec
--- /dev/null
+++ b/sys-kernel/mips-sources/files/eblits/pkg_setup-v1.eblit
@@ -0,0 +1,72 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/mips-sources/files/eblits/pkg_setup-v1.eblit,v 1.1 2009/03/16 06:39:10 kumba Exp $
+
+# Eblit to check our USE flags for machine-specific flags and give appropriate
+# information, warnings, or errors to the user.
+
+# Some machine patches are mutually-exclusive to avoid conflicts:
+# Affected: ip27 ip28 ip30
+# Not Affected: cobalt ip22 ip32
+
+eblit-mips-sources-pkg_setup() {
+ local arch_is_selected="no"
+ local m_ip m_enable m_name
+
+ # 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
+ m_ip="${1}" # Grab the first param (HW IP for SGI)
+ shift # Shift the positions
+ m_name="${*}" # Get the rest (Name)
+
+ if use ${m_ip}; then
+ # Fetch the value indiciating if the machine is enabled or not
+ m_enable="DO_${m_ip/ip/IP}"
+ m_enable="${!m_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?
+ [ "${m_enable}" = "test" ] \
+ && err_disabled_mach "${m_name}" "${m_ip/ip/IP}" "${m_ip}" "test"
+ [ "${m_enable}" = "no" ] \
+ && err_disabled_mach "${m_name}" "${m_ip/ip/IP}" "${m_ip}"
+
+ # Show relevant information about the machine
+ show_${m_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
+}
diff --git a/sys-kernel/mips-sources/files/eblits/show_cobalt_info-v1.eblit b/sys-kernel/mips-sources/files/eblits/show_cobalt_info-v1.eblit
new file mode 100644
index 000000000000..70a11ec9e715
--- /dev/null
+++ b/sys-kernel/mips-sources/files/eblits/show_cobalt_info-v1.eblit
@@ -0,0 +1,21 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/mips-sources/files/eblits/show_cobalt_info-v1.eblit,v 1.1 2009/03/16 06:39:10 kumba Exp $
+
+# Eblit with information/warnings for Cobalt users.
+#
+# If you need to add whitespace for formatting in 'einfo', 'ewarn', or 'eerror', use
+# \040 for a space instead of the standard space. These functions will strip
+# redundant white space.
+
+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 ""
+}
diff --git a/sys-kernel/mips-sources/files/eblits/show_ip22_info-v1.eblit b/sys-kernel/mips-sources/files/eblits/show_ip22_info-v1.eblit
new file mode 100644
index 000000000000..75c7b94e10bd
--- /dev/null
+++ b/sys-kernel/mips-sources/files/eblits/show_ip22_info-v1.eblit
@@ -0,0 +1,25 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/mips-sources/files/eblits/show_ip22_info-v1.eblit,v 1.1 2009/03/16 06:39:09 kumba Exp $
+
+# Eblit with information/warnings for IP22 (Indy/Indigo2 R4x00) users.
+#
+# If you need to add whitespace for formatting in 'einfo', 'ewarn', or 'eerror', use
+# \040 for a space instead of the standard space. These functions will strip
+# redundant white space.
+
+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 ""
+}
diff --git a/sys-kernel/mips-sources/files/eblits/show_ip27_info-v1.eblit b/sys-kernel/mips-sources/files/eblits/show_ip27_info-v1.eblit
new file mode 100644
index 000000000000..4f4ea940f8ca
--- /dev/null
+++ b/sys-kernel/mips-sources/files/eblits/show_ip27_info-v1.eblit
@@ -0,0 +1,17 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/mips-sources/files/eblits/show_ip27_info-v1.eblit,v 1.1 2009/03/16 06:39:10 kumba Exp $
+
+# Eblit with information/warnings for IP27 (Origin 200/2000/Onyx2) users.
+#
+# If you need to add whitespace for formatting in 'einfo', 'ewarn', or 'eerror', use
+# \040 for a space instead of the standard space. These functions will strip
+# redundant white space.
+
+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 ""
+}
diff --git a/sys-kernel/mips-sources/files/eblits/show_ip28_info-v1.eblit b/sys-kernel/mips-sources/files/eblits/show_ip28_info-v1.eblit
new file mode 100644
index 000000000000..0ca1705ff528
--- /dev/null
+++ b/sys-kernel/mips-sources/files/eblits/show_ip28_info-v1.eblit
@@ -0,0 +1,19 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/mips-sources/files/eblits/show_ip28_info-v1.eblit,v 1.1 2009/03/16 06:39:10 kumba Exp $
+
+# Eblit with information/warnings for IP28 (Indigo2 Impact R10000) users.
+#
+# If you need to add whitespace for formatting in 'einfo', 'ewarn', or 'eerror', use
+# \040 for a space instead of the standard space. These functions will strip
+# redundant white space.
+
+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 ""
+}
diff --git a/sys-kernel/mips-sources/files/eblits/show_ip30_info-v1.eblit b/sys-kernel/mips-sources/files/eblits/show_ip30_info-v1.eblit
new file mode 100644
index 000000000000..111772579af6
--- /dev/null
+++ b/sys-kernel/mips-sources/files/eblits/show_ip30_info-v1.eblit
@@ -0,0 +1,27 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/mips-sources/files/eblits/show_ip30_info-v1.eblit,v 1.1 2009/03/16 06:39:10 kumba Exp $
+
+# Eblit with information/warnings for IP30 (Octane) users.
+#
+# If you need to add whitespace for formatting in 'einfo', 'ewarn', or 'eerror', use
+# \040 for a space instead of the standard space. These functions will strip
+# redundant white space.
+
+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 ""
+}
diff --git a/sys-kernel/mips-sources/files/eblits/show_ip32_info-v1.eblit b/sys-kernel/mips-sources/files/eblits/show_ip32_info-v1.eblit
new file mode 100644
index 000000000000..891ecb459210
--- /dev/null
+++ b/sys-kernel/mips-sources/files/eblits/show_ip32_info-v1.eblit
@@ -0,0 +1,49 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/mips-sources/files/eblits/show_ip32_info-v1.eblit,v 1.1 2009/03/16 06:39:10 kumba Exp $
+
+# Eblit with information/warnings for IP32 (O2) users.
+#
+# If you need to add whitespace for formatting in 'einfo', 'ewarn', or 'eerror', use
+# \040 for a space instead of the standard space. These functions will strip
+# redundant white space.
+
+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 "!!! 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."
+}
diff --git a/sys-kernel/mips-sources/files/eblits/src_unpack-v1.eblit b/sys-kernel/mips-sources/files/eblits/src_unpack-v1.eblit
new file mode 100644
index 000000000000..fc3de1c70c28
--- /dev/null
+++ b/sys-kernel/mips-sources/files/eblits/src_unpack-v1.eblit
@@ -0,0 +1,59 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/mips-sources/files/eblits/src_unpack-v1.eblit,v 1.1 2009/03/16 06:39:10 kumba Exp $
+
+# Eblit to handle src_unpack.
+
+eblit-mips-sources-src_unpack() {
+ # Unpack the kernel sources, update to the latest rev (if needed),
+ # and apply the latest patch from linux-mips git.
+ kernel-2_src_unpack
+
+ # Unpack the mips-sources patchset to ${WORKDIR}/mips-patches-${F_KV}.
+ echo -e ""
+ cd "${WORKDIR}"
+ unpack "${PN}-${F_KV}-patches-v${GENPATCHREV}.tar.bz2"
+
+ # Create a new folder, patch-symlinks, and create symlinks to
+ # mips-patches in there. If we want to exclude a patch, we'll
+ # just delete the symlink instead of the actual patch.
+ local psym="patch-symlinks"
+ mkdir "${psym}"
+ cd "${psym}"
+ for x in ../mips-patches-${F_KV}/*.patch; do
+ ln -s "${x}" "${x##../mips-patches-*/}"
+ done
+
+ # With symlinks created, setup the variables referencing external
+ # machine patches and if a machine USE flag is enabled, then unset
+ # its corresponding variable.
+ # See 0000_README for the patch numbers and their meanings.
+ local p_generic="501*"
+ local p_ip27="502*" p_ip28="503*" p_ip30="504*" p_ip32r10k="6001*"
+ use ip27 && unset p_generic p_ip27
+ use ip28 && unset p_ip28
+ use ip30 && unset p_generic p_ip30
+ use ip32r10k && unset p_ip32r10k
+
+ # Remove symlinks for any patches that we don't want applied. We do
+ # this by looping through all the above variables, and deleting
+ # matching symlinks that point to the corresponding patches.
+ # The remaining symlinks will be applied to the kernel source.
+ local patchlist="${p_generic} ${p_ip27} ${p_ip28} ${p_ip30} ${p_ip32r10k}"
+ for x in $patchlist; do rm -f "./${x}"; done
+
+ # Rename the source tree to match the linux-mips git checkout date and
+ # machine type.
+ local v="${F_KV}${EXTRAVERSION}-${GITDATE}"
+ for x in {ip27,ip28,ip30,cobalt}; do use ${x} && v="${v}.${x}" && break; done
+ mv "${WORKDIR}/linux-${F_KV}${EXTRAVERSION}" "${WORKDIR}/linux-${v}"
+ S="${WORKDIR}/linux-${v}"
+
+ # Now go into the kernel source and patch it.
+ cd "${S}"
+ epatch "${WORKDIR}/${psym}"/*.patch
+
+ # Set the EXTRAVERSION to linux-VERSION-mipsgit-GITDATE
+ EXTRAVERSION="${EXTRAVERSION}-mipsgit-${GITDATE}"
+ unpack_set_extraversion
+}