diff options
author | Bob Johnson <livewire@gentoo.org> | 2003-06-01 20:15:28 +0000 |
---|---|---|
committer | Bob Johnson <livewire@gentoo.org> | 2003-06-01 20:15:28 +0000 |
commit | b0873947795baa1acafdffd727a7df80b66abf75 (patch) | |
tree | 845b5c7f58a3ce9bfff12528c8020843f1268376 /sys-kernel | |
parent | *** empty log message *** (diff) | |
download | gentoo-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/ChangeLog | 2 | ||||
-rw-r--r-- | sys-kernel/gs-sources/Manifest | 4 | ||||
-rw-r--r-- | sys-kernel/gs-sources/files/00_3.5-useraddress.patch | 244 | ||||
-rw-r--r-- | sys-kernel/gs-sources/files/digest-gs-sources-2.4.21_rc2 | 2 | ||||
-rw-r--r-- | sys-kernel/gs-sources/gs-sources-2.4.21_rc6.ebuild | 10 |
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 + } |