summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-kernel/sparc-sources')
-rw-r--r--sys-kernel/sparc-sources/ChangeLog7
-rw-r--r--sys-kernel/sparc-sources/files/2.4-sparc64-ramdisk64.patch67
-rw-r--r--sys-kernel/sparc-sources/sparc-sources-2.4.29.ebuild11
3 files changed, 80 insertions, 5 deletions
diff --git a/sys-kernel/sparc-sources/ChangeLog b/sys-kernel/sparc-sources/ChangeLog
index 613b2b6bd7d3..38a525923ba5 100644
--- a/sys-kernel/sparc-sources/ChangeLog
+++ b/sys-kernel/sparc-sources/ChangeLog
@@ -1,6 +1,11 @@
# ChangeLog for sys-kernel/sparc-sources
# Copyright 2002-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-kernel/sparc-sources/ChangeLog,v 1.79 2005/02/22 22:29:05 joker Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/sparc-sources/ChangeLog,v 1.80 2005/02/25 02:15:23 gustavoz Exp $
+
+ 24 Feb 2005; Gustavo Zacarias <gustavoz@gentoo.org>
+ +files/2.4-sparc64-ramdisk64.patch, sparc-sources-2.4.29.ebuild:
+ Fixed openprom typo, added in conditional livecd ramdisk rollback patch AKA
+ wookie
22 Feb 2005; Christian Birchinger <joker@gentoo.org>
-files/U1-hme-lockup.patch, -sparc-sources-2.4.28-r6.ebuild:
diff --git a/sys-kernel/sparc-sources/files/2.4-sparc64-ramdisk64.patch b/sys-kernel/sparc-sources/files/2.4-sparc64-ramdisk64.patch
new file mode 100644
index 000000000000..4548dda47d5a
--- /dev/null
+++ b/sys-kernel/sparc-sources/files/2.4-sparc64-ramdisk64.patch
@@ -0,0 +1,67 @@
+diff -Nura linux-2.4.29/arch/sparc64/kernel/head.S linux-2.4.29-sparc64-ramdisk64-rollback/arch/sparc64/kernel/head.S
+--- linux-2.4.29/arch/sparc64/kernel/head.S 2004-11-17 08:54:21.000000000 -0300
++++ linux-2.4.29-sparc64-ramdisk64-rollback/arch/sparc64/kernel/head.S 2005-02-24 18:30:47.000000000 -0300
+@@ -50,7 +50,7 @@
+ */
+ .global root_flags, ram_flags, root_dev
+ .global sparc_ramdisk_image, sparc_ramdisk_size
+- .global sparc_ramdisk_image64
++ .globl silo_args
+
+ .ascii "HdrS"
+ .word LINUX_VERSION_CODE
+@@ -61,7 +61,7 @@
+ * 0x0202 : Supports kernel params string
+ * 0x0201 : Supports reboot_command
+ */
+- .half 0x0301 /* HdrS version */
++ .half 0x0300 /* HdrS version */
+
+ root_flags:
+ .half 1
+@@ -75,8 +75,6 @@
+ .word 0
+ .xword reboot_command
+ .xword bootstr_info
+-sparc_ramdisk_image64:
+- .xword 0
+ .word _end
+
+ /* We must be careful, 32-bit OpenBOOT will get confused if it
+diff -Nura linux-2.4.29/arch/sparc64/mm/init.c linux-2.4.29-sparc64-ramdisk64-rollback/arch/sparc64/mm/init.c
+--- linux-2.4.29/arch/sparc64/mm/init.c 2004-11-17 08:54:21.000000000 -0300
++++ linux-2.4.29-sparc64-ramdisk64-rollback/arch/sparc64/mm/init.c 2005-02-24 18:35:09.000000000 -0300
+@@ -63,7 +63,6 @@
+ unsigned long mmu_context_bmap[CTX_BMAP_SLOTS];
+
+ /* Initial ramdisk setup */
+-extern unsigned long sparc_ramdisk_image64;
+ extern unsigned int sparc_ramdisk_image;
+ extern unsigned int sparc_ramdisk_size;
+
+@@ -1252,12 +1251,10 @@
+
+ #ifdef CONFIG_BLK_DEV_INITRD
+ /* Now have to check initial ramdisk, so that bootmap does not overwrite it */
+- if (sparc_ramdisk_image || sparc_ramdisk_image64) {
+- unsigned long ramdisk_image = sparc_ramdisk_image ?
+- sparc_ramdisk_image : sparc_ramdisk_image64;
+- if (ramdisk_image >= (unsigned long)&_end - 2 * PAGE_SIZE)
+- ramdisk_image -= KERNBASE;
+- initrd_start = ramdisk_image + phys_base;
++ if (sparc_ramdisk_image) {
++ if (sparc_ramdisk_image >= (unsigned long)&_end - 2 * PAGE_SIZE)
++ sparc_ramdisk_image -= KERNBASE;
++ initrd_start = sparc_ramdisk_image + phys_base;
+ initrd_end = initrd_start + sparc_ramdisk_size;
+ if (initrd_end > end_of_phys_memory) {
+ printk(KERN_CRIT "initrd extends beyond end of memory "
+@@ -1360,7 +1357,7 @@
+ if ((real_end > ((unsigned long)KERNBASE + 0x400000)))
+ bigkernel = 1;
+ #ifdef CONFIG_BLK_DEV_INITRD
+- if (sparc_ramdisk_image || sparc_ramdisk_image64)
++ if (sparc_ramdisk_image)
+ real_end = (PAGE_ALIGN(real_end) + PAGE_ALIGN(sparc_ramdisk_size));
+ #endif
+
diff --git a/sys-kernel/sparc-sources/sparc-sources-2.4.29.ebuild b/sys-kernel/sparc-sources/sparc-sources-2.4.29.ebuild
index 05428ab7d68f..b6ef6b17123a 100644
--- a/sys-kernel/sparc-sources/sparc-sources-2.4.29.ebuild
+++ b/sys-kernel/sparc-sources/sparc-sources-2.4.29.ebuild
@@ -1,9 +1,9 @@
# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-kernel/sparc-sources/sparc-sources-2.4.29.ebuild,v 1.2 2005/02/15 23:29:48 joker Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/sparc-sources/sparc-sources-2.4.29.ebuild,v 1.3 2005/02/25 02:15:23 gustavoz Exp $
ETYPE="sources"
-IUSE="ultra1"
+IUSE="livecd ultra1"
inherit kernel-2
detect_version
@@ -13,18 +13,21 @@ SSV_URI="mirror://gentoo/patches-${PATCH_BASE}.tar.bz2"
KEYWORDS="-* sparc"
DESCRIPTION="Full sources for the Gentoo Sparc Linux kernel"
-UNIPATCH_LIST="${DISTDIR}/patches-${PATCH_BASE}.tar.bz2"
+UNIPATCH_LIST="${DISTDIR}/patches-${PATCH_BASE}.tar.bz2
+ ${FILESDIR}/2.4-sparc64-ramdisk64.patch"
SRC_URI="${KERNEL_URI} ${SSV_URI}"
HOMEPAGE="http://www.kernel.org/ http://www.gentoo.org"
pkg_setup() {
use ultra1 || UNIPATCH_EXCLUDE="${UNIPATCH_EXCLUDE} 2000_U1-hme-lockup.patch"
+ use livecd || UNIPATCH_EXCLUDE="${UNIPATCH_EXCLUDE}
+ 2.4-sparc64-ramdisk64.patch"
}
pkg_postinst() {
postinst_sources
- if [ ! -r "/proc/openprom/name" -o "at /proc/openprom/name 2>/dev/null" = "'SUNW,Ultra-1'" ]; then
+ if [ ! -r "/proc/openprom/name" -o "cat /proc/openprom/name 2>/dev/null" = "'SUNW,Ultra-1'" ]; then
einfo
einfo "For users with an Enterprise model Ultra 1 using the HME network interface,"
einfo "please emerge the kernel using the following command:"