rpms/kernel/devel linux-2.6.9-xen-compile.patch,1.30,1.31
fedora-cvs-commits at redhat.com
fedora-cvs-commits at redhat.com
Thu Mar 31 03:09:44 UTC 2005
Update of /cvs/dist/rpms/kernel/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv18268
Modified Files:
linux-2.6.9-xen-compile.patch
Log Message:
ugly hack to get __put_user_* in place
linux-2.6.9-xen-compile.patch:
linux-2.6.10/arch/xen/i386/pci/irq.c | 1
linux-2.6.11-xen-sparse/include/asm-xen/asm-i386/pgtable-2level.h | 2
linux-2.6.11/arch/xen/Kconfig | 2
linux-2.6.11/arch/xen/i386/kernel/Makefile | 2
linux-2.6.11/arch/xen/i386/kernel/i386_ksyms.c | 5
linux-2.6.11/arch/xen/i386/kernel/putuser.S | 87 ++++++++++
linux-2.6.11/arch/xen/i386/kernel/time.c | 45 ++++-
linux-2.6.11/arch/xen/i386/pci/irq.c | 4
linux-2.6.11/drivers/char/mem.c | 4
linux-2.6.11/drivers/char/tty_io.c | 2
linux-2.6.11/include/asm-generic/pgtable.h | 1
linux-2.6.11/include/asm-xen/asm-i386/pgtable.h | 22 +-
linux-2.6.11/mm/memory.c | 4
linux-2.6.8/arch/xen/i386/kernel/time.c | 2
linux-2.6.9/Makefile | 2
linux-2.6.9/arch/xen/Makefile | 3
linux-2.6.9/arch/xen/boot/Makefile | 3
linux-2.6.9/include/asm-i386/irq.h | 4
linux-2.6.9/kernel/profile.c | 1
19 files changed, 171 insertions(+), 25 deletions(-)
Index: linux-2.6.9-xen-compile.patch
===================================================================
RCS file: /cvs/dist/rpms/kernel/devel/linux-2.6.9-xen-compile.patch,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -r1.30 -r1.31
--- linux-2.6.9-xen-compile.patch 30 Mar 2005 20:22:22 -0000 1.30
+++ linux-2.6.9-xen-compile.patch 31 Mar 2005 03:09:41 -0000 1.31
@@ -312,3 +312,118 @@
{
xtime.tv_sec = get_cmos_time();
xtime.tv_nsec = (INITIAL_JIFFIES % HZ) * (NSEC_PER_SEC / HZ);
+--- linux-2.6.11/arch/xen/i386/kernel/putuser.S.orig 2005-03-30 22:06:45.000000000 -0500
++++ linux-2.6.11/arch/xen/i386/kernel/putuser.S 2005-03-30 22:06:52.000000000 -0500
+@@ -0,0 +1,87 @@
++/*
++ * __put_user functions.
++ *
++ * (C) Copyright 2005 Linus Torvalds
++ *
++ * These functions have a non-standard call interface
++ * to make them more efficient, especially as they
++ * return an error value in addition to the "real"
++ * return value.
++ */
++#include <asm/thread_info.h>
++
++
++/*
++ * __put_user_X
++ *
++ * Inputs: %eax[:%edx] contains the data
++ * %ecx contains the address
++ *
++ * Outputs: %eax is error code (0 or -EFAULT)
++ *
++ * These functions should not modify any other registers,
++ * as they get called from within inline assembly.
++ */
++
++#define ENTER pushl %ebx ; GET_THREAD_INFO(%ebx)
++#define EXIT popl %ebx ; ret
++
++.text
++.align 4
++.globl __put_user_1
++__put_user_1:
++ ENTER
++ cmpl TI_addr_limit(%ebx),%ecx
++ jae bad_put_user
++1: movb %al,(%ecx)
++ xorl %eax,%eax
++ EXIT
++
++.align 4
++.globl __put_user_2
++__put_user_2:
++ ENTER
++ movl TI_addr_limit(%ebx),%ebx
++ subl $1,%ebx
++ cmpl %ebx,%ecx
++ jae bad_put_user
++2: movw %ax,(%ecx)
++ xorl %eax,%eax
++ EXIT
++
++.align 4
++.globl __put_user_4
++__put_user_4:
++ ENTER
++ movl TI_addr_limit(%ebx),%ebx
++ subl $3,%ebx
++ cmpl %ebx,%ecx
++ jae bad_put_user
++3: movl %eax,(%ecx)
++ xorl %eax,%eax
++ EXIT
++
++.align 4
++.globl __put_user_8
++__put_user_8:
++ ENTER
++ movl TI_addr_limit(%ebx),%ebx
++ subl $7,%ebx
++ cmpl %ebx,%ecx
++ jae bad_put_user
++4: movl %eax,(%ecx)
++5: movl %edx,4(%ecx)
++ xorl %eax,%eax
++ EXIT
++
++bad_put_user:
++ movl $-14,%eax
++ EXIT
++
++.section __ex_table,"a"
++ .long 1b,bad_put_user
++ .long 2b,bad_put_user
++ .long 3b,bad_put_user
++ .long 4b,bad_put_user
++ .long 5b,bad_put_user
++.previous
+--- linux-2.6.11/arch/xen/i386/kernel/Makefile.orig 2005-03-30 22:06:58.000000000 -0500
++++ linux-2.6.11/arch/xen/i386/kernel/Makefile 2005-03-30 22:08:19.000000000 -0500
+@@ -10,7 +10,7 @@ extra-y := head.o init_task.o
+
+ obj-y := process.o signal.o entry.o traps.o \
+ time.o ioport.o ldt.o setup.o \
+- pci-dma.o i386_ksyms.o
++ pci-dma.o i386_ksyms.o putuser.o
+
+ c-obj-y := semaphore.o irq.o vm86.o \
+ ptrace.o sys_i386.o \
+--- linux-2.6.11/arch/xen/i386/kernel/i386_ksyms.c.orig 2005-03-30 22:07:13.000000000 -0500
++++ linux-2.6.11/arch/xen/i386/kernel/i386_ksyms.c 2005-03-30 22:07:48.000000000 -0500
+@@ -99,6 +99,11 @@ EXPORT_SYMBOL(__get_user_1);
+ EXPORT_SYMBOL(__get_user_2);
+ EXPORT_SYMBOL(__get_user_4);
+
++EXPORT_SYMBOL(__put_user_1);
++EXPORT_SYMBOL(__put_user_2);
++EXPORT_SYMBOL(__put_user_4);
++EXPORT_SYMBOL(__put_user_8);
++
+ EXPORT_SYMBOL(strpbrk);
+ EXPORT_SYMBOL(strstr);
+
More information about the fedora-cvs-commits
mailing list