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