r4187 - in dists/trunk/linux-2.6/debian: . patches-arch
Christian T. Steigies
cts at costa.debian.org
Tue Sep 13 22:30:59 UTC 2005
Author: cts
Date: 2005-09-13 22:30:58 +0000 (Tue, 13 Sep 2005)
New Revision: 4187
Modified:
dists/trunk/linux-2.6/debian/changelog
dists/trunk/linux-2.6/debian/patches-arch/m68k.diff
Log:
update m68k.diff for linux-2.6.13
Modified: dists/trunk/linux-2.6/debian/changelog
===================================================================
--- dists/trunk/linux-2.6/debian/changelog 2005-09-13 21:50:53 UTC (rev 4186)
+++ dists/trunk/linux-2.6/debian/changelog 2005-09-13 22:30:58 UTC (rev 4187)
@@ -29,6 +29,11 @@
* Move audit and preempt settings to core config file.
* Fix powerpc configuration.
+ [ Christian T. Steigies ]
+ * update m68k.diff for linux-2.6.13
+ * add m68k-42_dma.patch and m68k-sonic.patch that will be in upstream 2.6.14
+ (which makes sun3 build fail, needs fixing)
+
-- Bastian Blank <waldi at debian.org> Mon, 12 Sep 2005 19:01:53 +0000
linux-2.6 (2.6.12-6) unstable; urgency=high
Modified: dists/trunk/linux-2.6/debian/patches-arch/m68k.diff
===================================================================
--- dists/trunk/linux-2.6/debian/patches-arch/m68k.diff 2005-09-13 21:50:53 UTC (rev 4186)
+++ dists/trunk/linux-2.6/debian/patches-arch/m68k.diff 2005-09-13 22:30:58 UTC (rev 4187)
@@ -1,6 +1,6 @@
-diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.12-i386/Makefile linux-2.6.12/Makefile
---- linux-2.6.12-i386/Makefile 2005-06-17 21:48:29.000000000 +0200
-+++ linux-2.6.12/Makefile 2005-06-19 16:31:23.000000000 +0200
+diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.13-i386/Makefile linux-2.6.13/Makefile
+--- linux-2.6.13-i386/Makefile 2005-08-29 01:41:01.000000000 +0200
++++ linux-2.6.13/Makefile 2005-08-30 16:30:50.000000000 +0200
@@ -190,7 +190,7 @@
# Default value for CROSS_COMPILE is not to prefix executables
# Note: Some architectures assign CROSS_COMPILE in their arch/*/Makefile
@@ -10,9 +10,9 @@
CROSS_COMPILE ?=
# Architecture as present in compile.h
-diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.12-i386/arch/m68k/fpsp040/skeleton.S linux-2.6.12/arch/m68k/fpsp040/skeleton.S
---- linux-2.6.12-i386/arch/m68k/fpsp040/skeleton.S 2005-06-17 21:48:29.000000000 +0200
-+++ linux-2.6.12/arch/m68k/fpsp040/skeleton.S 2005-05-30 16:31:21.000000000 +0200
+diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.13-i386/arch/m68k/fpsp040/skeleton.S linux-2.6.13/arch/m68k/fpsp040/skeleton.S
+--- linux-2.6.13-i386/arch/m68k/fpsp040/skeleton.S 2005-08-29 01:41:01.000000000 +0200
++++ linux-2.6.13/arch/m68k/fpsp040/skeleton.S 2005-05-30 16:31:21.000000000 +0200
@@ -381,10 +381,8 @@
.Lnotkern:
SAVE_ALL_INT
@@ -26,9 +26,9 @@
|
| mem_write --- write to user or supervisor address space
-diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.12-i386/arch/m68k/ifpsp060/iskeleton.S linux-2.6.12/arch/m68k/ifpsp060/iskeleton.S
---- linux-2.6.12-i386/arch/m68k/ifpsp060/iskeleton.S 2005-06-17 21:48:29.000000000 +0200
-+++ linux-2.6.12/arch/m68k/ifpsp060/iskeleton.S 2005-05-30 16:31:22.000000000 +0200
+diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.13-i386/arch/m68k/ifpsp060/iskeleton.S linux-2.6.13/arch/m68k/ifpsp060/iskeleton.S
+--- linux-2.6.13-i386/arch/m68k/ifpsp060/iskeleton.S 2005-08-29 01:41:01.000000000 +0200
++++ linux-2.6.13/arch/m68k/ifpsp060/iskeleton.S 2005-05-30 16:31:22.000000000 +0200
@@ -75,10 +75,8 @@
.Lnotkern:
SAVE_ALL_INT
@@ -42,9 +42,9 @@
|
| _060_real_chk():
-diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.12-i386/arch/m68k/kernel/asm-offsets.c linux-2.6.12/arch/m68k/kernel/asm-offsets.c
---- linux-2.6.12-i386/arch/m68k/kernel/asm-offsets.c 2005-06-17 21:48:29.000000000 +0200
-+++ linux-2.6.12/arch/m68k/kernel/asm-offsets.c 2005-05-30 16:31:22.000000000 +0200
+diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.13-i386/arch/m68k/kernel/asm-offsets.c linux-2.6.13/arch/m68k/kernel/asm-offsets.c
+--- linux-2.6.13-i386/arch/m68k/kernel/asm-offsets.c 2005-08-29 01:41:01.000000000 +0200
++++ linux-2.6.13/arch/m68k/kernel/asm-offsets.c 2005-05-30 16:31:22.000000000 +0200
@@ -25,12 +25,8 @@
DEFINE(TASK_STATE, offsetof(struct task_struct, state));
DEFINE(TASK_FLAGS, offsetof(struct task_struct, flags));
@@ -70,9 +70,9 @@
/* offsets into the pt_regs */
DEFINE(PT_D0, offsetof(struct pt_regs, d0));
DEFINE(PT_ORIG_D0, offsetof(struct pt_regs, orig_d0));
-diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.12-i386/arch/m68k/kernel/bios32.c linux-2.6.12/arch/m68k/kernel/bios32.c
---- linux-2.6.12-i386/arch/m68k/kernel/bios32.c 2005-06-17 21:48:29.000000000 +0200
-+++ linux-2.6.12/arch/m68k/kernel/bios32.c 2004-10-20 16:38:00.000000000 +0200
+diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.13-i386/arch/m68k/kernel/bios32.c linux-2.6.13/arch/m68k/kernel/bios32.c
+--- linux-2.6.13-i386/arch/m68k/kernel/bios32.c 2005-08-29 01:41:01.000000000 +0200
++++ linux-2.6.13/arch/m68k/kernel/bios32.c 2004-10-20 16:38:00.000000000 +0200
@@ -285,7 +285,7 @@
DBG_DEVS(("layout_bus: starting bus %d\n", bus->number));
@@ -82,9 +82,9 @@
return;
/*
-diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.12-i386/arch/m68k/kernel/entry.S linux-2.6.12/arch/m68k/kernel/entry.S
---- linux-2.6.12-i386/arch/m68k/kernel/entry.S 2005-06-17 21:48:29.000000000 +0200
-+++ linux-2.6.12/arch/m68k/kernel/entry.S 2005-05-30 16:31:22.000000000 +0200
+diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.13-i386/arch/m68k/kernel/entry.S linux-2.6.13/arch/m68k/kernel/entry.S
+--- linux-2.6.13-i386/arch/m68k/kernel/entry.S 2005-08-29 01:41:01.000000000 +0200
++++ linux-2.6.13/arch/m68k/kernel/entry.S 2005-05-30 16:31:22.000000000 +0200
@@ -44,9 +44,7 @@
#include <asm/offsets.h>
@@ -249,41 +249,43 @@
pea ret_from_exception
jra do_softirq
-diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.12-i386/arch/m68k/kernel/m68k_ksyms.c linux-2.6.12/arch/m68k/kernel/m68k_ksyms.c
---- linux-2.6.12-i386/arch/m68k/kernel/m68k_ksyms.c 2005-06-17 21:48:29.000000000 +0200
-+++ linux-2.6.12/arch/m68k/kernel/m68k_ksyms.c 2004-10-20 16:38:00.000000000 +0200
-@@ -46,6 +46,7 @@
- EXPORT_SYMBOL(iounmap);
- EXPORT_SYMBOL(kernel_set_cachemode);
- #endif /* !CONFIG_SUN3 */
-+EXPORT_SYMBOL(flush_icache_user_range);
- EXPORT_SYMBOL(m68k_debug_device);
- EXPORT_SYMBOL(mach_hwclk);
- EXPORT_SYMBOL(mach_get_ss);
-diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.12-i386/arch/m68k/kernel/process.c linux-2.6.12/arch/m68k/kernel/process.c
---- linux-2.6.12-i386/arch/m68k/kernel/process.c 2005-06-17 21:48:29.000000000 +0200
-+++ linux-2.6.12/arch/m68k/kernel/process.c 2004-10-20 16:38:00.000000000 +0200
-@@ -245,7 +245,7 @@
+diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.13-i386/arch/m68k/kernel/m68k_ksyms.c linux-2.6.13/arch/m68k/kernel/m68k_ksyms.c
+--- linux-2.6.13-i386/arch/m68k/kernel/m68k_ksyms.c 2005-08-29 01:41:01.000000000 +0200
++++ linux-2.6.13/arch/m68k/kernel/m68k_ksyms.c 2005-08-30 16:31:36.000000000 +0200
+@@ -74,9 +74,6 @@
+ EXPORT_SYMBOL(__ashldi3);
+ EXPORT_SYMBOL(__ashrdi3);
+ EXPORT_SYMBOL(__lshrdi3);
+-EXPORT_SYMBOL(memcpy);
+-EXPORT_SYMBOL(memset);
+-EXPORT_SYMBOL(memcmp);
+ EXPORT_SYMBOL(memscan);
+ EXPORT_SYMBOL(__muldi3);
+
+diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.13-i386/arch/m68k/kernel/process.c linux-2.6.13/arch/m68k/kernel/process.c
+--- linux-2.6.13-i386/arch/m68k/kernel/process.c 2005-08-29 01:41:01.000000000 +0200
++++ linux-2.6.13/arch/m68k/kernel/process.c 2005-08-30 16:31:36.000000000 +0200
+@@ -239,7 +239,7 @@
unsigned long stack_offset, *retp;
stack_offset = THREAD_SIZE - sizeof(struct pt_regs);
- childregs = (struct pt_regs *) ((unsigned long) (p->thread_info) + stack_offset);
-+ childregs = (struct pt_regs *) ((unsigned long) (p->stack) + stack_offset);
++ childregs = (struct pt_regs *) ((unsigned long)p->stack + stack_offset);
*childregs = *regs;
childregs->d0 = 0;
-@@ -390,7 +390,7 @@
+@@ -384,7 +384,7 @@
if (!p || p == current || p->state == TASK_RUNNING)
return 0;
- stack_page = (unsigned long)(p->thread_info);
-+ stack_page = (unsigned long)(p->stack);
++ stack_page = (unsigned long)p->stack;
fp = ((struct switch_stack *)p->thread.ksp)->a6;
do {
if (fp < stack_page+sizeof(struct thread_info) ||
-diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.12-i386/arch/m68k/kernel/ptrace.c linux-2.6.12/arch/m68k/kernel/ptrace.c
---- linux-2.6.12-i386/arch/m68k/kernel/ptrace.c 2005-06-17 21:48:29.000000000 +0200
-+++ linux-2.6.12/arch/m68k/kernel/ptrace.c 2005-06-19 16:32:04.000000000 +0200
+diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.13-i386/arch/m68k/kernel/ptrace.c linux-2.6.13/arch/m68k/kernel/ptrace.c
+--- linux-2.6.13-i386/arch/m68k/kernel/ptrace.c 2005-08-29 01:41:01.000000000 +0200
++++ linux-2.6.13/arch/m68k/kernel/ptrace.c 2005-06-19 16:32:04.000000000 +0200
@@ -95,7 +95,7 @@
if (regno == PT_USP)
addr = &task->thread.usp;
@@ -741,9 +743,425 @@
ptrace_notify(SIGTRAP | ((current->ptrace & PT_TRACESYSGOOD)
? 0x80 : 0));
/*
-diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.12-i386/arch/m68k/mm/Makefile linux-2.6.12/arch/m68k/mm/Makefile
---- linux-2.6.12-i386/arch/m68k/mm/Makefile 2005-06-17 21:48:29.000000000 +0200
-+++ linux-2.6.12/arch/m68k/mm/Makefile 2004-02-06 14:59:40.000000000 +0100
+diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.13-i386/arch/m68k/lib/Makefile linux-2.6.13/arch/m68k/lib/Makefile
+--- linux-2.6.13-i386/arch/m68k/lib/Makefile 2005-08-29 01:41:01.000000000 +0200
++++ linux-2.6.13/arch/m68k/lib/Makefile 2005-08-30 16:31:36.000000000 +0200
+@@ -5,4 +5,4 @@
+ EXTRA_AFLAGS := -traditional
+
+ lib-y := ashldi3.o ashrdi3.o lshrdi3.o muldi3.o \
+- checksum.o memcmp.o memcpy.o memset.o semaphore.o
++ checksum.o string.o semaphore.o
+diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.13-i386/arch/m68k/lib/memcmp.c linux-2.6.13/arch/m68k/lib/memcmp.c
+--- linux-2.6.13-i386/arch/m68k/lib/memcmp.c 2005-08-29 01:41:01.000000000 +0200
++++ linux-2.6.13/arch/m68k/lib/memcmp.c 1970-01-01 01:00:00.000000000 +0100
+@@ -1,11 +0,0 @@
+-#include <linux/types.h>
+-
+-int memcmp(const void * cs,const void * ct,size_t count)
+-{
+- const unsigned char *su1, *su2;
+-
+- for( su1 = cs, su2 = ct; 0 < count; ++su1, ++su2, count--)
+- if (*su1 != *su2)
+- return((*su1 < *su2) ? -1 : +1);
+- return(0);
+-}
+diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.13-i386/arch/m68k/lib/memcpy.c linux-2.6.13/arch/m68k/lib/memcpy.c
+--- linux-2.6.13-i386/arch/m68k/lib/memcpy.c 2005-08-29 01:41:01.000000000 +0200
++++ linux-2.6.13/arch/m68k/lib/memcpy.c 1970-01-01 01:00:00.000000000 +0100
+@@ -1,75 +0,0 @@
+-#include <linux/types.h>
+-
+-void * memcpy(void * to, const void * from, size_t n)
+-{
+- void *xto = to;
+- size_t temp, temp1;
+-
+- if (!n)
+- return xto;
+- if ((long) to & 1)
+- {
+- char *cto = to;
+- const char *cfrom = from;
+- *cto++ = *cfrom++;
+- to = cto;
+- from = cfrom;
+- n--;
+- }
+- if (n > 2 && (long) to & 2)
+- {
+- short *sto = to;
+- const short *sfrom = from;
+- *sto++ = *sfrom++;
+- to = sto;
+- from = sfrom;
+- n -= 2;
+- }
+- temp = n >> 2;
+- if (temp)
+- {
+- long *lto = to;
+- const long *lfrom = from;
+-
+- __asm__ __volatile__("movel %2,%3\n\t"
+- "andw #7,%3\n\t"
+- "lsrl #3,%2\n\t"
+- "negw %3\n\t"
+- "jmp %%pc@(1f,%3:w:2)\n\t"
+- "4:\t"
+- "movel %0 at +,%1 at +\n\t"
+- "movel %0 at +,%1 at +\n\t"
+- "movel %0 at +,%1 at +\n\t"
+- "movel %0 at +,%1 at +\n\t"
+- "movel %0 at +,%1 at +\n\t"
+- "movel %0 at +,%1 at +\n\t"
+- "movel %0 at +,%1 at +\n\t"
+- "movel %0 at +,%1 at +\n\t"
+- "1:\t"
+- "dbra %2,4b\n\t"
+- "clrw %2\n\t"
+- "subql #1,%2\n\t"
+- "jpl 4b\n\t"
+- : "=a" (lfrom), "=a" (lto), "=d" (temp),
+- "=&d" (temp1)
+- : "0" (lfrom), "1" (lto), "2" (temp)
+- );
+- to = lto;
+- from = lfrom;
+- }
+- if (n & 2)
+- {
+- short *sto = to;
+- const short *sfrom = from;
+- *sto++ = *sfrom++;
+- to = sto;
+- from = sfrom;
+- }
+- if (n & 1)
+- {
+- char *cto = to;
+- const char *cfrom = from;
+- *cto = *cfrom;
+- }
+- return xto;
+-}
+diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.13-i386/arch/m68k/lib/memset.c linux-2.6.13/arch/m68k/lib/memset.c
+--- linux-2.6.13-i386/arch/m68k/lib/memset.c 2005-08-29 01:41:01.000000000 +0200
++++ linux-2.6.13/arch/m68k/lib/memset.c 1970-01-01 01:00:00.000000000 +0100
+@@ -1,68 +0,0 @@
+-#include <linux/types.h>
+-
+-void * memset(void * s, int c, size_t count)
+-{
+- void *xs = s;
+- size_t temp, temp1;
+-
+- if (!count)
+- return xs;
+- c &= 0xff;
+- c |= c << 8;
+- c |= c << 16;
+- if ((long) s & 1)
+- {
+- char *cs = s;
+- *cs++ = c;
+- s = cs;
+- count--;
+- }
+- if (count > 2 && (long) s & 2)
+- {
+- short *ss = s;
+- *ss++ = c;
+- s = ss;
+- count -= 2;
+- }
+- temp = count >> 2;
+- if (temp)
+- {
+- long *ls = s;
+-
+- __asm__ __volatile__("movel %1,%2\n\t"
+- "andw #7,%2\n\t"
+- "lsrl #3,%1\n\t"
+- "negw %2\n\t"
+- "jmp %%pc@(2f,%2:w:2)\n\t"
+- "1:\t"
+- "movel %3,%0 at +\n\t"
+- "movel %3,%0 at +\n\t"
+- "movel %3,%0 at +\n\t"
+- "movel %3,%0 at +\n\t"
+- "movel %3,%0 at +\n\t"
+- "movel %3,%0 at +\n\t"
+- "movel %3,%0 at +\n\t"
+- "movel %3,%0 at +\n\t"
+- "2:\t"
+- "dbra %1,1b\n\t"
+- "clrw %1\n\t"
+- "subql #1,%1\n\t"
+- "jpl 1b\n\t"
+- : "=a" (ls), "=d" (temp), "=&d" (temp1)
+- : "d" (c), "0" (ls), "1" (temp)
+- );
+- s = ls;
+- }
+- if (count & 2)
+- {
+- short *ss = s;
+- *ss++ = c;
+- s = ss;
+- }
+- if (count & 1)
+- {
+- char *cs = s;
+- *cs = c;
+- }
+- return xs;
+-}
+diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.13-i386/arch/m68k/lib/string.c linux-2.6.13/arch/m68k/lib/string.c
+--- linux-2.6.13-i386/arch/m68k/lib/string.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.13/arch/m68k/lib/string.c 2005-08-30 13:26:30.000000000 +0200
+@@ -0,0 +1,237 @@
++
++#include <linux/types.h>
++#include <linux/module.h>
++
++void *memset(void *s, int c, size_t count)
++{
++ void *xs = s;
++ size_t temp, temp1;
++
++ if (!count)
++ return xs;
++ c &= 0xff;
++ c |= c << 8;
++ c |= c << 16;
++ if ((long)s & 1) {
++ char *cs = s;
++ *cs++ = c;
++ s = cs;
++ count--;
++ }
++ if (count > 2 && (long)s & 2) {
++ short *ss = s;
++ *ss++ = c;
++ s = ss;
++ count -= 2;
++ }
++ temp = count >> 2;
++ if (temp) {
++ long *ls = s;
++
++ asm volatile (
++ " movel %1,%2\n"
++ " andw #7,%2\n"
++ " lsrl #3,%1\n"
++ " negw %2\n"
++ " jmp %%pc@(2f,%2:w:2)\n"
++ "1: movel %3,%0 at +\n"
++ " movel %3,%0 at +\n"
++ " movel %3,%0 at +\n"
++ " movel %3,%0 at +\n"
++ " movel %3,%0 at +\n"
++ " movel %3,%0 at +\n"
++ " movel %3,%0 at +\n"
++ " movel %3,%0 at +\n"
++ "2: dbra %1,1b\n"
++ " clrw %1\n"
++ " subql #1,%1\n"
++ " jpl 1b"
++ : "=a" (ls), "=d" (temp), "=&d" (temp1)
++ : "d" (c), "0" (ls), "1" (temp));
++ s = ls;
++ }
++ if (count & 2) {
++ short *ss = s;
++ *ss++ = c;
++ s = ss;
++ }
++ if (count & 1) {
++ char *cs = s;
++ *cs = c;
++ }
++ return xs;
++}
++EXPORT_SYMBOL(memset);
++
++void *memcpy(void *to, const void *from, size_t n)
++{
++ void *xto = to;
++ size_t temp, temp1;
++
++ if (!n)
++ return xto;
++ if ((long)to & 1) {
++ char *cto = to;
++ const char *cfrom = from;
++ *cto++ = *cfrom++;
++ to = cto;
++ from = cfrom;
++ n--;
++ }
++ if (n > 2 && (long)to & 2) {
++ short *sto = to;
++ const short *sfrom = from;
++ *sto++ = *sfrom++;
++ to = sto;
++ from = sfrom;
++ n -= 2;
++ }
++ temp = n >> 2;
++ if (temp) {
++ long *lto = to;
++ const long *lfrom = from;
++
++ asm volatile (
++ " movel %2,%3\n"
++ " andw #7,%3\n"
++ " lsrl #3,%2\n"
++ " negw %3\n"
++ " jmp %%pc@(1f,%3:w:2)\n"
++ "4: movel %0 at +,%1 at +\n"
++ " movel %0 at +,%1 at +\n"
++ " movel %0 at +,%1 at +\n"
++ " movel %0 at +,%1 at +\n"
++ " movel %0 at +,%1 at +\n"
++ " movel %0 at +,%1 at +\n"
++ " movel %0 at +,%1 at +\n"
++ " movel %0 at +,%1 at +\n"
++ "1: dbra %2,4b\n"
++ " clrw %2\n"
++ " subql #1,%2\n"
++ " jpl 4b"
++ : "=a" (lfrom), "=a" (lto), "=d" (temp), "=&d" (temp1)
++ : "0" (lfrom), "1" (lto), "2" (temp));
++ to = lto;
++ from = lfrom;
++ }
++ if (n & 2) {
++ short *sto = to;
++ const short *sfrom = from;
++ *sto++ = *sfrom++;
++ to = sto;
++ from = sfrom;
++ }
++ if (n & 1) {
++ char *cto = to;
++ const char *cfrom = from;
++ *cto = *cfrom;
++ }
++ return xto;
++}
++EXPORT_SYMBOL(memcpy);
++
++void *memmove(void *dest, const void *src, size_t n)
++{
++ void *xdest = dest;
++ size_t temp;
++
++ if (!n)
++ return xdest;
++
++ if (dest < src) {
++ if ((long)dest & 1) {
++ char *cdest = dest;
++ const char *csrc = src;
++ *cdest++ = *csrc++;
++ dest = cdest;
++ src = csrc;
++ n--;
++ }
++ if (n > 2 && (long)dest & 2) {
++ short *sdest = dest;
++ const short *ssrc = src;
++ *sdest++ = *ssrc++;
++ dest = sdest;
++ src = ssrc;
++ n -= 2;
++ }
++ temp = n >> 2;
++ if (temp) {
++ long *ldest = dest;
++ const long *lsrc = src;
++ temp--;
++ do
++ *ldest++ = *lsrc++;
++ while (temp--);
++ dest = ldest;
++ src = lsrc;
++ }
++ if (n & 2) {
++ short *sdest = dest;
++ const short *ssrc = src;
++ *sdest++ = *ssrc++;
++ dest = sdest;
++ src = ssrc;
++ }
++ if (n & 1) {
++ char *cdest = dest;
++ const char *csrc = src;
++ *cdest = *csrc;
++ }
++ } else {
++ dest = (char *)dest + n;
++ src = (const char *)src + n;
++ if ((long)dest & 1) {
++ char *cdest = dest;
++ const char *csrc = src;
++ *--cdest = *--csrc;
++ dest = cdest;
++ src = csrc;
++ n--;
++ }
++ if (n > 2 && (long)dest & 2) {
++ short *sdest = dest;
++ const short *ssrc = src;
++ *--sdest = *--ssrc;
++ dest = sdest;
++ src = ssrc;
++ n -= 2;
++ }
++ temp = n >> 2;
++ if (temp) {
++ long *ldest = dest;
++ const long *lsrc = src;
++ temp--;
++ do
++ *--ldest = *--lsrc;
++ while (temp--);
++ dest = ldest;
++ src = lsrc;
++ }
++ if (n & 2) {
++ short *sdest = dest;
++ const short *ssrc = src;
++ *--sdest = *--ssrc;
++ dest = sdest;
++ src = ssrc;
++ }
++ if (n & 1) {
++ char *cdest = dest;
++ const char *csrc = src;
++ *--cdest = *--csrc;
++ }
++ }
++ return xdest;
++}
++EXPORT_SYMBOL(memmove);
++
++int memcmp(const void *cs, const void *ct, size_t count)
++{
++ const unsigned char *su1, *su2;
++
++ for (su1 = cs, su2 = ct; count > 0; ++su1, ++su2, count--)
++ if (*su1 != *su2)
++ return *su1 < *su2 ? -1 : +1;
++ return 0;
++}
++EXPORT_SYMBOL(memcmp);
+diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.13-i386/arch/m68k/mm/Makefile linux-2.6.13/arch/m68k/mm/Makefile
+--- linux-2.6.13-i386/arch/m68k/mm/Makefile 2005-08-29 01:41:01.000000000 +0200
++++ linux-2.6.13/arch/m68k/mm/Makefile 2004-02-06 14:59:40.000000000 +0100
@@ -2,7 +2,7 @@
# Makefile for the linux m68k-specific parts of the memory manager.
#
@@ -753,10 +1171,10 @@
obj-$(CONFIG_MMU_MOTOROLA) += kmap.o memory.o motorola.o
obj-$(CONFIG_MMU_SUN3) += sun3kmap.o sun3mmu.o
-diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.12-i386/arch/m68k/mm/cache.c linux-2.6.12/arch/m68k/mm/cache.c
---- linux-2.6.12-i386/arch/m68k/mm/cache.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.12/arch/m68k/mm/cache.c 2004-04-05 16:34:15.000000000 +0200
-@@ -0,0 +1,160 @@
+diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.13-i386/arch/m68k/mm/cache.c linux-2.6.13/arch/m68k/mm/cache.c
+--- linux-2.6.13-i386/arch/m68k/mm/cache.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.13/arch/m68k/mm/cache.c 2005-08-30 16:31:37.000000000 +0200
+@@ -0,0 +1,118 @@
+/*
+ * linux/arch/m68k/mm/cache.c
+ *
@@ -765,18 +1183,16 @@
+ * Copyright (C) 1995 Hamish Macdonald
+ */
+
++#include <linux/module.h>
+#include <asm/pgalloc.h>
+#include <asm/traps.h>
+
+
-+static unsigned long virt_to_phys_slow(unsigned long vaddr, mm_segment_t fs)
++static unsigned long virt_to_phys_slow(unsigned long vaddr)
+{
+ if (CPU_IS_060) {
-+ mm_segment_t old_fs = get_fs();
+ unsigned long paddr;
+
-+ set_fs(fs);
-+
+ /* The PLPAR instruction causes an access error if the translation
+ * is not possible. To catch this we use the same exception mechanism
+ * as for user space accesses in <asm/uaccess.h>. */
@@ -795,21 +1211,16 @@
+ ".previous"
+ : "=a" (paddr)
+ : "0" (vaddr));
-+ set_fs(old_fs);
+ return paddr;
+ } else if (CPU_IS_040) {
-+ mm_segment_t old_fs = get_fs();
+ unsigned long mmusr;
+
-+ set_fs(fs);
-+
+ asm volatile (".chip 68040\n\t"
+ "ptestr (%1)\n\t"
+ "movec %%mmusr, %0\n\t"
+ ".chip 68k"
+ : "=r" (mmusr)
+ : "a" (vaddr));
-+ set_fs(old_fs);
+
+ if (mmusr & MMU_R_040)
+ return (mmusr & PAGE_MASK) | (vaddr & ~PAGE_MASK);
@@ -820,7 +1231,7 @@
+ asm volatile ("ptestr %3,%2@,#7,%0\n\t"
+ "pmove %%psr,%1@"
+ : "=a&" (descaddr)
-+ : "a" (&mmusr), "a" (vaddr), "d" (fs.seg));
++ : "a" (&mmusr), "a" (vaddr), "d" (get_fs().seg));
+ if (mmusr & (MMU_I|MMU_B|MMU_L))
+ return 0;
+ descaddr = phys_to_virt((unsigned long)descaddr);
@@ -840,43 +1251,7 @@
+/* RZ: use cpush %bc instead of cpush %dc, cinv %ic */
+void flush_icache_range(unsigned long address, unsigned long endaddr)
+{
-+ if (CPU_IS_040_OR_060) {
-+ address &= PAGE_MASK;
+
-+ if (address >= PAGE_OFFSET && address < (unsigned long)high_memory) {
-+ do {
-+ asm volatile ("nop\n\t"
-+ ".chip 68040\n\t"
-+ "cpushp %%bc,(%0)\n\t"
-+ ".chip 68k"
-+ : : "a" (virt_to_phys((void *)address)));
-+ address += PAGE_SIZE;
-+ } while (address < endaddr);
-+ } else {
-+ do {
-+ asm volatile ("nop\n\t"
-+ ".chip 68040\n\t"
-+ "cpushp %%bc,(%0)\n\t"
-+ ".chip 68k"
-+ : : "a" (virt_to_phys_slow(address, KERNEL_DS)));
-+ address += PAGE_SIZE;
-+ } while (address < endaddr);
-+ }
-+ } else {
-+ unsigned long tmp;
-+ asm volatile ("movec %%cacr,%0\n\t"
-+ "orw %1,%0\n\t"
-+ "movec %0,%%cacr"
-+ : "=&d" (tmp)
-+ : "di" (FLUSH_I));
-+ }
-+}
-+
-+void flush_icache_user_range(void *addr, unsigned long size)
-+{
-+ unsigned long address = (unsigned long)addr;
-+ unsigned long endaddr = address + size;
-+
+ if (CPU_IS_040_OR_060) {
+ address &= PAGE_MASK;
+
@@ -885,7 +1260,7 @@
+ ".chip 68040\n\t"
+ "cpushp %%bc,(%0)\n\t"
+ ".chip 68k"
-+ : : "a" (virt_to_phys_slow(address, get_fs())));
++ : : "a" (virt_to_phys_slow(address)));
+ address += PAGE_SIZE;
+ } while (address < endaddr);
+ } else {
@@ -897,9 +1272,10 @@
+ : "di" (FLUSH_I));
+ }
+}
++EXPORT_SYMBOL(flush_icache_range);
+
-+void flush_icache_user_page(struct vm_area_struct *vma, struct page *page,
-+ unsigned long addr, int len)
++void flush_icache_user_range(struct vm_area_struct *vma, struct page *page,
++ unsigned long addr, int len)
+{
+ if (CPU_IS_040_OR_060) {
+ asm volatile ("nop\n\t"
@@ -917,9 +1293,9 @@
+ }
+}
+
-diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.12-i386/arch/m68k/mm/memory.c linux-2.6.12/arch/m68k/mm/memory.c
---- linux-2.6.12-i386/arch/m68k/mm/memory.c 2005-06-17 21:48:29.000000000 +0200
-+++ linux-2.6.12/arch/m68k/mm/memory.c 2004-10-03 16:35:42.000000000 +0200
+diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.13-i386/arch/m68k/mm/memory.c linux-2.6.13/arch/m68k/mm/memory.c
+--- linux-2.6.13-i386/arch/m68k/mm/memory.c 2005-08-29 01:41:01.000000000 +0200
++++ linux-2.6.13/arch/m68k/mm/memory.c 2004-10-03 16:35:42.000000000 +0200
@@ -354,110 +354,6 @@
#endif
}
@@ -1031,11 +1407,11 @@
#ifndef CONFIG_SINGLE_MEMORY_CHUNK
int mm_end_of_chunk (unsigned long addr, int len)
{
-diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.12-i386/drivers/block/swim3.c linux-2.6.12/drivers/block/swim3.c
---- linux-2.6.12-i386/drivers/block/swim3.c 2005-06-17 21:48:29.000000000 +0200
-+++ linux-2.6.12/drivers/block/swim3.c 2005-04-25 23:08:32.000000000 +0200
-@@ -302,7 +302,7 @@
- continue;
+diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.13-i386/drivers/block/swim3.c linux-2.6.13/drivers/block/swim3.c
+--- linux-2.6.13-i386/drivers/block/swim3.c 2005-08-29 01:41:01.000000000 +0200
++++ linux-2.6.13/drivers/block/swim3.c 2005-08-30 16:32:28.000000000 +0200
+@@ -304,7 +304,7 @@
+ #endif /* CONFIG_PMAC_MEDIABAY */
start_request(&floppy_states[i]);
}
- sti();
@@ -1043,7 +1419,7 @@
}
static void start_request(struct floppy_state *fs)
-@@ -368,7 +368,7 @@
+@@ -370,7 +370,7 @@
{
unsigned long flags;
@@ -1052,7 +1428,7 @@
if (fs->timeout_pending)
del_timer(&fs->timeout);
fs->timeout.expires = jiffies + nticks;
-@@ -376,7 +376,7 @@
+@@ -378,7 +378,7 @@
fs->timeout.data = (unsigned long) fs;
add_timer(&fs->timeout);
fs->timeout_pending = 1;
@@ -1061,7 +1437,7 @@
}
static inline void scan_track(struct floppy_state *fs)
-@@ -788,14 +788,13 @@
+@@ -790,14 +790,13 @@
{
unsigned long flags;
@@ -1078,7 +1454,7 @@
return -EINTR;
}
interruptible_sleep_on(&fs->wait);
-@@ -803,7 +802,7 @@
+@@ -805,7 +804,7 @@
--fs->wanted;
}
fs->state = state;
@@ -1087,7 +1463,7 @@
return 0;
}
-@@ -811,11 +810,10 @@
+@@ -813,11 +812,10 @@
{
unsigned long flags;
@@ -1101,9 +1477,9 @@
}
static int fd_eject(struct floppy_state *fs)
-diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.12-i386/drivers/char/16c552.h linux-2.6.12/drivers/char/16c552.h
---- linux-2.6.12-i386/drivers/char/16c552.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.12/drivers/char/16c552.h 2001-10-22 11:34:32.000000000 +0200
+diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.13-i386/drivers/char/16c552.h linux-2.6.13/drivers/char/16c552.h
+--- linux-2.6.13-i386/drivers/char/16c552.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.13/drivers/char/16c552.h 2001-10-22 11:34:32.000000000 +0200
@@ -0,0 +1,165 @@
+/*
+ * Definitions for the 16c552 DACE
@@ -1270,9 +1646,9 @@
+};
+
+#endif
-diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.12-i386/drivers/char/ioext.h linux-2.6.12/drivers/char/ioext.h
---- linux-2.6.12-i386/drivers/char/ioext.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.12/drivers/char/ioext.h 2001-10-22 11:34:32.000000000 +0200
+diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.13-i386/drivers/char/ioext.h linux-2.6.13/drivers/char/ioext.h
+--- linux-2.6.13-i386/drivers/char/ioext.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.13/drivers/char/ioext.h 2001-10-22 11:34:32.000000000 +0200
@@ -0,0 +1,108 @@
+/*
+ * Shared data structure for GVP IO-Extender support.
@@ -1382,9 +1758,9 @@
+extern struct lp_struct ioext_lp_table[1];
+
+#endif
-diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.12-i386/drivers/char/mc68681.h linux-2.6.12/drivers/char/mc68681.h
---- linux-2.6.12-i386/drivers/char/mc68681.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.12/drivers/char/mc68681.h 2001-10-22 11:34:32.000000000 +0200
+diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.13-i386/drivers/char/mc68681.h linux-2.6.13/drivers/char/mc68681.h
+--- linux-2.6.13-i386/drivers/char/mc68681.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.13/drivers/char/mc68681.h 2001-10-22 11:34:32.000000000 +0200
@@ -0,0 +1,131 @@
+#ifndef _MC68681_H_
+#define _MC68681_H_
@@ -1517,9 +1893,9 @@
+
+
+#endif
-diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.12-i386/drivers/char/plip_ioext.c linux-2.6.12/drivers/char/plip_ioext.c
---- linux-2.6.12-i386/drivers/char/plip_ioext.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.12/drivers/char/plip_ioext.c 2004-10-25 16:38:25.000000000 +0200
+diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.13-i386/drivers/char/plip_ioext.c linux-2.6.13/drivers/char/plip_ioext.c
+--- linux-2.6.13-i386/drivers/char/plip_ioext.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.13/drivers/char/plip_ioext.c 2004-10-25 16:38:25.000000000 +0200
@@ -0,0 +1,1058 @@
+/*
+ * plip_ioext: A parallel port "network" driver for GVP IO-Extender.
@@ -2579,9 +2955,9 @@
+
+ return 0;
+}
-diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.12-i386/drivers/ide/ide-iops.c linux-2.6.12/drivers/ide/ide-iops.c
---- linux-2.6.12-i386/drivers/ide/ide-iops.c 2005-06-17 21:48:29.000000000 +0200
-+++ linux-2.6.12/drivers/ide/ide-iops.c 2005-06-19 16:33:16.000000000 +0200
+diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.13-i386/drivers/ide/ide-iops.c linux-2.6.13/drivers/ide/ide-iops.c
+--- linux-2.6.13-i386/drivers/ide/ide-iops.c 2005-08-29 01:41:01.000000000 +0200
++++ linux-2.6.13/drivers/ide/ide-iops.c 2005-08-30 16:32:55.000000000 +0200
@@ -341,6 +341,23 @@
int i;
u16 *stringcast;
@@ -2606,9 +2982,77 @@
id->config = __le16_to_cpu(id->config);
id->cyls = __le16_to_cpu(id->cyls);
id->reserved2 = __le16_to_cpu(id->reserved2);
-diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.12-i386/drivers/macintosh/adb.c linux-2.6.12/drivers/macintosh/adb.c
---- linux-2.6.12-i386/drivers/macintosh/adb.c 2005-06-17 21:48:29.000000000 +0200
-+++ linux-2.6.12/drivers/macintosh/adb.c 2005-06-19 16:33:31.000000000 +0200
+diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.13-i386/drivers/ide/legacy/gayle.c linux-2.6.13/drivers/ide/legacy/gayle.c
+--- linux-2.6.13-i386/drivers/ide/legacy/gayle.c 2005-08-29 01:41:01.000000000 +0200
++++ linux-2.6.13/drivers/ide/legacy/gayle.c 2005-09-02 16:32:11.000000000 +0200
+@@ -161,6 +161,7 @@
+ base = (unsigned long)ZTWO_VADDR(phys_base);
+ ctrlport = GAYLE_HAS_CONTROL_REG ? (base + GAYLE_CONTROL) : 0;
+
++ memset(&hw, 0, sizeof(hw));
+ ide_setup_ports(&hw, base, gayle_offsets,
+ ctrlport, irqport, ack_intr,
+ // &gayle_iops,
+diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.13-i386/drivers/input/keyboard/Kconfig linux-2.6.13/drivers/input/keyboard/Kconfig
+--- linux-2.6.13-i386/drivers/input/keyboard/Kconfig 2005-08-29 01:41:01.000000000 +0200
++++ linux-2.6.13/drivers/input/keyboard/Kconfig 2005-08-30 16:33:05.000000000 +0200
+@@ -154,7 +154,7 @@
+
+ config KEYBOARD_HIL_OLD
+ tristate "HP HIL keyboard support (simple driver)"
+- depends on GSC
++ depends on GSC || HP300
+ default y
+ help
+ The "Human Interface Loop" is a older, 8-channel USB-like
+@@ -171,7 +171,7 @@
+
+ config KEYBOARD_HIL
+ tristate "HP HIL keyboard support"
+- depends on GSC
++ depends on GSC || HP300
+ default y
+ select HP_SDC
+ select HIL_MLC
+diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.13-i386/drivers/input/misc/Kconfig linux-2.6.13/drivers/input/misc/Kconfig
+--- linux-2.6.13-i386/drivers/input/misc/Kconfig 2005-08-29 01:41:01.000000000 +0200
++++ linux-2.6.13/drivers/input/misc/Kconfig 2005-08-30 16:33:05.000000000 +0200
+@@ -51,7 +51,7 @@
+
+ config HP_SDC_RTC
+ tristate "HP SDC Real Time Clock"
+- depends on GSC
++ depends on GSC || HP300
+ select HP_SDC
+ help
+ Say Y here if you want to support the built-in real time clock
+diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.13-i386/drivers/input/mouse/Kconfig linux-2.6.13/drivers/input/mouse/Kconfig
+--- linux-2.6.13-i386/drivers/input/mouse/Kconfig 2005-08-29 01:41:01.000000000 +0200
++++ linux-2.6.13/drivers/input/mouse/Kconfig 2005-08-30 16:33:05.000000000 +0200
+@@ -129,7 +129,7 @@
+
+ config MOUSE_HIL
+ tristate "HIL pointers (mice etc)."
+- depends on GSC
++ depends on GSC || HP300
+ select HP_SDC
+ select HIL_MLC
+ help
+diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.13-i386/drivers/input/serio/Kconfig linux-2.6.13/drivers/input/serio/Kconfig
+--- linux-2.6.13-i386/drivers/input/serio/Kconfig 2005-08-29 01:41:01.000000000 +0200
++++ linux-2.6.13/drivers/input/serio/Kconfig 2005-08-30 16:33:05.000000000 +0200
+@@ -112,7 +112,7 @@
+
+ config HP_SDC
+ tristate "HP System Device Controller i8042 Support"
+- depends on GSC && SERIO
++ depends on (GSC || HP300) && SERIO
+ default y
+ ---help---
+ This option enables supports for the the "System Device
+diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.13-i386/drivers/macintosh/adb.c linux-2.6.13/drivers/macintosh/adb.c
+--- linux-2.6.13-i386/drivers/macintosh/adb.c 2005-08-29 01:41:01.000000000 +0200
++++ linux-2.6.13/drivers/macintosh/adb.c 2005-08-30 16:33:07.000000000 +0200
@@ -476,13 +476,15 @@
use_sreq = 1;
} else
@@ -2628,9 +3072,9 @@
va_end(list);
if (flags & ADBREQ_NOSEND)
-diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.12-i386/drivers/net/Kconfig linux-2.6.12/drivers/net/Kconfig
---- linux-2.6.12-i386/drivers/net/Kconfig 2005-06-17 21:48:29.000000000 +0200
-+++ linux-2.6.12/drivers/net/Kconfig 2005-06-19 16:33:45.000000000 +0200
+diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.13-i386/drivers/net/Kconfig linux-2.6.13/drivers/net/Kconfig
+--- linux-2.6.13-i386/drivers/net/Kconfig 2005-08-29 01:41:01.000000000 +0200
++++ linux-2.6.13/drivers/net/Kconfig 2005-08-30 16:33:24.000000000 +0200
@@ -294,7 +294,7 @@
config MAC89x0
@@ -2640,9 +3084,9 @@
---help---
Support for CS89x0 chipset based Ethernet cards. If you have a
Nubus or LC-PDS network (Ethernet) card of this type, say Y and
-diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.12-i386/drivers/net/mac89x0.c linux-2.6.12/drivers/net/mac89x0.c
---- linux-2.6.12-i386/drivers/net/mac89x0.c 2005-06-17 21:48:29.000000000 +0200
-+++ linux-2.6.12/drivers/net/mac89x0.c 2004-12-30 16:38:24.000000000 +0100
+diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.13-i386/drivers/net/mac89x0.c linux-2.6.13/drivers/net/mac89x0.c
+--- linux-2.6.13-i386/drivers/net/mac89x0.c 2005-08-29 01:41:01.000000000 +0200
++++ linux-2.6.13/drivers/net/mac89x0.c 2004-12-30 16:38:24.000000000 +0100
@@ -128,7 +128,7 @@
extern void reset_chip(struct net_device *dev);
#endif
@@ -2792,9 +3236,9 @@
printk("%s: Setting MAC address to ", dev->name);
for (i = 0; i < 6; i++)
printk(" %2.2x", dev->dev_addr[i] = ((unsigned char *)addr)[i]);
-diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.12-i386/drivers/scsi/53c7xx.c linux-2.6.12/drivers/scsi/53c7xx.c
---- linux-2.6.12-i386/drivers/scsi/53c7xx.c 2005-06-17 21:48:29.000000000 +0200
-+++ linux-2.6.12/drivers/scsi/53c7xx.c 2005-06-19 16:34:18.000000000 +0200
+diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.13-i386/drivers/scsi/53c7xx.c linux-2.6.13/drivers/scsi/53c7xx.c
+--- linux-2.6.13-i386/drivers/scsi/53c7xx.c 2005-08-29 01:41:01.000000000 +0200
++++ linux-2.6.13/drivers/scsi/53c7xx.c 2005-06-19 16:34:18.000000000 +0200
@@ -307,7 +307,7 @@
static int check_address (unsigned long addr, int size);
@@ -4062,9 +4506,9 @@
for (cmd = (struct NCR53c7x0_cmd *) hostdata->free; cmd; cmd = tmp,
--hostdata->num_cmds) {
tmp = (struct NCR53c7x0_cmd *) cmd->next;
-diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.12-i386/drivers/scsi/53c7xx.h linux-2.6.12/drivers/scsi/53c7xx.h
---- linux-2.6.12-i386/drivers/scsi/53c7xx.h 2005-06-17 21:48:29.000000000 +0200
-+++ linux-2.6.12/drivers/scsi/53c7xx.h 2004-10-30 16:35:43.000000000 +0200
+diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.13-i386/drivers/scsi/53c7xx.h linux-2.6.13/drivers/scsi/53c7xx.h
+--- linux-2.6.13-i386/drivers/scsi/53c7xx.h 2005-08-29 01:41:01.000000000 +0200
++++ linux-2.6.13/drivers/scsi/53c7xx.h 2004-10-30 16:35:43.000000000 +0200
@@ -997,7 +997,7 @@
u32 *dsa; /* What's in the DSA register now (virt) */
/*
@@ -4146,10 +4590,10 @@
#endif /* NCR53c710_C */
#endif /* NCR53c710_H */
-diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.12-i386/drivers/scsi/Kconfig linux-2.6.12/drivers/scsi/Kconfig
---- linux-2.6.12-i386/drivers/scsi/Kconfig 2005-06-17 21:48:29.000000000 +0200
-+++ linux-2.6.12/drivers/scsi/Kconfig 2005-06-19 16:34:18.000000000 +0200
-@@ -1631,7 +1631,7 @@
+diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.13-i386/drivers/scsi/Kconfig linux-2.6.13/drivers/scsi/Kconfig
+--- linux-2.6.13-i386/drivers/scsi/Kconfig 2005-08-29 01:41:01.000000000 +0200
++++ linux-2.6.13/drivers/scsi/Kconfig 2005-08-30 16:33:54.000000000 +0200
+@@ -1627,7 +1627,7 @@
config SCSI_AMIGA7XX
bool "Amiga NCR53c710 SCSI support (EXPERIMENTAL)"
@@ -4158,7 +4602,7 @@
help
Support for various NCR53c710-based SCSI controllers on the Amiga.
This includes:
-@@ -1728,7 +1728,7 @@
+@@ -1724,7 +1724,7 @@
config MVME16x_SCSI
bool "NCR53C710 SCSI driver for MVME16x"
@@ -4167,7 +4611,7 @@
help
The Motorola MVME162, 166, 167, 172 and 177 boards use the NCR53C710
SCSI controller chip. Almost everyone using one of these boards
-@@ -1736,7 +1736,7 @@
+@@ -1732,7 +1732,7 @@
config BVME6000_SCSI
bool "NCR53C710 SCSI driver for BVME6000"
@@ -4176,9 +4620,9 @@
help
The BVME4000 and BVME6000 boards from BVM Ltd use the NCR53C710
SCSI controller chip. Almost everyone using one of these boards
-diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.12-i386/drivers/scsi/NCR5380.c linux-2.6.12/drivers/scsi/NCR5380.c
---- linux-2.6.12-i386/drivers/scsi/NCR5380.c 2005-06-17 21:48:29.000000000 +0200
-+++ linux-2.6.12/drivers/scsi/NCR5380.c 2005-06-19 16:34:18.000000000 +0200
+diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.13-i386/drivers/scsi/NCR5380.c linux-2.6.13/drivers/scsi/NCR5380.c
+--- linux-2.6.13-i386/drivers/scsi/NCR5380.c 2005-08-29 01:41:01.000000000 +0200
++++ linux-2.6.13/drivers/scsi/NCR5380.c 2005-08-30 16:33:54.000000000 +0200
@@ -346,6 +346,7 @@
return -ETIMEDOUT;
}
@@ -4195,9 +4639,9 @@
static struct {
unsigned char mask;
const char *name;
-diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.12-i386/drivers/scsi/amiga7xx.c linux-2.6.12/drivers/scsi/amiga7xx.c
---- linux-2.6.12-i386/drivers/scsi/amiga7xx.c 2005-06-17 21:48:29.000000000 +0200
-+++ linux-2.6.12/drivers/scsi/amiga7xx.c 2004-10-30 16:35:43.000000000 +0200
+diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.13-i386/drivers/scsi/amiga7xx.c linux-2.6.13/drivers/scsi/amiga7xx.c
+--- linux-2.6.13-i386/drivers/scsi/amiga7xx.c 2005-08-29 01:41:01.000000000 +0200
++++ linux-2.6.13/drivers/scsi/amiga7xx.c 2004-10-30 16:35:43.000000000 +0200
@@ -27,8 +27,14 @@
#include "scsi.h"
#include <scsi/scsi_host.h>
@@ -4237,9 +4681,9 @@
.can_queue = 24,
.this_id = 7,
.sg_tablesize = 63,
-diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.12-i386/drivers/scsi/amiga7xx.h linux-2.6.12/drivers/scsi/amiga7xx.h
---- linux-2.6.12-i386/drivers/scsi/amiga7xx.h 2005-06-17 21:48:29.000000000 +0200
-+++ linux-2.6.12/drivers/scsi/amiga7xx.h 1970-01-01 01:00:00.000000000 +0100
+diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.13-i386/drivers/scsi/amiga7xx.h linux-2.6.13/drivers/scsi/amiga7xx.h
+--- linux-2.6.13-i386/drivers/scsi/amiga7xx.h 2005-08-29 01:41:01.000000000 +0200
++++ linux-2.6.13/drivers/scsi/amiga7xx.h 1970-01-01 01:00:00.000000000 +0100
@@ -1,23 +0,0 @@
-#ifndef AMIGA7XX_H
-
@@ -4264,9 +4708,9 @@
-#include <scsi/scsicam.h>
-
-#endif /* AMIGA7XX_H */
-diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.12-i386/drivers/scsi/bvme6000.c linux-2.6.12/drivers/scsi/bvme6000.c
---- linux-2.6.12-i386/drivers/scsi/bvme6000.c 2005-06-17 21:48:29.000000000 +0200
-+++ linux-2.6.12/drivers/scsi/bvme6000.c 2004-10-30 16:35:43.000000000 +0200
+diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.13-i386/drivers/scsi/bvme6000.c linux-2.6.13/drivers/scsi/bvme6000.c
+--- linux-2.6.13-i386/drivers/scsi/bvme6000.c 2005-08-29 01:41:01.000000000 +0200
++++ linux-2.6.13/drivers/scsi/bvme6000.c 2004-10-30 16:35:43.000000000 +0200
@@ -19,10 +19,16 @@
#include "scsi.h"
#include <scsi/scsi_host.h>
@@ -4308,9 +4752,9 @@
.can_queue = 24,
.this_id = 7,
.sg_tablesize = 63,
-diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.12-i386/drivers/scsi/bvme6000.h linux-2.6.12/drivers/scsi/bvme6000.h
---- linux-2.6.12-i386/drivers/scsi/bvme6000.h 2005-06-17 21:48:29.000000000 +0200
-+++ linux-2.6.12/drivers/scsi/bvme6000.h 1970-01-01 01:00:00.000000000 +0100
+diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.13-i386/drivers/scsi/bvme6000.h linux-2.6.13/drivers/scsi/bvme6000.h
+--- linux-2.6.13-i386/drivers/scsi/bvme6000.h 2005-08-29 01:41:01.000000000 +0200
++++ linux-2.6.13/drivers/scsi/bvme6000.h 1970-01-01 01:00:00.000000000 +0100
@@ -1,24 +0,0 @@
-#ifndef BVME6000_SCSI_H
-#define BVME6000_SCSI_H
@@ -4336,9 +4780,9 @@
-#include <scsi/scsicam.h>
-
-#endif /* BVME6000_SCSI_H */
-diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.12-i386/drivers/scsi/mvme16x.c linux-2.6.12/drivers/scsi/mvme16x.c
---- linux-2.6.12-i386/drivers/scsi/mvme16x.c 2005-06-17 21:48:29.000000000 +0200
-+++ linux-2.6.12/drivers/scsi/mvme16x.c 2004-10-30 16:35:43.000000000 +0200
+diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.13-i386/drivers/scsi/mvme16x.c linux-2.6.13/drivers/scsi/mvme16x.c
+--- linux-2.6.13-i386/drivers/scsi/mvme16x.c 2005-08-29 01:41:01.000000000 +0200
++++ linux-2.6.13/drivers/scsi/mvme16x.c 2004-10-30 16:35:43.000000000 +0200
@@ -17,10 +17,16 @@
#include "scsi.h"
#include <scsi/scsi_host.h>
@@ -4380,9 +4824,9 @@
.can_queue = 24,
.this_id = 7,
.sg_tablesize = 63,
-diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.12-i386/drivers/scsi/mvme16x.h linux-2.6.12/drivers/scsi/mvme16x.h
---- linux-2.6.12-i386/drivers/scsi/mvme16x.h 2005-06-17 21:48:29.000000000 +0200
-+++ linux-2.6.12/drivers/scsi/mvme16x.h 1970-01-01 01:00:00.000000000 +0100
+diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.13-i386/drivers/scsi/mvme16x.h linux-2.6.13/drivers/scsi/mvme16x.h
+--- linux-2.6.13-i386/drivers/scsi/mvme16x.h 2005-08-29 01:41:01.000000000 +0200
++++ linux-2.6.13/drivers/scsi/mvme16x.h 1970-01-01 01:00:00.000000000 +0100
@@ -1,24 +0,0 @@
-#ifndef MVME16x_SCSI_H
-#define MVME16x_SCSI_H
@@ -4408,60 +4852,9 @@
-#include <scsi/scsicam.h>
-
-#endif /* MVME16x_SCSI_H */
-diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.12-i386/fs/binfmt_aout.c linux-2.6.12/fs/binfmt_aout.c
---- linux-2.6.12-i386/fs/binfmt_aout.c 2005-06-17 21:48:29.000000000 +0200
-+++ linux-2.6.12/fs/binfmt_aout.c 2005-06-19 16:35:04.000000000 +0200
-@@ -368,8 +368,9 @@
- send_sig(SIGKILL, current, 0);
- return error;
- }
--
-- flush_icache_range(text_addr, text_addr+ex.a_text+ex.a_data);
-+
-+ flush_icache_user_range((void *)text_addr,
-+ ex.a_text + ex.a_data);
- } else {
- static unsigned long error_time, error_time2;
- if ((ex.a_text & 0xfff || ex.a_data & 0xfff) &&
-@@ -396,9 +397,8 @@
- bprm->file->f_op->read(bprm->file,
- (char __user *)N_TXTADDR(ex),
- ex.a_text+ex.a_data, &pos);
-- flush_icache_range((unsigned long) N_TXTADDR(ex),
-- (unsigned long) N_TXTADDR(ex) +
-- ex.a_text+ex.a_data);
-+ flush_icache_user_range((void *)N_TXTADDR(ex),
-+ ex.a_text + ex.a_data);
- goto beyond_if;
- }
-
-@@ -503,8 +503,8 @@
-
- file->f_op->read(file, (char __user *)start_addr,
- ex.a_text + ex.a_data, &pos);
-- flush_icache_range((unsigned long) start_addr,
-- (unsigned long) start_addr + ex.a_text + ex.a_data);
-+ flush_icache_user_range((void *)start_addr,
-+ ex.a_text + ex.a_data);
-
- retval = 0;
- goto out;
-diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.12-i386/fs/binfmt_elf.c linux-2.6.12/fs/binfmt_elf.c
---- linux-2.6.12-i386/fs/binfmt_elf.c 2005-06-17 21:48:29.000000000 +0200
-+++ linux-2.6.12/fs/binfmt_elf.c 2005-06-19 16:35:04.000000000 +0200
-@@ -471,8 +471,7 @@
- goto out;
- if (interpreter->f_op->read(interpreter, addr, text_data, &offset) < 0)
- goto out;
-- flush_icache_range((unsigned long)addr,
-- (unsigned long)addr + text_data);
-+ flush_icache_user_range(addr, text_data);
-
-
- down_write(¤t->mm->mmap_sem);
-diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.12-i386/fs/fat/inode.c linux-2.6.12/fs/fat/inode.c
---- linux-2.6.12-i386/fs/fat/inode.c 2005-06-17 21:48:29.000000000 +0200
-+++ linux-2.6.12/fs/fat/inode.c 2005-06-19 16:35:11.000000000 +0200
+diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.13-i386/fs/fat/inode.c linux-2.6.13/fs/fat/inode.c
+--- linux-2.6.13-i386/fs/fat/inode.c 2005-08-29 01:41:01.000000000 +0200
++++ linux-2.6.13/fs/fat/inode.c 2005-08-30 16:35:05.000000000 +0200
@@ -11,12 +11,14 @@
*/
@@ -4557,10 +4950,10 @@
/* check that FAT table does not overflow */
fat_clusters = sbi->fat_length * sb->s_blocksize * 8 / sbi->fat_bits;
-diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.12-i386/include/asm-m68k/cacheflush.h linux-2.6.12/include/asm-m68k/cacheflush.h
---- linux-2.6.12-i386/include/asm-m68k/cacheflush.h 2005-06-17 21:48:29.000000000 +0200
-+++ linux-2.6.12/include/asm-m68k/cacheflush.h 2005-06-19 16:35:42.000000000 +0200
-@@ -130,20 +130,26 @@
+diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.13-i386/include/asm-m68k/cacheflush.h linux-2.6.13/include/asm-m68k/cacheflush.h
+--- linux-2.6.13-i386/include/asm-m68k/cacheflush.h 2005-08-29 01:41:01.000000000 +0200
++++ linux-2.6.13/include/asm-m68k/cacheflush.h 2005-08-30 16:36:03.000000000 +0200
+@@ -130,20 +130,25 @@
#define flush_dcache_mmap_lock(mapping) do { } while (0)
#define flush_dcache_mmap_unlock(mapping) do { } while (0)
#define flush_icache_page(vma, page) __flush_page_to_ram(page_address(page))
@@ -4578,18 +4971,17 @@
- memcpy(dst, src, len); \
- } while (0)
-+extern void flush_icache_user_page(struct vm_area_struct *vma, struct page *page,
-+ unsigned long addr, int len);
++extern void flush_icache_user_range(struct vm_area_struct *vma, struct page *page,
++ unsigned long addr, int len);
extern void flush_icache_range(unsigned long address, unsigned long endaddr);
-+extern void flush_icache_user_range(void *address, unsigned long size);
-+
+
+static inline void copy_to_user_page(struct vm_area_struct *vma,
+ struct page *page, unsigned long vaddr,
+ void *dst, void *src, int len)
+{
+ flush_cache_page(vma, vaddr, page_to_pfn(page));
+ memcpy(dst, src, len);
-+ flush_icache_user_page(vma, page, vaddr, len);
++ flush_icache_user_range(vma, page, vaddr, len);
+}
+static inline void copy_from_user_page(struct vm_area_struct *vma,
+ struct page *page, unsigned long vaddr,
@@ -4598,11 +4990,11 @@
+ flush_cache_page(vma, vaddr, page_to_pfn(page));
+ memcpy(dst, src, len);
+}
-
++
#endif /* _M68K_CACHEFLUSH_H */
-diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.12-i386/include/asm-m68k/io.h linux-2.6.12/include/asm-m68k/io.h
---- linux-2.6.12-i386/include/asm-m68k/io.h 2005-06-17 21:48:29.000000000 +0200
-+++ linux-2.6.12/include/asm-m68k/io.h 2005-06-19 16:35:42.000000000 +0200
+diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.13-i386/include/asm-m68k/io.h linux-2.6.13/include/asm-m68k/io.h
+--- linux-2.6.13-i386/include/asm-m68k/io.h 2005-08-29 01:41:01.000000000 +0200
++++ linux-2.6.13/include/asm-m68k/io.h 2005-06-19 16:35:42.000000000 +0200
@@ -324,8 +324,6 @@
#define writel(val,addr) out_le32((addr),(val))
#endif
@@ -4612,9 +5004,9 @@
static inline void *ioremap(unsigned long physaddr, unsigned long size)
{
return __ioremap(physaddr, size, IOMAP_NOCACHE_SER);
-diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.12-i386/include/asm-m68k/processor.h linux-2.6.12/include/asm-m68k/processor.h
---- linux-2.6.12-i386/include/asm-m68k/processor.h 2005-06-17 21:48:29.000000000 +0200
-+++ linux-2.6.12/include/asm-m68k/processor.h 2005-05-30 16:33:26.000000000 +0200
+diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.13-i386/include/asm-m68k/processor.h linux-2.6.13/include/asm-m68k/processor.h
+--- linux-2.6.13-i386/include/asm-m68k/processor.h 2005-08-29 01:41:01.000000000 +0200
++++ linux-2.6.13/include/asm-m68k/processor.h 2005-05-30 16:33:26.000000000 +0200
@@ -14,6 +14,7 @@
#define current_text_addr() ({ __label__ _l; _l: &&_l;})
@@ -4650,21 +5042,449 @@
};
#define INIT_THREAD { \
-diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.12-i386/include/asm-m68k/serial.h linux-2.6.12/include/asm-m68k/serial.h
---- linux-2.6.12-i386/include/asm-m68k/serial.h 2005-06-17 21:48:29.000000000 +0200
-+++ linux-2.6.12/include/asm-m68k/serial.h 2004-07-12 16:39:26.000000000 +0200
-@@ -74,6 +74,8 @@
- #define EXTRA_SERIAL_PORT_DEFNS
+diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.13-i386/include/asm-m68k/serial.h linux-2.6.13/include/asm-m68k/serial.h
+--- linux-2.6.13-i386/include/asm-m68k/serial.h 2005-08-29 01:41:01.000000000 +0200
++++ linux-2.6.13/include/asm-m68k/serial.h 2005-08-30 16:36:03.000000000 +0200
+@@ -26,9 +26,11 @@
+ #define STD_COM4_FLAGS ASYNC_BOOT_AUTOCONF
#endif
+#ifdef CONFIG_ISA
- #define SERIAL_PORT_DFNS \
- STD_SERIAL_PORT_DEFNS \
- EXTRA_SERIAL_PORT_DEFNS
+ #define SERIAL_PORT_DFNS \
+ /* UART CLK PORT IRQ FLAGS */ \
+ { 0, BASE_BAUD, 0x3F8, 4, STD_COM_FLAGS }, /* ttyS0 */ \
+ { 0, BASE_BAUD, 0x2F8, 3, STD_COM_FLAGS }, /* ttyS1 */ \
+ { 0, BASE_BAUD, 0x3E8, 4, STD_COM_FLAGS }, /* ttyS2 */ \
+ { 0, BASE_BAUD, 0x2E8, 3, STD_COM4_FLAGS }, /* ttyS3 */
+#endif
-diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.12-i386/include/asm-m68k/thread_info.h linux-2.6.12/include/asm-m68k/thread_info.h
---- linux-2.6.12-i386/include/asm-m68k/thread_info.h 2005-06-17 21:48:29.000000000 +0200
-+++ linux-2.6.12/include/asm-m68k/thread_info.h 2005-05-31 16:33:46.000000000 +0200
+diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.13-i386/include/asm-m68k/string.h linux-2.6.13/include/asm-m68k/string.h
+--- linux-2.6.13-i386/include/asm-m68k/string.h 2005-08-29 01:41:01.000000000 +0200
++++ linux-2.6.13/include/asm-m68k/string.h 2005-08-30 16:36:03.000000000 +0200
+@@ -80,43 +80,6 @@
+ return( (char *) s);
+ }
+
+-#if 0
+-#define __HAVE_ARCH_STRPBRK
+-static inline char *strpbrk(const char *cs,const char *ct)
+-{
+- const char *sc1,*sc2;
+-
+- for( sc1 = cs; *sc1 != '\0'; ++sc1)
+- for( sc2 = ct; *sc2 != '\0'; ++sc2)
+- if (*sc1 == *sc2)
+- return((char *) sc1);
+- return( NULL );
+-}
+-#endif
+-
+-#if 0
+-#define __HAVE_ARCH_STRSPN
+-static inline size_t strspn(const char *s, const char *accept)
+-{
+- const char *p;
+- const char *a;
+- size_t count = 0;
+-
+- for (p = s; *p != '\0'; ++p)
+- {
+- for (a = accept; *a != '\0'; ++a)
+- if (*p == *a)
+- break;
+- if (*a == '\0')
+- return count;
+- else
+- ++count;
+- }
+-
+- return count;
+-}
+-#endif
+-
+ /* strstr !! */
+
+ #define __HAVE_ARCH_STRLEN
+@@ -173,370 +136,18 @@
+ }
+
+ #define __HAVE_ARCH_MEMSET
+-/*
+- * This is really ugly, but its highly optimizatiable by the
+- * compiler and is meant as compensation for gcc's missing
+- * __builtin_memset(). For the 680[23]0 it might be worth considering
+- * the optimal number of misaligned writes compared to the number of
+- * tests'n'branches needed to align the destination address. The
+- * 680[46]0 doesn't really care due to their copy-back caches.
+- * 10/09/96 - Jes Sorensen
+- */
+-static inline void * __memset_g(void * s, int c, size_t count)
+-{
+- void *xs = s;
+- size_t temp;
+-
+- if (!count)
+- return xs;
+-
+- c &= 0xff;
+- c |= c << 8;
+- c |= c << 16;
+-
+- if (count < 36){
+- long *ls = s;
+-
+- switch(count){
+- case 32: case 33: case 34: case 35:
+- *ls++ = c;
+- case 28: case 29: case 30: case 31:
+- *ls++ = c;
+- case 24: case 25: case 26: case 27:
+- *ls++ = c;
+- case 20: case 21: case 22: case 23:
+- *ls++ = c;
+- case 16: case 17: case 18: case 19:
+- *ls++ = c;
+- case 12: case 13: case 14: case 15:
+- *ls++ = c;
+- case 8: case 9: case 10: case 11:
+- *ls++ = c;
+- case 4: case 5: case 6: case 7:
+- *ls++ = c;
+- break;
+- default:
+- break;
+- }
+- s = ls;
+- if (count & 0x02){
+- short *ss = s;
+- *ss++ = c;
+- s = ss;
+- }
+- if (count & 0x01){
+- char *cs = s;
+- *cs++ = c;
+- s = cs;
+- }
+- return xs;
+- }
+-
+- if ((long) s & 1)
+- {
+- char *cs = s;
+- *cs++ = c;
+- s = cs;
+- count--;
+- }
+- if (count > 2 && (long) s & 2)
+- {
+- short *ss = s;
+- *ss++ = c;
+- s = ss;
+- count -= 2;
+- }
+- temp = count >> 2;
+- if (temp)
+- {
+- long *ls = s;
+- temp--;
+- do
+- *ls++ = c;
+- while (temp--);
+- s = ls;
+- }
+- if (count & 2)
+- {
+- short *ss = s;
+- *ss++ = c;
+- s = ss;
+- }
+- if (count & 1)
+- {
+- char *cs = s;
+- *cs = c;
+- }
+- return xs;
+-}
+-
+-/*
+- * __memset_page assumes that data is longword aligned. Most, if not
+- * all, of these page sized memsets are performed on page aligned
+- * areas, thus we do not need to check if the destination is longword
+- * aligned. Of course we suffer a serious performance loss if this is
+- * not the case but I think the risk of this ever happening is
+- * extremely small. We spend a lot of time clearing pages in
+- * get_empty_page() so I think it is worth it anyway. Besides, the
+- * 680[46]0 do not really care about misaligned writes due to their
+- * copy-back cache.
+- *
+- * The optimized case for the 680[46]0 is implemented using the move16
+- * instruction. My tests showed that this implementation is 35-45%
+- * faster than the original implementation using movel, the only
+- * caveat is that the destination address must be 16-byte aligned.
+- * 01/09/96 - Jes Sorensen
+- */
+-static inline void * __memset_page(void * s,int c,size_t count)
+-{
+- unsigned long data, tmp;
+- void *xs = s;
+-
+- c = c & 255;
+- data = c | (c << 8);
+- data |= data << 16;
+-
+-#ifdef CPU_M68040_OR_M68060_ONLY
+-
+- if (((unsigned long) s) & 0x0f)
+- __memset_g(s, c, count);
+- else{
+- unsigned long *sp = s;
+- *sp++ = data;
+- *sp++ = data;
+- *sp++ = data;
+- *sp++ = data;
+-
+- __asm__ __volatile__("1:\t"
+- ".chip 68040\n\t"
+- "move16 %2 at +,%0 at +\n\t"
+- ".chip 68k\n\t"
+- "subqw #8,%2\n\t"
+- "subqw #8,%2\n\t"
+- "dbra %1,1b\n\t"
+- : "=a" (sp), "=d" (tmp)
+- : "a" (s), "0" (sp), "1" ((count - 16) / 16 - 1)
+- );
+- }
+-
+-#else
+- __asm__ __volatile__("1:\t"
+- "movel %2,%0 at +\n\t"
+- "movel %2,%0 at +\n\t"
+- "movel %2,%0 at +\n\t"
+- "movel %2,%0 at +\n\t"
+- "movel %2,%0 at +\n\t"
+- "movel %2,%0 at +\n\t"
+- "movel %2,%0 at +\n\t"
+- "movel %2,%0 at +\n\t"
+- "dbra %1,1b\n\t"
+- : "=a" (s), "=d" (tmp)
+- : "d" (data), "0" (s), "1" (count / 32 - 1)
+- );
+-#endif
+-
+- return xs;
+-}
+-
+-extern void *memset(void *,int,__kernel_size_t);
+-
+-#define __memset_const(s,c,count) \
+-((count==PAGE_SIZE) ? \
+- __memset_page((s),(c),(count)) : \
+- __memset_g((s),(c),(count)))
+-
+-#define memset(s, c, count) \
+-(__builtin_constant_p(count) ? \
+- __memset_const((s),(c),(count)) : \
+- __memset_g((s),(c),(count)))
++extern void *memset(void *, int, __kernel_size_t);
++#define memset(d, c, n) __builtin_memset(d, c, n)
+
+ #define __HAVE_ARCH_MEMCPY
+-extern void * memcpy(void *, const void *, size_t );
+-/*
+- * __builtin_memcpy() does not handle page-sized memcpys very well,
+- * thus following the same assumptions as for page-sized memsets, this
+- * function copies page-sized areas using an unrolled loop, without
+- * considering alignment.
+- *
+- * For the 680[46]0 only kernels we use the move16 instruction instead
+- * as it writes through the data-cache, invalidating the cache-lines
+- * touched. In this way we do not use up the entire data-cache (well,
+- * half of it on the 68060) by copying a page. An unrolled loop of two
+- * move16 instructions seem to the fastest. The only caveat is that
+- * both source and destination must be 16-byte aligned, if not we fall
+- * back to the generic memcpy function. - Jes
+- */
+-static inline void * __memcpy_page(void * to, const void * from, size_t count)
+-{
+- unsigned long tmp;
+- void *xto = to;
+-
+-#ifdef CPU_M68040_OR_M68060_ONLY
+-
+- if (((unsigned long) to | (unsigned long) from) & 0x0f)
+- return memcpy(to, from, count);
+-
+- __asm__ __volatile__("1:\t"
+- ".chip 68040\n\t"
+- "move16 %1 at +,%0 at +\n\t"
+- "move16 %1 at +,%0 at +\n\t"
+- ".chip 68k\n\t"
+- "dbra %2,1b\n\t"
+- : "=a" (to), "=a" (from), "=d" (tmp)
+- : "0" (to), "1" (from) , "2" (count / 32 - 1)
+- );
+-#else
+- __asm__ __volatile__("1:\t"
+- "movel %1 at +,%0 at +\n\t"
+- "movel %1 at +,%0 at +\n\t"
+- "movel %1 at +,%0 at +\n\t"
+- "movel %1 at +,%0 at +\n\t"
+- "movel %1 at +,%0 at +\n\t"
+- "movel %1 at +,%0 at +\n\t"
+- "movel %1 at +,%0 at +\n\t"
+- "movel %1 at +,%0 at +\n\t"
+- "dbra %2,1b\n\t"
+- : "=a" (to), "=a" (from), "=d" (tmp)
+- : "0" (to), "1" (from) , "2" (count / 32 - 1)
+- );
+-#endif
+- return xto;
+-}
+-
+-#define __memcpy_const(to, from, n) \
+-((n==PAGE_SIZE) ? \
+- __memcpy_page((to),(from),(n)) : \
+- __builtin_memcpy((to),(from),(n)))
+-
+-#define memcpy(to, from, n) \
+-(__builtin_constant_p(n) ? \
+- __memcpy_const((to),(from),(n)) : \
+- memcpy((to),(from),(n)))
++extern void *memcpy(void *, const void *, __kernel_size_t);
++#define memcpy(d, s, n) __builtin_memcpy(d, s, n)
+
+ #define __HAVE_ARCH_MEMMOVE
+-static inline void * memmove(void * dest,const void * src, size_t n)
+-{
+- void *xdest = dest;
+- size_t temp;
+-
+- if (!n)
+- return xdest;
+-
+- if (dest < src)
+- {
+- if ((long) dest & 1)
+- {
+- char *cdest = dest;
+- const char *csrc = src;
+- *cdest++ = *csrc++;
+- dest = cdest;
+- src = csrc;
+- n--;
+- }
+- if (n > 2 && (long) dest & 2)
+- {
+- short *sdest = dest;
+- const short *ssrc = src;
+- *sdest++ = *ssrc++;
+- dest = sdest;
+- src = ssrc;
+- n -= 2;
+- }
+- temp = n >> 2;
+- if (temp)
+- {
+- long *ldest = dest;
+- const long *lsrc = src;
+- temp--;
+- do
+- *ldest++ = *lsrc++;
+- while (temp--);
+- dest = ldest;
+- src = lsrc;
+- }
+- if (n & 2)
+- {
+- short *sdest = dest;
+- const short *ssrc = src;
+- *sdest++ = *ssrc++;
+- dest = sdest;
+- src = ssrc;
+- }
+- if (n & 1)
+- {
+- char *cdest = dest;
+- const char *csrc = src;
+- *cdest = *csrc;
+- }
+- }
+- else
+- {
+- dest = (char *) dest + n;
+- src = (const char *) src + n;
+- if ((long) dest & 1)
+- {
+- char *cdest = dest;
+- const char *csrc = src;
+- *--cdest = *--csrc;
+- dest = cdest;
+- src = csrc;
+- n--;
+- }
+- if (n > 2 && (long) dest & 2)
+- {
+- short *sdest = dest;
+- const short *ssrc = src;
+- *--sdest = *--ssrc;
+- dest = sdest;
+- src = ssrc;
+- n -= 2;
+- }
+- temp = n >> 2;
+- if (temp)
+- {
+- long *ldest = dest;
+- const long *lsrc = src;
+- temp--;
+- do
+- *--ldest = *--lsrc;
+- while (temp--);
+- dest = ldest;
+- src = lsrc;
+- }
+- if (n & 2)
+- {
+- short *sdest = dest;
+- const short *ssrc = src;
+- *--sdest = *--ssrc;
+- dest = sdest;
+- src = ssrc;
+- }
+- if (n & 1)
+- {
+- char *cdest = dest;
+- const char *csrc = src;
+- *--cdest = *--csrc;
+- }
+- }
+- return xdest;
+-}
++extern void *memmove(void *, const void *, __kernel_size_t);
+
+ #define __HAVE_ARCH_MEMCMP
+-extern int memcmp(const void * ,const void * ,size_t );
+-#define memcmp(cs, ct, n) \
+-(__builtin_constant_p(n) ? \
+- __builtin_memcmp((cs),(ct),(n)) : \
+- memcmp((cs),(ct),(n)))
+-
+-#define __HAVE_ARCH_MEMCHR
+-static inline void *memchr(const void *cs, int c, size_t count)
+-{
+- /* Someone else can optimize this, I don't care - tonym at mac.linux-m68k.org */
+- unsigned char *ret = (unsigned char *)cs;
+- for(;count>0;count--,ret++)
+- if(*ret == c) return ret;
+-
+- return NULL;
+-}
++extern int memcmp(const void *, const void *, __kernel_size_t);
++#define memcmp(d, s, n) __builtin_memcmp(d, s, n)
+
+ #endif /* _M68K_STRING_H_ */
+diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.13-i386/include/asm-m68k/thread_info.h linux-2.6.13/include/asm-m68k/thread_info.h
+--- linux-2.6.13-i386/include/asm-m68k/thread_info.h 2005-08-29 01:41:01.000000000 +0200
++++ linux-2.6.13/include/asm-m68k/thread_info.h 2005-08-30 16:36:04.000000000 +0200
@@ -2,17 +2,15 @@
#define _ASM_M68K_THREAD_INFO_H
@@ -4676,7 +5496,7 @@
struct task_struct *task; /* main task structure */
+ unsigned long flags;
struct exec_domain *exec_domain; /* execution domain */
- __s32 preempt_count; /* 0 => preemptable, <0 => BUG */
+ int preempt_count; /* 0 => preemptable, <0 => BUG */
__u32 cpu; /* should always be 0 on m68k */
struct restart_block restart_block;
-
@@ -4794,9 +5614,9 @@
+#define TIF_MEMDIE 16
#endif /* _ASM_M68K_THREAD_INFO_H */
-diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.12-i386/include/linux/adb.h linux-2.6.12/include/linux/adb.h
---- linux-2.6.12-i386/include/linux/adb.h 2005-06-17 21:48:29.000000000 +0200
-+++ linux-2.6.12/include/linux/adb.h 2003-03-25 20:25:16.000000000 +0100
+diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.13-i386/include/linux/adb.h linux-2.6.13/include/linux/adb.h
+--- linux-2.6.13-i386/include/linux/adb.h 2005-08-29 01:41:01.000000000 +0200
++++ linux-2.6.13/include/linux/adb.h 2003-03-25 20:25:16.000000000 +0100
@@ -76,6 +76,7 @@
#define ADBREQ_REPLY 1 /* expect reply */
#define ADBREQ_SYNC 2 /* poll until done */
@@ -4805,10 +5625,10 @@
/* Messages sent thru the client_list notifier. You should NOT stop
the operation, at least not with this version */
-diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.12-i386/include/linux/bootmem.h linux-2.6.12/include/linux/bootmem.h
---- linux-2.6.12-i386/include/linux/bootmem.h 2005-06-17 21:48:29.000000000 +0200
-+++ linux-2.6.12/include/linux/bootmem.h 2005-04-25 23:13:10.000000000 +0200
-@@ -45,11 +45,11 @@
+diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.13-i386/include/linux/bootmem.h linux-2.6.13/include/linux/bootmem.h
+--- linux-2.6.13-i386/include/linux/bootmem.h 2005-08-29 01:41:01.000000000 +0200
++++ linux-2.6.13/include/linux/bootmem.h 2005-08-30 16:36:32.000000000 +0200
+@@ -49,11 +49,11 @@
#define alloc_bootmem(x) \
__alloc_bootmem((x), SMP_CACHE_BYTES, __pa(MAX_DMA_ADDRESS))
#define alloc_bootmem_low(x) \
@@ -4822,9 +5642,9 @@
#endif /* !CONFIG_HAVE_ARCH_BOOTMEM_NODE */
extern unsigned long __init free_all_bootmem (void);
-diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.12-i386/include/linux/ide.h linux-2.6.12/include/linux/ide.h
---- linux-2.6.12-i386/include/linux/ide.h 2005-06-17 21:48:29.000000000 +0200
-+++ linux-2.6.12/include/linux/ide.h 2005-06-19 16:36:06.000000000 +0200
+diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.13-i386/include/linux/ide.h linux-2.6.13/include/linux/ide.h
+--- linux-2.6.13-i386/include/linux/ide.h 2005-08-29 01:41:01.000000000 +0200
++++ linux-2.6.13/include/linux/ide.h 2005-08-30 16:36:33.000000000 +0200
@@ -592,7 +592,7 @@
* sense_key : Sense key of the last failed packet command
*/
@@ -4834,9 +5654,9 @@
struct {
#if defined(__LITTLE_ENDIAN_BITFIELD)
unsigned ili :1;
-diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.12-i386/include/linux/init_task.h linux-2.6.12/include/linux/init_task.h
---- linux-2.6.12-i386/include/linux/init_task.h 2005-06-17 21:48:29.000000000 +0200
-+++ linux-2.6.12/include/linux/init_task.h 2005-06-19 16:36:06.000000000 +0200
+diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.13-i386/include/linux/init_task.h linux-2.6.13/include/linux/init_task.h
+--- linux-2.6.13-i386/include/linux/init_task.h 2005-08-29 01:41:01.000000000 +0200
++++ linux-2.6.13/include/linux/init_task.h 2005-08-30 16:36:33.000000000 +0200
@@ -70,7 +70,7 @@
#define INIT_TASK(tsk) \
{ \
@@ -4846,9 +5666,9 @@
.usage = ATOMIC_INIT(2), \
.flags = 0, \
.lock_depth = -1, \
-diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.12-i386/include/linux/interrupt.h linux-2.6.12/include/linux/interrupt.h
---- linux-2.6.12-i386/include/linux/interrupt.h 2005-06-17 21:48:29.000000000 +0200
-+++ linux-2.6.12/include/linux/interrupt.h 2005-05-30 16:33:46.000000000 +0200
+diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.13-i386/include/linux/interrupt.h linux-2.6.13/include/linux/interrupt.h
+--- linux-2.6.13-i386/include/linux/interrupt.h 2005-08-29 01:41:01.000000000 +0200
++++ linux-2.6.13/include/linux/interrupt.h 2005-05-30 16:33:46.000000000 +0200
@@ -9,6 +9,7 @@
#include <linux/preempt.h>
#include <linux/cpumask.h>
@@ -4857,10 +5677,10 @@
#include <asm/atomic.h>
#include <asm/ptrace.h>
#include <asm/system.h>
-diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.12-i386/include/linux/sched.h linux-2.6.12/include/linux/sched.h
---- linux-2.6.12-i386/include/linux/sched.h 2005-06-17 21:48:29.000000000 +0200
-+++ linux-2.6.12/include/linux/sched.h 2005-06-19 16:36:08.000000000 +0200
-@@ -573,7 +573,8 @@
+diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.13-i386/include/linux/sched.h linux-2.6.13/include/linux/sched.h
+--- linux-2.6.13-i386/include/linux/sched.h 2005-08-29 01:41:01.000000000 +0200
++++ linux-2.6.13/include/linux/sched.h 2005-08-30 16:36:35.000000000 +0200
+@@ -598,7 +598,8 @@
struct task_struct {
volatile long state; /* -1 unrunnable, 0 runnable, >0 stopped */
@@ -4870,7 +5690,7 @@
atomic_t usage;
unsigned long flags; /* per process flags, defined below */
unsigned long ptrace;
-@@ -1105,32 +1106,50 @@
+@@ -1136,32 +1137,50 @@
spin_unlock(&p->alloc_lock);
}
@@ -4926,9 +5746,9 @@
}
static inline void set_tsk_need_resched(struct task_struct *tsk)
-diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.12-i386/include/linux/smp_lock.h linux-2.6.12/include/linux/smp_lock.h
---- linux-2.6.12-i386/include/linux/smp_lock.h 2005-06-17 21:48:29.000000000 +0200
-+++ linux-2.6.12/include/linux/smp_lock.h 2005-04-25 23:13:18.000000000 +0200
+diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.13-i386/include/linux/smp_lock.h linux-2.6.13/include/linux/smp_lock.h
+--- linux-2.6.13-i386/include/linux/smp_lock.h 2005-08-29 01:41:01.000000000 +0200
++++ linux-2.6.13/include/linux/smp_lock.h 2005-04-25 23:13:18.000000000 +0200
@@ -2,7 +2,6 @@
#define __LINUX_SMPLOCK_H
@@ -4937,9 +5757,9 @@
#include <linux/spinlock.h>
#ifdef CONFIG_LOCK_KERNEL
-diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.12-i386/include/linux/thread_info.h linux-2.6.12/include/linux/thread_info.h
---- linux-2.6.12-i386/include/linux/thread_info.h 2005-06-17 21:48:29.000000000 +0200
-+++ linux-2.6.12/include/linux/thread_info.h 2005-05-30 16:33:47.000000000 +0200
+diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.13-i386/include/linux/thread_info.h linux-2.6.13/include/linux/thread_info.h
+--- linux-2.6.13-i386/include/linux/thread_info.h 2005-08-29 01:41:01.000000000 +0200
++++ linux-2.6.13/include/linux/thread_info.h 2005-05-30 16:33:47.000000000 +0200
@@ -27,31 +27,6 @@
* - pass TIF_xxxx constants to these functions
*/
@@ -5002,10 +5822,10 @@
+#endif /* __KERNEL__ */
#endif /* _LINUX_THREAD_INFO_H */
-diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.12-i386/kernel/exit.c linux-2.6.12/kernel/exit.c
---- linux-2.6.12-i386/kernel/exit.c 2005-06-17 21:48:29.000000000 +0200
-+++ linux-2.6.12/kernel/exit.c 2005-06-19 16:36:18.000000000 +0200
-@@ -826,7 +826,7 @@
+diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.13-i386/kernel/exit.c linux-2.6.13/kernel/exit.c
+--- linux-2.6.13-i386/kernel/exit.c 2005-08-29 01:41:01.000000000 +0200
++++ linux-2.6.13/kernel/exit.c 2005-08-30 16:36:41.000000000 +0200
+@@ -846,7 +846,7 @@
if (group_dead && tsk->signal->leader)
disassociate_ctty(1);
@@ -5014,9 +5834,9 @@
if (tsk->binfmt)
module_put(tsk->binfmt->module);
-diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.12-i386/kernel/fork.c linux-2.6.12/kernel/fork.c
---- linux-2.6.12-i386/kernel/fork.c 2005-06-17 21:48:29.000000000 +0200
-+++ linux-2.6.12/kernel/fork.c 2005-06-19 16:36:18.000000000 +0200
+diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.13-i386/kernel/fork.c linux-2.6.13/kernel/fork.c
+--- linux-2.6.13-i386/kernel/fork.c 2005-08-29 01:41:01.000000000 +0200
++++ linux-2.6.13/kernel/fork.c 2005-08-30 16:36:41.000000000 +0200
@@ -100,7 +100,7 @@
void free_task(struct task_struct *tsk)
@@ -5057,7 +5877,7 @@
/* One for us, one for whoever does the "release_task()" (usually parent) */
atomic_set(&tsk->usage,2);
-@@ -893,7 +893,7 @@
+@@ -898,7 +898,7 @@
if (nr_threads >= max_threads)
goto bad_fork_cleanup_count;
@@ -5066,7 +5886,7 @@
goto bad_fork_cleanup_count;
if (p->binfmt && !try_module_get(p->binfmt->module))
-@@ -1138,7 +1138,7 @@
+@@ -1151,7 +1151,7 @@
if (p->binfmt)
module_put(p->binfmt->module);
bad_fork_cleanup_put_domain:
@@ -5075,10 +5895,10 @@
bad_fork_cleanup_count:
put_group_info(p->group_info);
atomic_dec(&p->user->processes);
-diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.12-i386/kernel/sched.c linux-2.6.12/kernel/sched.c
---- linux-2.6.12-i386/kernel/sched.c 2005-06-17 21:48:29.000000000 +0200
-+++ linux-2.6.12/kernel/sched.c 2005-06-19 16:36:19.000000000 +0200
-@@ -3962,10 +3962,10 @@
+diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.13-i386/kernel/sched.c linux-2.6.13/kernel/sched.c
+--- linux-2.6.13-i386/kernel/sched.c 2005-08-29 01:41:01.000000000 +0200
++++ linux-2.6.13/kernel/sched.c 2005-08-30 16:36:43.000000000 +0200
+@@ -4121,10 +4121,10 @@
#endif
#ifdef CONFIG_DEBUG_STACK_USAGE
{
@@ -5091,7 +5911,7 @@
}
#endif
printk("%5lu %5d %6d ", free, p->pid, p->parent->pid);
-@@ -4035,9 +4035,9 @@
+@@ -4204,9 +4204,9 @@
/* Set the preempt count _outside_ the spinlocks! */
#if defined(CONFIG_PREEMPT) && !defined(CONFIG_PREEMPT_BKL)
@@ -5103,33 +5923,36 @@
#endif
}
-diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.12-i386/mm/bootmem.c linux-2.6.12/mm/bootmem.c
---- linux-2.6.12-i386/mm/bootmem.c 2005-06-17 21:48:29.000000000 +0200
-+++ linux-2.6.12/mm/bootmem.c 2005-04-25 23:13:33.000000000 +0200
-@@ -266,7 +266,6 @@
+diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.13-i386/mm/bootmem.c linux-2.6.13/mm/bootmem.c
+--- linux-2.6.13-i386/mm/bootmem.c 2005-08-29 01:41:01.000000000 +0200
++++ linux-2.6.13/mm/bootmem.c 2005-08-30 16:36:44.000000000 +0200
+@@ -275,7 +275,6 @@
count = 0;
/* first extant page of the node */
-- page = virt_to_page(phys_to_virt(bdata->node_boot_start));
+- pfn = bdata->node_boot_start >> PAGE_SHIFT;
idx = bdata->node_low_pfn - (bdata->node_boot_start >> PAGE_SHIFT);
map = bdata->node_bootmem_map;
/* Check physaddr is O(LOG2(BITS_PER_LONG)) page aligned */
-@@ -278,6 +277,8 @@
+@@ -288,7 +287,8 @@
if (gofast && v == ~0UL) {
int j, order;
+- page = pfn_to_page(pfn);
+ page = virt_to_page(phys_to_virt((i << PAGE_SHIFT) +
+ bdata->node_boot_start));
count += BITS_PER_LONG;
__ClearPageReserved(page);
order = ffs(BITS_PER_LONG) - 1;
-@@ -289,21 +290,20 @@
+@@ -300,23 +300,20 @@
}
__free_pages(page, order);
i += BITS_PER_LONG;
- page += BITS_PER_LONG;
} else if (v) {
unsigned long m;
+-
+- page = pfn_to_page(pfn);
- for (m = 1; m && i < idx; m<<=1, page++, i++) {
+ for (m = 1; m && i < idx; m<<=1, i++) {
if (v & m) {
@@ -5144,14 +5967,14 @@
- } else {
+ } else
i+=BITS_PER_LONG;
-- page += BITS_PER_LONG;
- }
+- pfn += BITS_PER_LONG;
}
total += count;
-diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.12-i386/sound/oss/dmasound/dmasound_paula.c linux-2.6.12/sound/oss/dmasound/dmasound_paula.c
---- linux-2.6.12-i386/sound/oss/dmasound/dmasound_paula.c 2005-06-17 21:48:29.000000000 +0200
-+++ linux-2.6.12/sound/oss/dmasound/dmasound_paula.c 2005-05-30 16:34:14.000000000 +0200
+diff -urN --exclude-from=/usr/src/exclude-file linux-2.6.13-i386/sound/oss/dmasound/dmasound_paula.c linux-2.6.13/sound/oss/dmasound/dmasound_paula.c
+--- linux-2.6.13-i386/sound/oss/dmasound/dmasound_paula.c 2005-08-29 01:41:01.000000000 +0200
++++ linux-2.6.13/sound/oss/dmasound/dmasound_paula.c 2005-05-30 16:34:14.000000000 +0200
@@ -244,6 +244,7 @@
u_char frame[], ssize_t *frameUsed, \
ssize_t frameLeft) \
More information about the Kernel-svn-changes
mailing list