Module Name:    src
Committed By:   joerg
Date:           Tue Dec 17 01:27:21 UTC 2013

Modified Files:
        src/common/lib/libc/arch/arm/string: memcpy_xscale.S
        src/sys/arch/arm/arm32: bcopy_page.S locore.S

Log Message:
Write out register pairs for strd.


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 src/common/lib/libc/arch/arm/string/memcpy_xscale.S
cvs rdiff -u -r1.9 -r1.10 src/sys/arch/arm/arm32/bcopy_page.S
cvs rdiff -u -r1.34 -r1.35 src/sys/arch/arm/arm32/locore.S

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/common/lib/libc/arch/arm/string/memcpy_xscale.S
diff -u src/common/lib/libc/arch/arm/string/memcpy_xscale.S:1.4 src/common/lib/libc/arch/arm/string/memcpy_xscale.S:1.5
--- src/common/lib/libc/arch/arm/string/memcpy_xscale.S:1.4	Mon Aug 19 01:08:53 2013
+++ src/common/lib/libc/arch/arm/string/memcpy_xscale.S	Tue Dec 17 01:27:21 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: memcpy_xscale.S,v 1.4 2013/08/19 01:08:53 matt Exp $	*/
+/*	$NetBSD: memcpy_xscale.S,v 1.5 2013/12/17 01:27:21 joerg Exp $	*/
 
 /*
  * Copyright 2003 Wasabi Systems, Inc.
@@ -83,52 +83,52 @@ ENTRY(memcpy)
 	ldr	r7, [r1], #0x04		/* LD:0c-0f */
 	ldr	r8, [r1], #0x04		/* LD:10-13 */
 	ldr	r9, [r1], #0x04		/* LD:14-17 */
-	strd	r4, [r3], #0x08		/* ST:00-07 */
+	strd	r4, r5, [r3], #0x08	/* ST:00-07 */
 	ldr	r4, [r1], #0x04		/* LD:18-1b */
 	ldr	r5, [r1], #0x04		/* LD:1c-1f */
