dslinux/linux-2.6.x/include/asm-arm uaccess.h
amadeus
dslinux_amadeus at user.in-berlin.de
Mon Aug 14 20:46:47 CEST 2006
Update of /cvsroot/dslinux/dslinux/linux-2.6.x/include/asm-arm
In directory antilope:/tmp/cvs-serv476/linux-2.6.x/include/asm-arm
Modified Files:
uaccess.h
Log Message:
8bit write cleanup
Index: uaccess.h
===================================================================
RCS file: /cvsroot/dslinux/dslinux/linux-2.6.x/include/asm-arm/uaccess.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- uaccess.h 20 Feb 2006 16:03:06 -0000 1.2
+++ uaccess.h 14 Aug 2006 18:46:45 -0000 1.3
@@ -16,6 +16,7 @@
#include <asm/memory.h>
#include <asm/domain.h>
#include <asm/system.h>
+#include <linux/config.h>
#define VERIFY_READ 0
#define VERIFY_WRITE 1
@@ -287,6 +288,24 @@
} \
} while (0)
+#ifdef CONFIG_NDS_ROM8BIT
+#define __put_user_asm_byte(x,__pu_addr,err) \
+ __asm__ __volatile__( \
+ "1: swpb ip, %1,[%2]\n" \
+ "2:\n" \
+ " .section .fixup,\"ax\"\n" \
+ " .align 2\n" \
+ "3: mov %0, %3\n" \
+ " b 2b\n" \
+ " .previous\n" \
+ " .section __ex_table,\"a\"\n" \
+ " .align 3\n" \
+ " .long 1b, 3b\n" \
+ " .previous" \
+ : "+r" (err) \
+ : "r" (x), "r" (__pu_addr), "i" (-EFAULT) \
+ : "ip", "cc")
+#else
#define __put_user_asm_byte(x,__pu_addr,err) \
__asm__ __volatile__( \
"1: strbt %1,[%2],#0\n" \
@@ -303,6 +322,7 @@
: "+r" (err) \
: "r" (x), "r" (__pu_addr), "i" (-EFAULT) \
: "cc")
+#endif
#ifndef __ARMEB__
#define __put_user_asm_half(x,__pu_addr,err) \
More information about the dslinux-commit
mailing list