dslinux/linux-2.6.x/arch/arm/lib io-readsw-armv4.S

amadeus dslinux_amadeus at user.in-berlin.de
Mon Aug 14 21:19:09 CEST 2006


Update of /cvsroot/dslinux/dslinux/linux-2.6.x/arch/arm/lib
In directory antilope:/tmp/cvs-serv9176/linux-2.6.x/arch/arm/lib

Modified Files:
	io-readsw-armv4.S 
Log Message:
8bit write cleanup

Index: io-readsw-armv4.S
===================================================================
RCS file: /cvsroot/dslinux/dslinux/linux-2.6.x/arch/arm/lib/io-readsw-armv4.S,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- io-readsw-armv4.S	20 Feb 2006 16:31:28 -0000	1.2
+++ io-readsw-armv4.S	14 Aug 2006 19:19:07 -0000	1.3
@@ -9,6 +9,7 @@
  */
 #include <linux/linkage.h>
 #include <asm/assembler.h>
+#include <linux/config.h>
 
 		.macro	pack, rd, hw1, hw2
 #ifndef __ARMEB__
@@ -100,7 +101,12 @@
 		ldrh	ip, [r0]
 		sub	r2, r2, #1
    _BE_ONLY_(	mov	ip, ip, ror #8		)
+#ifdef CONFIG_NDS_ROM8BIT
+		swpb	r4, ip, [r1]
+		add	r1, r1, #1
+#else
 		strb	ip, [r1], #1
+#endif   
    _LE_ONLY_(	mov	ip, ip, lsr #8		)
    _BE_ONLY_(	mov	ip, ip, lsr #24		)
 
@@ -120,11 +126,25 @@
    _BE_ONLY_(	mov	ip, ip, lsr #24		)
 
 3:		tst	r2, #1
+#ifdef CONFIG_NDS_ROM8BIT
+		swpb	r4, ip, [r1]
+		add	r1, r1, #1
+#else
 		strb	ip, [r1], #1
+#endif
 		ldrneh	ip, [r0]
    _BE_ONLY_(	movne	ip, ip, ror #8		)
+#ifdef CONFIG_NDS_ROM8BIT
+		swpneb	r4, ip, [r1]
+		addne	r1, r1, #1
+#else
 		strneb	ip, [r1], #1
+#endif
    _LE_ONLY_(	movne	ip, ip, lsr #8		)
    _BE_ONLY_(	movne	ip, ip, lsr #24		)
+#ifdef CONFIG_NDS_ROM8BIT
+		swpneb	r4, ip, [r1]
+#else
 		strneb	ip, [r1]
+#endif
 		ldmfd	sp!, {r4, pc}




More information about the dslinux-commit mailing list