-	strd	r6, [r3], #0x08		/* ST:08-0f */
+	strd	r6, r7, [r3], #0x08	/* ST:08-0f */
 	ldr	r6, [r1], #0x04		/* LD:20-23 */
 	ldr	r7, [r1], #0x04		/* LD:24-27 */
 	pld	[r1, #0x18]		/* Prefetch 0x40 */
-	strd	r8, [r3], #0x08		/* ST:10-17 */
+	strd	r8, r9, [r3], #0x08	/* ST:10-17 */
 	ldr	r8, [r1], #0x04		/* LD:28-2b */
 	ldr	r9, [r1], #0x04		/* LD:2c-2f */
-	strd	r4, [r3], #0x08		/* ST:18-1f */
+	strd	r4, r5, [r3], #0x08	/* ST:18-1f */
 	ldr	r4, [r1], #0x04		/* LD:30-33 */
 	ldr	r5, [r1], #0x04		/* LD:34-37 */
-	strd	r6, [r3], #0x08		/* ST:20-27 */
+	strd	r6, r7, [r3], #0x08	/* ST:20-27 */
 	ldr	r6, [r1], #0x04		/* LD:38-3b */
 	ldr	r7, [r1], #0x04		/* LD:3c-3f */
-	strd	r8, [r3], #0x08		/* ST:28-2f */
+	strd	r8, r9, [r3], #0x08	/* ST:28-2f */
 	ldr	r8, [r1], #0x04		/* LD:40-43 */
 	ldr	r9, [r1], #0x04		/* LD:44-47 */
 	pld	[r1, #0x18]		/* Prefetch 0x60 */
-	strd	r4, [r3], #0x08		/* ST:30-37 */
+	strd	r4, r5, [r3], #0x08	/* ST:30-37 */
 	ldr	r4, [r1], #0x04		/* LD:48-4b */
 	ldr	r5, [r1], #0x04		/* LD:4c-4f */
-	strd	r6, [r3], #0x08		/* ST:38-3f */
+	strd	r6, r7, [r3], #0x08	/* ST:38-3f */
 	ldr	r6, [r1], #0x04		/* LD:50-53 */
 	ldr	r7, [r1], #0x04		/* LD:54-57 */
-	strd	r8, [r3], #0x08		/* ST:40-47 */
+	strd	r8, r9, [r3], #0x08	/* ST:40-47 */
 	ldr	r8, [r1], #0x04		/* LD:58-5b */
 	ldr	r9, [r1], #0x04		/* LD:5c-5f */
-	strd	r4, [r3], #0x08		/* ST:48-4f */
+	strd	r4, r5, [r3], #0x08	/* ST:48-4f */
 	ldr	r4, [r1], #0x04		/* LD:60-63 */
 	ldr	r5, [r1], #0x04		/* LD:64-67 */
 	pld	[r1, #0x18]		/* Prefetch 0x80 */
-	strd	r6, [r3], #0x08		/* ST:50-57 */
+	strd	r6, r7, [r3], #0x08	/* ST:50-57 */
 	ldr	r6, [r1], #0x04		/* LD:68-6b */
 	ldr	r7, [r1], #0x04		/* LD:6c-6f */
-	strd	r8, [r3], #0x08		/* ST:58-5f */
+	strd	r8, r9, [r3], #0x08	/* ST:58-5f */
 	ldr	r8, [r1], #0x04		/* LD:70-73 */
 	ldr	r9, [r1], #0x04		/* LD:74-77 */
-	strd	r4, [r3], #0x08		/* ST:60-67 */
+	strd	r4, r5, [r3], #0x08	/* ST:60-67 */
 	ldr	r4, [r1], #0x04		/* LD:78-7b */
 	ldr	r5, [r1], #0x04		/* LD:7c-7f */
-	strd	r6, [r3], #0x08		/* ST:68-6f */
-	strd	r8, [r3], #0x08		/* ST:70-77 */
+	strd	r6, r7, [r3], #0x08	/* ST:68-6f */
+	strd	r8, r9, [r3], #0x08	/* ST:70-77 */
 	subs	r2, r2, #0x80
-	strd	r4, [r3], #0x08		/* ST:78-7f */
+	strd	r4, r5, [r3], #0x08	/* ST:78-7f */
 	bge	.Lmemcpy_w_loop128
 
 .Lmemcpy_w_lessthan128:
@@ -147,13 +147,13 @@ ENTRY(memcpy)
 	ldr	r7, [r1], #0x04
 	ldr	r8, [r1], #0x04
 	ldr	r9, [r1], #0x04
-	strd	r4, [r3], #0x08
+	strd	r4, r5, [r3], #0x08
 	ldr	r4, [r1], #0x04
 	ldr	r5, [r1], #0x04
-	strd	r6, [r3], #0x08
-	strd	r8, [r3], #0x08
+	strd	r6, r7, [r3], #0x08
+	strd	r8, r9, [r3], #0x08
 	subs	r2, r2, #0x20
-	strd	r4, [r3], #0x08
+	strd	r4, r5, [r3], #0x08
 	bge	.Lmemcpy_w_loop32
 
 .Lmemcpy_w_lessthan32:
@@ -170,19 +170,19 @@ ENTRY(memcpy)
 	ldr	r4, [r1], #0x04
 	ldr	r5, [r1], #0x04
 	sub	r2, r2, #0x08
-	strd	r4, [r3], #0x08
+	strd	r4, r5, [r3], #0x08
 
 	/* At least 16 bytes remaining */
 	ldr	r4, [r1], #0x04
 	ldr	r5, [r1], #0x04
 	sub	r2, r2, #0x08
-	strd	r4, [r3], #0x08
+	strd	r4, r5, [r3], #0x08
 
 	/* At least 8 bytes remaining */
 	ldr	r4, [r1], #0x04
 	ldr	r5, [r1], #0x04
 	subs	r2, r2, #0x08
-	strd	r4, [r3], #0x08
+	strd	r4, r5, [r3], #0x08
 
 	/* Less than 8 bytes remaining */
 	pop	{r4-r9}

Index: src/sys/arch/arm/arm32/bcopy_page.S
diff -u src/sys/arch/arm/arm32/bcopy_page.S:1.9 src/sys/arch/arm/arm32/bcopy_page.S:1.10
--- src/sys/arch/arm/arm32/bcopy_page.S:1.9	Sun Aug 18 06:29:29 2013
+++ src/sys/arch/arm/arm32/bcopy_page.S	Tue Dec 17 01:27:21 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: bcopy_page.S,v 1.9 2013/08/18 06:29:29 matt Exp $	*/
+/*	$NetBSD: bcopy_page.S,v 1.10 2013/12/17 01:27:21 joerg Exp $	*/
 
 /*
  * Copyright (c) 1995 Scott Stevens
@@ -193,56 +193,56 @@ ENTRY(bcopy_page)
 1:	pld	[r0, #0x18]		/* Prefetch 0x20 */
 	ldr	r4, [r0], #0x04		/* 0x08 */
 	ldr	r5, [r0], #0x04		/* 0x0c */
-	strd	r2, [r1], #0x08
+	strd	r2, r3, [r1], #0x08
 	ldr	r2, [r0], #0x04		/* 0x10 */
 	ldr	r3, [r0], #0x04		/* 0x14 */
-	strd	r4, [r1], #0x08
+	strd	r4, r5, [r1], #0x08
 	ldr	r4, [r0], #0x04		/* 0x18 */
 	ldr	r5, [r0], #0x04		/* 0x1c */
-	strd	r2, [r1], #0x08
+	strd	r2, r3, [r1], #0x08
 	ldr	r2, [r0], #0x04		/* 0x20 */
 	ldr	r3, [r0], #0x04		/* 0x24 */
 	pld	[r0, #0x18]		/* Prefetch 0x40 */
-	strd	r4, [r1], #0x08
+	strd	r4, r5, [r1], #0x08
 	ldr	r4, [r0], #0x04		/* 0x28 */
 	ldr	r5, [r0], #0x04		/* 0x2c */
-	strd	r2, [r1], #0x08
+	strd	r2, r3, [r1], #0x08
 	ldr	r2, [r0], #0x04		/* 0x30 */
 	ldr	r3, [r0], #0x04		/* 0x34 */
-	strd	r4, [r1], #0x08
+	strd	r4, r5, [r1], #0x08
 	ldr	r4, [r0], #0x04		/* 0x38 */
 	ldr	r5, [r0], #0x04		/* 0x3c */
-	strd	r2, [r1], #0x08
+	strd	r2, r3, [r1], #0x08
 	ldr	r2, [r0], #0x04		/* 0x40 */
 	ldr	r3, [r0], #0x04		/* 0x44 */
 	pld	[r0, #0x18]		/* Prefetch 0x60 */
-	strd	r4, [r1], #0x08
+	strd	r4, r5, [r1], #0x08
 	ldr	r4, [r0], #0x04		/* 0x48 */
 	ldr	r5, [r0], #0x04		/* 0x4c */
-	strd	r2, [r1], #0x08
+	strd	r2, r3, [r1], #0x08
 	ldr	r2, [r0], #0x04		/* 0x50 */
 	ldr	r3, [r0], #0x04		/* 0x54 */
-	strd	r4, [r1], #0x08
+	strd	r4, r5, [r1], #0x08
 	ldr	r4, [r0], #0x04		/* 0x58 */
 	ldr	r5, [r0], #0x04		/* 0x5c */
-	strd	r2, [r1], #0x08
+	strd	r2, r3, [r1], #0x08
 	ldr	r2, [r0], #0x04		/* 0x60 */
 	ldr	r3, [r0], #0x04		/* 0x64 */
 	pld	[r0, #0x18]		/* Prefetch 0x80 */
-	strd	r4, [r1], #0x08
+	strd	r4, r5, [r1], #0x08
 	ldr	r4, [r0], #0x04		/* 0x68 */
 	ldr	r5, [r0], #0x04		/* 0x6c */
-	strd	r2, [r1], #0x08
+	strd	r2, r3, [r1], #0x08
 	ldr	r2, [r0], #0x04		/* 0x70 */
 	ldr	r3, [r0], #0x04		/* 0x74 */
-	strd	r4, [r1], #0x08
+	strd	r4, r5, [r1], #0x08
 	ldr	r4, [r0], #0x04		/* 0x78 */
 	ldr	r5, [r0], #0x04		/* 0x7c */
-	strd	r2, [r1], #0x08
+	strd	r2, r3, [r1], #0x08
 	subs	ip, ip, #0x01
 	ldrgt	r2, [r0], #0x04		/* 0x80 */
 	ldrgt	r3, [r0], #0x04		/* 0x84 */
-	strd	r4, [r1], #0x08
+	strd	r4, r5, [r1], #0x08
 	bgt	1b
 	pop	{r4, r5}
 	RET
@@ -255,22 +255,22 @@ ENTRY(bzero_page)
 	mov	r1, #PAGE_SIZE
 	mov	r2, #0
 	mov	r3, #0
-1:	strd	r2, [r0], #8		/* 32 */
-	strd	r2, [r0], #8
-	strd	r2, [r0], #8
-	strd	r2, [r0], #8
-	strd	r2, [r0], #8		/* 64 */
-	strd	r2, [r0], #8
-	strd	r2, [r0], #8
-	strd	r2, [r0], #8
-	strd	r2, [r0], #8		/* 96 */
-	strd	r2, [r0], #8
-	strd	r2, [r0], #8
-	strd	r2, [r0], #8
-	strd	r2, [r0], #8		/* 128 */
-	strd	r2, [r0], #8
-	strd	r2, [r0], #8
-	strd	r2, [r0], #8
+1:	strd	r2, r3, [r0], #8	/* 32 */
+	strd	r2, r3, [r0], #8
+	strd	r2, r3, [r0], #8
+	strd	r2, r3, [r0], #8
+	strd	r2, r3, [r0], #8	/* 64 */
+	strd	r2, r3, [r0], #8
+	strd	r2, r3, [r0], #8
+	strd	r2, r3, [r0], #8
+	strd	r2, r3, [r0], #8	/* 96 */
+	strd	r2, r3, [r0], #8
+	strd	r2, r3, [r0], #8
+	strd	r2, r3, [r0], #8
+	strd	r2, r3, [r0], #8	/* 128 */
+	strd	r2, r3, [r0], #8
+	strd	r2, r3, [r0], #8
+	strd	r2, r3, [r0], #8
 	subs	r1, r1, #128
 	bne	1b
 	RET

Index: src/sys/arch/arm/arm32/locore.S
diff -u src/sys/arch/arm/arm32/locore.S:1.34 src/sys/arch/arm/arm32/locore.S:1.35
--- src/sys/arch/arm/arm32/locore.S:1.34	Sun Dec  1 02:54:33 2013
+++ src/sys/arch/arm/arm32/locore.S	Tue Dec 17 01:27:21 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: locore.S,v 1.34 2013/12/01 02:54:33 joerg Exp $	*/
+/*	$NetBSD: locore.S,v 1.35 2013/12/17 01:27:21 joerg Exp $	*/
 
 /*
  * Copyright (C) 1994-1997 Mark Brinicombe
@@ -40,7 +40,7 @@
 /* What size should this really be ? It is only used by init_arm() */
 #define INIT_ARM_STACK_SIZE	2048
 
-	RCSID("$NetBSD: locore.S,v 1.34 2013/12/01 02:54:33 joerg Exp $")
+	RCSID("$NetBSD: locore.S,v 1.35 2013/12/17 01:27:21 joerg Exp $")
 
 /*
  * This is for kvm_mkdb, and should be the address of the beginning
@@ -218,9 +218,9 @@ ENTRY(dumpsys)
         add     r2, r0, #(PCB_R8)
         stmia   r2, {r8-r13}
 #else
-        strd    r8, [r0, #(PCB_R8)]
-        strd    r10, [r0, #(PCB_R10)]
-        strd    r12, [r0, #(PCB_R12)]
+        strd    r8, r9, [r0, #(PCB_R8)]
+        strd    r10, r11, [r0, #(PCB_R10)]
+        strd    r12, r13, [r0, #(PCB_R12)]
 #endif
 
 	bl	_C_LABEL(dodumpsys)

Reply via email to