summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBob Johnson <livewire@gentoo.org>2003-06-01 20:15:28 +0000
committerBob Johnson <livewire@gentoo.org>2003-06-01 20:15:28 +0000
commitb0873947795baa1acafdffd727a7df80b66abf75 (patch)
tree845b5c7f58a3ce9bfff12528c8020843f1268376 /sys-kernel
parent*** empty log message *** (diff)
downloadgentoo-2-b0873947795baa1acafdffd727a7df80b66abf75.tar.gz
gentoo-2-b0873947795baa1acafdffd727a7df80b66abf75.tar.bz2
gentoo-2-b0873947795baa1acafdffd727a7df80b66abf75.zip
*** empty log message ***
Diffstat (limited to 'sys-kernel')
-rw-r--r--sys-kernel/gs-sources/ChangeLog2
-rw-r--r--sys-kernel/gs-sources/Manifest4
-rw-r--r--sys-kernel/gs-sources/files/00_3.5-useraddress.patch244
-rw-r--r--sys-kernel/gs-sources/files/digest-gs-sources-2.4.21_rc22
-rw-r--r--sys-kernel/gs-sources/gs-sources-2.4.21_rc6.ebuild10
5 files changed, 254 insertions, 8 deletions
diff --git a/sys-kernel/gs-sources/ChangeLog b/sys-kernel/gs-sources/ChangeLog
index 574d2a237df9..ba5d06a8db18 100644
--- a/sys-kernel/gs-sources/ChangeLog
+++ b/sys-kernel/gs-sources/ChangeLog
@@ -1,6 +1,6 @@
# ChangeLog for sys-kernel/gs-sources
# Copyright 2002-2003 Gentoo Technologies, Inc.; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-kernel/gs-sources/ChangeLog,v 1.16 2003/06/01 17:53:20 livewire Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/gs-sources/ChangeLog,v 1.17 2003/06/01 20:15:02 livewire Exp $
gs-sources-2.4.21_rc6 (01 June 2003)
diff --git a/sys-kernel/gs-sources/Manifest b/sys-kernel/gs-sources/Manifest
index 776a7aa4e8b4..2f49e6271270 100644
--- a/sys-kernel/gs-sources/Manifest
+++ b/sys-kernel/gs-sources/Manifest
@@ -1,10 +1,10 @@
MD5 3663ac99fa6ad2eb6584554e34407962 gs-sources-2.4.21_rc1-r1.ebuild 1950
-MD5 7247168d2745480962334d0d088b3b5a gs-sources-2.4.21_rc6.ebuild 2095
+MD5 c14f4400b54f04a9b1d6771b064f7434 gs-sources-2.4.21_rc6.ebuild 2095
MD5 ee1ca492f71b77580676aee0ae0b25c8 gs-sources-2.4.21_rc1.ebuild 1941
MD5 1efb32254b680fb1f5cdb68d663bbafd gs-sources-2.4.21_pre7.ebuild 1943
MD5 82e338da2ba626361ffc3f7cdadf1b81 gs-sources-2.4.21_pre7-r1.ebuild 1953
MD5 eb3897321a1b2cdf672954d805acec3e gs-sources-2.4.21_rc2.ebuild 1940
-MD5 1eca789b359d8aa2b73a0b762ad71d20 ChangeLog 3491
+MD5 1967aee97ec178e07f7d9e67142fb31b ChangeLog 3491
MD5 1d84ead5da2fdae8a336c41ccfe2d2ad files/digest-gs-sources-2.4.21_pre7 280
MD5 ec2af610cc4d00ceac01e106084647ef files/digest-gs-sources-2.4.21_pre7-r1 147
MD5 a3ec1083055b245758b2262dd2245145 files/pci.ids.patch 3376
diff --git a/sys-kernel/gs-sources/files/00_3.5-useraddress.patch b/sys-kernel/gs-sources/files/00_3.5-useraddress.patch
new file mode 100644
index 000000000000..a74b1ca69e70
--- /dev/null
+++ b/sys-kernel/gs-sources/files/00_3.5-useraddress.patch
@@ -0,0 +1,244 @@
+diff -uNr orig/Rules.make linux-2.4.21_rc6-gss/Rules.make
+--- orig/Rules.make 2003-06-01 14:33:49.000000000 -0500
++++ linux-2.4.21_rc6-gss/Rules.make 2003-06-01 14:39:47.000000000 -0500
+@@ -215,6 +215,7 @@
+ #
+ # Added the SMP separator to stop module accidents between uniprocessor
+ # and SMP Intel boxes - AC - from bits by Michael Chastain
++# Added separator for different PAGE_OFFSET memory models - Ingo.
+ #
+
+ ifdef CONFIG_SMP
+@@ -223,6 +224,22 @@
+ genksyms_smp_prefix :=
+ endif
+
++ifdef CONFIG_2GB
++ifdef CONFIG_SMP
++ genksyms_smp_prefix := -p smp_2gig_
++else
++ genksyms_smp_prefix := -p 2gig_
++endif
++endif
++
++ifdef CONFIG_3GB
++ifdef CONFIG_SMP
++ genksyms_smp_prefix := -p smp_3gig_
++else
++ genksyms_smp_prefix := -p 3gig_
++endif
++endif
++
+ $(MODINCL)/%.ver: %.c
+ @if [ ! -r $(MODINCL)/$*.stamp -o $(MODINCL)/$*.stamp -ot $< ]; then \
+ echo '$(CC) $(CFLAGS) $(EXTRA_CFLAGS_nostdinc) -E -D__GENKSYMS__ $<'; \
+diff -uNr orig/arch/i386/Makefile linux-2.4.21_rc6-gss/arch/i386/Makefile
+--- orig/arch/i386/Makefile 2003-06-01 14:33:28.000000000 -0500
++++ linux-2.4.21_rc6-gss/arch/i386/Makefile 2003-06-01 14:39:47.000000000 -0500
+@@ -171,6 +171,9 @@
+
+ MAKEBOOT = $(MAKE) -C arch/$(ARCH)/boot
+
++arch/i386/vmlinux.lds: arch/i386/vmlinux.lds.S FORCE
++ $(CPP) -C -P -I$(HPATH) -imacros $(HPATH)/asm-i386/page_offset.h -Ui386 arch/i386/vmlinux.lds.S >arch/i386/vmlinux.lds
++
+ vmlinux: arch/i386/vmlinux.lds
+
+ FORCE: ;
+@@ -207,6 +210,7 @@
+ @$(MAKEBOOT) clean
+
+ archmrproper:
++ rm -f arch/i386/vmlinux.lds
+
+ archdep:
+ @$(MAKEBOOT) dep
+diff -uNr orig/arch/i386/config.in linux-2.4.21_rc6-gss/arch/i386/config.in
+--- orig/arch/i386/config.in 2003-06-01 14:33:28.000000000 -0500
++++ linux-2.4.21_rc6-gss/arch/i386/config.in 2003-06-01 14:39:47.000000000 -0500
+@@ -297,6 +297,16 @@
+ fi
+ if [ "$CONFIG_HIGHMEM64G" = "y" ]; then
+ define_bool CONFIG_X86_PAE y
++ choice 'User address space size' \
++ "3GB CONFIG_1GB \
++ 2GB CONFIG_2GB \
++ 1GB CONFIG_3GB" 3GB
++else
++ choice 'User address space size' \
++ "3GB CONFIG_1GB \
++ 2GB CONFIG_2GB \
++ 1GB CONFIG_3GB \
++ 3.5GB CONFIG_05GB" 3GB
+ fi
+
+ if [ "$CONFIG_HIGHMEM" = "y" ]; then
+diff -uNr orig/arch/i386/vmlinux.lds.S linux-2.4.21_rc6-gss/arch/i386/vmlinux.lds.S
+--- orig/arch/i386/vmlinux.lds.S 1969-12-31 19:00:00.000000000 -0500
++++ linux-2.4.21_rc6-gss/arch/i386/vmlinux.lds.S 2003-06-01 14:39:49.000000000 -0500
+@@ -0,0 +1,82 @@
++/* ld script to make i386 Linux kernel
++ * Written by Martin Mares <mj@atrey.karlin.mff.cuni.cz>;
++ */
++OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386")
++OUTPUT_ARCH(i386)
++ENTRY(_start)
++SECTIONS
++{
++ . = PAGE_OFFSET_RAW + 0x100000;
++ _text = .; /* Text and read-only data */
++ .text : {
++ *(.text)
++ *(.fixup)
++ *(.gnu.warning)
++ } = 0x9090
++
++ _etext = .; /* End of text section */
++
++ .rodata : { *(.rodata) *(.rodata.*) }
++ .kstrtab : { *(.kstrtab) }
++
++ . = ALIGN(16); /* Exception table */
++ __start___ex_table = .;
++ __ex_table : { *(__ex_table) }
++ __stop___ex_table = .;
++
++ __start___ksymtab = .; /* Kernel symbol table */
++ __ksymtab : { *(__ksymtab) }
++ __stop___ksymtab = .;
++
++ .data : { /* Data */
++ *(.data)
++ CONSTRUCTORS
++ }
++
++ _edata = .; /* End of data section */
++
++ . = ALIGN(8192); /* init_task */
++ .data.init_task : { *(.data.init_task) }
++
++ . = ALIGN(4096); /* Init code and data */
++ __init_begin = .;
++ .text.init : { *(.text.init) }
++ .data.init : { *(.data.init) }
++ . = ALIGN(16);
++ __setup_start = .;
++ .setup.init : { *(.setup.init) }
++ __setup_end = .;
++ __initcall_start = .;
++ .initcall.init : { *(.initcall.init) }
++ __initcall_end = .;
++ . = ALIGN(4096);
++ __init_end = .;
++
++ . = ALIGN(4096);
++ .data.page_aligned : { *(.data.idt) }
++
++ . = ALIGN(32);
++ .data.cacheline_aligned : { *(.data.cacheline_aligned) }
++
++ __bss_start = .; /* BSS */
++ .bss : {
++ *(.bss)
++ }
++ _end = . ;
++
++ /* Sections to be discarded */
++ /DISCARD/ : {
++ *(.text.exit)
++ *(.data.exit)
++ *(.exitcall.exit)
++ }
++
++ /* Stabs debugging sections. */
++ .stab 0 : { *(.stab) }
++ .stabstr 0 : { *(.stabstr) }
++ .stab.excl 0 : { *(.stab.excl) }
++ .stab.exclstr 0 : { *(.stab.exclstr) }
++ .stab.index 0 : { *(.stab.index) }
++ .stab.indexstr 0 : { *(.stab.indexstr) }
++ .comment 0 : { *(.comment) }
++}
+diff -uNr orig/include/asm-i386/page.h linux-2.4.21_rc6-gss/include/asm-i386/page.h
+--- orig/include/asm-i386/page.h 2003-06-01 14:34:04.000000000 -0500
++++ linux-2.4.21_rc6-gss/include/asm-i386/page.h 2003-06-01 14:39:49.000000000 -0500
+@@ -78,7 +78,9 @@
+ * and CONFIG_HIGHMEM64G options in the kernel configuration.
+ */
+
+-#define __PAGE_OFFSET (0xC0000000)
++#include <asm/page_offset.h>
++
++#define __PAGE_OFFSET (PAGE_OFFSET_RAW)
+
+ /*
+ * This much address space is reserved for vmalloc() and iomap()
+diff -uNr orig/include/asm-i386/page_offset.h linux-2.4.21_rc6-gss/include/asm-i386/page_offset.h
+--- orig/include/asm-i386/page_offset.h 1969-12-31 19:00:00.000000000 -0500
++++ linux-2.4.21_rc6-gss/include/asm-i386/page_offset.h 2003-06-01 14:39:49.000000000 -0500
+@@ -0,0 +1,10 @@
++#include <linux/config.h>
++#ifdef CONFIG_05GB
++#define PAGE_OFFSET_RAW 0xE0000000
++#elif defined(CONFIG_1GB)
++#define PAGE_OFFSET_RAW 0xC0000000
++#elif defined(CONFIG_2GB)
++#define PAGE_OFFSET_RAW 0x80000000
++#elif defined(CONFIG_3GB)
++#define PAGE_OFFSET_RAW 0x40000000
++#endif
+diff -uNr orig/include/asm-i386/processor.h linux-2.4.21_rc6-gss/include/asm-i386/processor.h
+--- orig/include/asm-i386/processor.h 2003-06-01 14:34:04.000000000 -0500
++++ linux-2.4.21_rc6-gss/include/asm-i386/processor.h 2003-06-01 14:39:49.000000000 -0500
+@@ -275,7 +275,11 @@
+ /* This decides where the kernel will search for a free chunk of vm
+ * space during mmap's.
+ */
++#ifndef CONFIG_05GB
+ #define TASK_UNMAPPED_BASE (TASK_SIZE / 3)
++#else
++#define TASK_UNMAPPED_BASE (TASK_SIZE / 16)
++#endif
+
+ /*
+ * Size of io_bitmap in longwords: 32 is ports 0-0x3ff.
+diff -uNr orig/mm/memory.c linux-2.4.21_rc6-gss/mm/memory.c
+--- orig/mm/memory.c 2003-06-01 14:33:25.000000000 -0500
++++ linux-2.4.21_rc6-gss/mm/memory.c 2003-06-01 14:39:49.000000000 -0500
+@@ -108,8 +108,7 @@
+
+ static inline void free_one_pgd(pgd_t * dir)
+ {
+- int j;
+- pmd_t * pmd;
++ pmd_t * pmd, * md, * emd;
+
+ if (pgd_none(*dir))
+ return;
+@@ -120,9 +119,23 @@
+ }
+ pmd = pmd_offset(dir, 0);
+ pgd_clear(dir);
+- for (j = 0; j < PTRS_PER_PMD ; j++) {
+- prefetchw(pmd+j+(PREFETCH_STRIDE/16));
+- free_one_pmd(pmd+j);
++
++ /*
++ * Beware if changing the loop below. It once used int j,
++ * for (j = 0; j < PTRS_PER_PMD; j++)
++ * free_one_pmd(pmd+j);
++ * but some older i386 compilers (e.g. egcs-2.91.66, gcc-2.95.3)
++ * terminated the loop with a _signed_ address comparison
++ * using "jle", when configured for HIGHMEM64GB (X86_PAE).
++ * If also configured for 3GB of kernel virtual address space,
++ * if page at physical 0x3ffff000 virtual 0x7ffff000 is used as
++ * a pmd, when that mm exits the loop goes on to free "entries"
++ * found at 0x80000000 onwards. The loop below compiles instead
++ * to be terminated by unsigned address comparison using "jb".
++ */
++ for (md = pmd, emd = pmd + PTRS_PER_PMD; md < emd; md++) {
++ prefetchw(md+(PREFETCH_STRIDE/16));
++ free_one_pmd(md);
+ }
+ pmd_free(pmd);
+ }
diff --git a/sys-kernel/gs-sources/files/digest-gs-sources-2.4.21_rc2 b/sys-kernel/gs-sources/files/digest-gs-sources-2.4.21_rc2
index d944d29aefec..f0311171e5d4 100644
--- a/sys-kernel/gs-sources/files/digest-gs-sources-2.4.21_rc2
+++ b/sys-kernel/gs-sources/files/digest-gs-sources-2.4.21_rc2
@@ -1,2 +1,2 @@
MD5 c439d5c93d7fc9a1480a90842465bb97 linux-2.4.20.tar.bz2 27421046
-MD5 d2cb5c80043abfd143b59d222cbf8220 patches-2.4.21_rc2-gss.tar.bz2 6943315
+MD5 4f4e74d6bfa090f6a2bcafcae722b73c patches-2.4.21_rc2-gss.tar.bz2 6944484
diff --git a/sys-kernel/gs-sources/gs-sources-2.4.21_rc6.ebuild b/sys-kernel/gs-sources/gs-sources-2.4.21_rc6.ebuild
index 5013aa121dea..7a7fda65916e 100644
--- a/sys-kernel/gs-sources/gs-sources-2.4.21_rc6.ebuild
+++ b/sys-kernel/gs-sources/gs-sources-2.4.21_rc6.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2003 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-kernel/gs-sources/gs-sources-2.4.21_rc6.ebuild,v 1.2 2003/06/01 18:23:14 livewire Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/gs-sources/gs-sources-2.4.21_rc6.ebuild,v 1.3 2003/06/01 20:15:02 livewire Exp $
IUSE="build crypt"
@@ -31,15 +31,14 @@ DESCRIPTION="This kernel stays up to date with current kernel -pres,
with recent acpi,evms,win3lin ,futexes,aic79xx,
superfreeswan,preempt/ll, and various hw fixes."
SRC_URI="http://www.kernel.org/pub/linux/kernel/v2.4/linux-${OKV}.tar.bz2
- mirror://gentoo/patches-${KV}.tar.bz2"
+ http://gentoo.lostlogicx.com/patches-${KV}.tar.bz2"
KEYWORDS="x86 -ppc -sparc "
SLOT="${KV}"
src_unpack() {
unpack ${A}
mv linux-${OKV} linux-${KV} || die
-
- cd ${KV}
+ cd ${KV} || die
# Kill patches we aren't suppposed to use, don't worry about
# failures, if they aren't there that is a good thing!
# This is the ratified crypt USE flag, enables IPSEC and patch-int
@@ -54,4 +53,7 @@ src_unpack() {
fi
kernel_src_unpack
+ cd ${WORKDIR}/linux-${KV} || die
+ patch -p1 <${FILESDIR}/00_3.5-useraddress.patch || die
+
}