Module Name:    src
Committed By:   matt
Date:           Sun Aug 18 06:29:29 UTC 2013

Modified Files:
        src/sys/arch/arm/arm: blockio.S bus_space_asm_generic.S
            bus_space_notimpl.S vectors.S
        src/sys/arch/arm/arm32: bcopy_page.S setcpsr.S setstack.S
        src/sys/arch/arm/mainbus: mainbus_io_asm.S

Log Message:
Move parts of cpu.h that are not needed by MI code in <arm/locore.h>
Don't include <machine/cpu.h> or <machine/frame.h>, use <arm/locore.h>
Use <arm/asm.h> instead of <machine/arm.h>


To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 src/sys/arch/arm/arm/blockio.S \
    src/sys/arch/arm/arm/vectors.S
cvs rdiff -u -r1.9 -r1.10 src/sys/arch/arm/arm/bus_space_asm_generic.S
cvs rdiff -u -r1.4 -r1.5 src/sys/arch/arm/arm/bus_space_notimpl.S
cvs rdiff -u -r1.8 -r1.9 src/sys/arch/arm/arm32/bcopy_page.S
cvs rdiff -u -r1.2 -r1.3 src/sys/arch/arm/arm32/setcpsr.S
cvs rdiff -u -r1.5 -r1.6 src/sys/arch/arm/arm32/setstack.S
cvs rdiff -u -r1.1 -r1.2 src/sys/arch/arm/mainbus/mainbus_io_asm.S

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

Modified files:

Index: src/sys/arch/arm/arm/blockio.S
diff -u src/sys/arch/arm/arm/blockio.S:1.7 src/sys/arch/arm/arm/blockio.S:1.8
--- src/sys/arch/arm/arm/blockio.S:1.7	Sun Aug 11 03:09:41 2013
+++ src/sys/arch/arm/arm/blockio.S	Sun Aug 18 06:29:29 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: blockio.S,v 1.7 2013/08/11 03:09:41 matt Exp $	*/
+/*	$NetBSD: blockio.S,v 1.8 2013/08/18 06:29:29 matt Exp $	*/
 
 /*
  * Copyright (c) 2001 Ben Harris.
@@ -48,7 +48,7 @@
 
 #include <machine/asm.h>
 
-RCSID("$NetBSD: blockio.S,v 1.7 2013/08/11 03:09:41 matt Exp $")
+RCSID("$NetBSD: blockio.S,v 1.8 2013/08/18 06:29:29 matt Exp $")
 
 /*
  * Read bytes from an I/O address into a block of memory
@@ -101,6 +101,7 @@ ENTRY(read_multi_1)
 	ldrbgt	r3, [r0]
 	strbgt	r3, [r1], #1
 	ldmdb	fp, {fp, sp, pc}
+END(read_multi_1)
 
 /*
  * Write bytes to an I/O address from a block of memory
@@ -152,6 +153,7 @@ ENTRY(write_multi_1)
 	ldrbgt	r3, [r1], #1
 	strbgt	r3, [r0]
 	ldmdb	fp, {fp, sp, pc}
+END(write_multi_1)
 
 /*
  * Reads short ints (16 bits) from an I/O address into a block of memory
@@ -164,7 +166,7 @@ ENTRY(write_multi_1)
 ENTRY(insw)
 /* Make sure that we have a positive length */
 	cmp	r2, #0x00000000
-	movle	pc, lr
+	RETc(le)
 
 /* If the destination address and the size is word aligned, do it fast */
 
@@ -182,7 +184,7 @@ ENTRY(insw)
 	strb	r3, [r1], #0x0001
 	bgt	.Linswloop
 
-	mov	pc, lr
+	RET
 
 /* Word aligned insw */
 
@@ -198,7 +200,8 @@ ENTRY(insw)
 	subs	r2, r2, #0x00000002	/* Next */
 	bgt	.Lfastinswloop
 
-	mov	pc, lr
+	RET
+END(insw)
 
 
 /*
@@ -212,7 +215,7 @@ ENTRY(insw)
 ENTRY(outsw)
 /* Make sure that we have a positive length */
 	cmp	r2, #0x00000000
-	movle	pc, lr
+	RETc(le)
 
 /* If the destination address and the size is word aligned, do it fast */
 
@@ -231,7 +234,7 @@ ENTRY(outsw)
 	str	r3, [r0]
 	bgt	.Loutswloop
 
-	mov	pc, lr
+	RET
 
 /* Word aligned outsw */
 
@@ -259,7 +262,8 @@ ENTRY(outsw)
 
 	bgt	.Lfastoutswloop
 
-	mov	pc, lr
+	RET
+END(outsw)
 
 /*
  * reads short ints (16 bits) from an I/O address into a block of memory
@@ -274,7 +278,7 @@ ENTRY(outsw)
 ENTRY(insw16)
 /* Make sure that we have a positive length */
 	cmp	r2, #0x00000000
-	movle	pc, lr
+	RETc(le)
 
 /* If the destination address is word aligned and the size suitably
    aligned, do it fast */
@@ -318,6 +322,7 @@ ENTRY(insw16)
 	bgt	.Linsw16loop
 
 	pop	{r4,r5,pc}		/* Restore regs and go home */
+END(insw16)
 
 
 /*
@@ -331,7 +336,7 @@ ENTRY(insw16)
 ENTRY(outsw16)
 /* Make sure that we have a positive length */
 	cmp	r2, #0x00000000
-	movle	pc, lr
+	RETc(le)
 
 /* If the destination address is word aligned and the size suitably
    aligned, do it fast */
@@ -385,6 +390,7 @@ ENTRY(outsw16)
 	bgt	.Loutsw16loop
 
 	pop	{r4,r5,pc}		/* and go home */
+END(outsw16)
 
 /*
  * reads short ints (16 bits) from an I/O address into a block of memory
@@ -400,7 +406,7 @@ ENTRY(outsw16)
 ENTRY(inswm8)
 /* Make sure that we have a positive length */
 	cmp	r2, #0x00000000
-	movle	pc, lr
+	RETc(le)
 
 /* If the destination address is word aligned and the size suitably
    aligned, do it fast */
@@ -481,6 +487,7 @@ ENTRY(inswm8)
 
 .Linswm8_l1:
 	pop	{r4-r9,pc}		/* And go home */
+END(inswm8)
 
 /*
  * write short ints (16 bits) to an I/O address from a block of memory
@@ -496,7 +503,7 @@ ENTRY(inswm8)
 ENTRY(outswm8)
 /* Make sure that we have a positive length */
 	cmp	r2, #0x00000000
-	movle	pc, lr
+	RETc(le)
 
 /* If the destination address is word aligned and the size suitably
    aligned, do it fast */
@@ -585,3 +592,4 @@ ENTRY(outswm8)
 
 .Loutswm8_l1:
 	pop	{r4-r8,pc}		/* And go home */
+END(outswm8)
Index: src/sys/arch/arm/arm/vectors.S
diff -u src/sys/arch/arm/arm/vectors.S:1.7 src/sys/arch/arm/arm/vectors.S:1.8
--- src/sys/arch/arm/arm/vectors.S:1.7	Wed Jun 12 21:34:12 2013
+++ src/sys/arch/arm/arm/vectors.S	Sun Aug 18 06:29:29 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: vectors.S,v 1.7 2013/06/12 21:34:12 matt Exp $	*/
+/*	$NetBSD: vectors.S,v 1.8 2013/08/18 06:29:29 matt Exp $	*/
 
 /*
  * Copyright (C) 1994-1997 Mark Brinicombe
@@ -69,6 +69,7 @@ _C_LABEL(page0rel):
 #elif !defined(ARM_HAS_VBAR)
 	b	.Lfiqvector
 #endif
+END(page0rel)
 #endif /* CPU_ARMV7 || CPU_ARM11 || ARM_HAS_VBAR */
 
 #ifndef ARM_HAS_VBAR
@@ -85,6 +86,7 @@ _C_LABEL(page0):
 #ifdef __ARM_FIQ_INDIRECT
 	ldr	pc, .Lfiq_target
 #endif
+END(page0)
 #endif /* !ARM_HAS_VBAR */
 #ifndef __ARM_FIQ_INDIRECT
 .Lfiqvector:

Index: src/sys/arch/arm/arm/bus_space_asm_generic.S
diff -u src/sys/arch/arm/arm/bus_space_asm_generic.S:1.9 src/sys/arch/arm/arm/bus_space_asm_generic.S:1.10
--- src/sys/arch/arm/arm/bus_space_asm_generic.S:1.9	Tue Mar 19 17:11:13 2013
+++ src/sys/arch/arm/arm/bus_space_asm_generic.S	Sun Aug 18 06:29:29 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: bus_space_asm_generic.S,v 1.9 2013/03/19 17:11:13 skrll Exp $	*/
+/*	$NetBSD: bus_space_asm_generic.S,v 1.10 2013/08/18 06:29:29 matt Exp $	*/
 
 /*
  * Copyright (c) 1997 Causality Limited.
@@ -106,6 +106,7 @@ ENTRY_NP(generic_armv4_bs_w_2)
 	DSB
 	RET
 END(generic_armv4_bs_w_2)
+END(generic_armv4_bs_w_2_swap)
 #endif
 
 ENTRY_NP(generic_bs_w_4_swap)
@@ -115,6 +116,7 @@ ENTRY_NP(generic_bs_w_4)
 	DSB
 	RET
 END(generic_bs_w_4)
+END(generic_bs_w_4_swap)
 
 /*
  * read multiple
@@ -504,6 +506,7 @@ ENTRY_NP(generic_armv4_bs_sr_2)
 	DSB
 	RET
 END(generic_armv4_bs_sr_2)
+END(generic_armv4_bs_sr_2_swap)
 #endif
 
 ENTRY_NP(generic_bs_sr_4_swap)
@@ -522,6 +525,7 @@ ENTRY_NP(generic_bs_sr_4)
 	DSB
 	RET
 END(generic_bs_sr_4)
+END(generic_bs_sr_4_swap)
 
 /*
  * copy region

Index: src/sys/arch/arm/arm/bus_space_notimpl.S
diff -u src/sys/arch/arm/arm/bus_space_notimpl.S:1.4 src/sys/arch/arm/arm/bus_space_notimpl.S:1.5
--- src/sys/arch/arm/arm/bus_space_notimpl.S:1.4	Sun Dec 11 12:16:41 2005
+++ src/sys/arch/arm/arm/bus_space_notimpl.S	Sun Aug 18 06:29:29 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: bus_space_notimpl.S,v 1.4 2005/12/11 12:16:41 christos Exp $	*/
+/*	$NetBSD: bus_space_notimpl.S,v 1.5 2013/08/18 06:29:29 matt Exp $	*/
 
 /*
  * Copyright (c) 1997 Mark Brinicombe.
@@ -43,7 +43,7 @@
 #define __C(x,y)	__CONCAT(x,y)
 #define __S(s)		__STRING(s)
 #define NAME(func)	__C(BUS_SPACE,__C(_bs_,func))
-#define LNAME(func)	__C(L,NAME(func))
+#define LNAME(func)	__C(.L,NAME(func))
 
 #define	__L(x)		_C_LABEL(x)
 #define GLOBAL(func)	.global	__L(NAME(func))
@@ -56,22 +56,23 @@
 #define NOT_IMPL(func)							\
 	GLOBAL(func)						;	\
 LABEL(func)							;	\
-	stmfd	sp!, {r0-r3}					;	\
+	push	{r0-r3}						;	\
 	adr	r1, LNAME(__C(func,_funcname))			;	\
 	mov	r2, sp						;	\
-	b	bs_notimpl_panic				;	\
+	b	.Lbs_notimpl_panic				;	\
 								;	\
 LLABEL(__C(func,_funcname))					;	\
 	.asciz	__S(func)					;	\
 	.align	0						;	\
+	END(NAME(func))
 
-bs_notimpl_message:
+.Lbs_notimpl_message:
 	.ascii	__S(BUS_SPACE)
 	.asciz	"_%s: args at %p"
 
 	.align	0
-bs_notimpl_panic:
-	adr	r0, bs_notimpl_message
+.Lbs_notimpl_panic:
+	adr	r0, .Lbs_notimpl_message
 	b	_C_LABEL(panic)
 
 /*

Index: src/sys/arch/arm/arm32/bcopy_page.S
diff -u src/sys/arch/arm/arm32/bcopy_page.S:1.8 src/sys/arch/arm/arm32/bcopy_page.S:1.9
--- src/sys/arch/arm/arm32/bcopy_page.S:1.8	Sun Dec 11 12:16:41 2005
+++ src/sys/arch/arm/arm32/bcopy_page.S	Sun Aug 18 06:29:29 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: bcopy_page.S,v 1.8 2005/12/11 12:16:41 christos Exp $	*/
+/*	$NetBSD: bcopy_page.S,v 1.9 2013/08/18 06:29:29 matt Exp $	*/
 
 /*
  * Copyright (c) 1995 Scott Stevens
@@ -73,8 +73,8 @@
 #endif /* ! COPY_CHUNK */
 
 #ifndef SAVE_REGS
-#define	SAVE_REGS	stmfd	sp!, {r4-r8, lr}
-#define	RESTORE_REGS	ldmfd	sp!, {r4-r8, pc}
+#define	SAVE_REGS	push	{r4-r8, lr}
+#define	RESTORE_REGS	pop	{r4-r8, pc}
 #endif
 
 ENTRY(bcopy_page)
@@ -115,6 +115,7 @@ ENTRY(bcopy_page)
 	bne	1b
 
 	RESTORE_REGS		/* ...and return. */
+END(bcopy_page)
 
 /*
  * bzero_page(dest)
@@ -130,7 +131,7 @@ ENTRY(bcopy_page)
  */
 
 ENTRY(bzero_page)
-	stmfd	sp!, {r4-r8, lr}
+	push	{r4-r8, lr}
 #ifdef BIG_LOOPS
 	mov	r2, #(PAGE_SIZE >> 9)
 #else
@@ -175,7 +176,8 @@ ENTRY(bzero_page)
 	subs	r2, r2, #1
 	bne	1b
 
-	ldmfd	sp!, {r4-r8, pc}
+	pop	{r4-r8, pc}
+END(bzero_page)
 
 #else	/* __XSCALE__ */
 
@@ -184,7 +186,7 @@ ENTRY(bzero_page)
  */
 ENTRY(bcopy_page)
 	pld	[r0]
-	stmfd	sp!, {r4, r5}
+	push	{r4, r5}
 	mov	ip, #32
 	ldr	r2, [r0], #0x04		/* 0x00 */
 	ldr	r3, [r0], #0x04		/* 0x04 */
@@ -242,8 +244,9 @@ ENTRY(bcopy_page)
 	ldrgt	r3, [r0], #0x04		/* 0x84 */
 	strd	r4, [r1], #0x08
 	bgt	1b
-	ldmfd	sp!, {r4, r5}
-	mov	pc, lr
+	pop	{r4, r5}
+	RET
+END(bcopy_page)
 
 /*
  * XSCALE version of bzero_page
@@ -270,5 +273,6 @@ ENTRY(bzero_page)
 	strd	r2, [r0], #8
 	subs	r1, r1, #128
 	bne	1b
-	mov	pc, lr
+	RET
+END(bzero_page)
 #endif	/* __XSCALE__ */

Index: src/sys/arch/arm/arm32/setcpsr.S
diff -u src/sys/arch/arm/arm32/setcpsr.S:1.2 src/sys/arch/arm/arm32/setcpsr.S:1.3
--- src/sys/arch/arm/arm32/setcpsr.S:1.2	Thu Aug 15 01:37:02 2002
+++ src/sys/arch/arm/arm32/setcpsr.S	Sun Aug 18 06:29:29 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: setcpsr.S,v 1.2 2002/08/15 01:37:02 briggs Exp $	*/
+/*	$NetBSD: setcpsr.S,v 1.3 2013/08/18 06:29:29 matt Exp $	*/
 
 /*
  * Copyright (c) 1994 Mark Brinicombe.
@@ -63,7 +63,8 @@ ENTRY_NP(SetCPSR)
 
         mov	r0, r3			/* Return the old CPSR */
 
-	mov	pc, lr
+	RET
+END(SetCPSR)
 
 
 /* Gets the CPSR register
@@ -73,6 +74,5 @@ ENTRY_NP(SetCPSR)
 
 ENTRY_NP(GetCPSR)
         mrs     r0, cpsr		/* Get the CPSR */
-
-	mov	pc, lr
-
+	RET
+END(GetCPSR)

Index: src/sys/arch/arm/arm32/setstack.S
diff -u src/sys/arch/arm/arm32/setstack.S:1.5 src/sys/arch/arm/arm32/setstack.S:1.6
--- src/sys/arch/arm/arm32/setstack.S:1.5	Thu Feb 16 02:35:52 2012
+++ src/sys/arch/arm/arm32/setstack.S	Sun Aug 18 06:29:29 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: setstack.S,v 1.5 2012/02/16 02:35:52 christos Exp $	*/
+/*	$NetBSD: setstack.S,v 1.6 2013/08/18 06:29:29 matt Exp $	*/
 
 /*
  * Copyright (c) 1994 Mark Brinicombe.
@@ -49,7 +49,7 @@
 #include <arm/armreg.h>
 #include <machine/asm.h>
 
-	RCSID("$NetBSD: setstack.S,v 1.5 2012/02/16 02:35:52 christos Exp $")
+	RCSID("$NetBSD: setstack.S,v 1.6 2013/08/18 06:29:29 matt Exp $")
 
 /* To set the stack pointer for a particular mode we must switch
  * to that mode update the banked r13 and then switch back.
@@ -69,7 +69,8 @@ ENTRY(set_stackptr)
 
         msr	cpsr_c, r3		/* Restore the old mode */
 
-	mov	pc, lr			/* Exit */
+	RET				/* Exit */
+END(set_stackptr)
 
 /* To get the stack pointer for a particular mode we must switch
  * to that mode copy the banked r13 and then switch back.
@@ -84,10 +85,11 @@ ENTRY(get_stackptr)
 	orr	r2, r2, r0
         msr	cpsr_c, r2
 
-	mov	r0, sp			/* Set the stack pointer */
+	mov	r0, sp			/* Get the stack pointer */
 
         msr	cpsr_c, r3		/* Restore the old mode */
 
-	mov	pc, lr			/* Exit */
+	RET				/* Exit */
+END(get_stackptr)
 
 /* End of setstack.S */

Index: src/sys/arch/arm/mainbus/mainbus_io_asm.S
diff -u src/sys/arch/arm/mainbus/mainbus_io_asm.S:1.1 src/sys/arch/arm/mainbus/mainbus_io_asm.S:1.2
--- src/sys/arch/arm/mainbus/mainbus_io_asm.S:1.1	Sat Feb 24 19:38:02 2001
+++ src/sys/arch/arm/mainbus/mainbus_io_asm.S	Sun Aug 18 06:29:29 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: mainbus_io_asm.S,v 1.1 2001/02/24 19:38:02 reinoud Exp $	*/
+/*	$NetBSD: mainbus_io_asm.S,v 1.2 2013/08/18 06:29:29 matt Exp $	*/
 
 /*
  * Copyright (c) 1997 Mark Brinicombe.
@@ -45,17 +45,20 @@
 
 ENTRY(mainbus_bs_r_1)
 	ldrb	r0, [r1, r2, lsl #2]
-	mov	pc, lr
+	RET
+END(mainbus_bs_r_1)
 
 ENTRY(mainbus_bs_r_2)
 	ldr	r0, [r1, r2, lsl #2]
 	bic	r0, r0, #0xff000000
 	bic	r0, r0, #0x00ff0000
-	mov	pc, lr
+	RET
+END(mainbus_bs_r_2)
 
 ENTRY(mainbus_bs_r_4)
 	ldr	r0, [r1, r2, lsl #2]
-	mov	pc, lr
+	RET
+END(mainbus_bs_r_4)
 
 /*
  * write single
@@ -63,17 +66,20 @@ ENTRY(mainbus_bs_r_4)
 
 ENTRY(mainbus_bs_w_1)
 	strb	r3, [r1, r2, lsl #2]
-	mov	pc, lr
+	RET
+END(mainbus_bs_w_1)
 
 ENTRY(mainbus_bs_w_2)
 	mov	r3, r3, lsl #16
 	orr	r3, r3, r3, lsr #16
 	str	r3, [r1, r2, lsl #2]
-	mov	pc, lr
+	RET
+END(mainbus_bs_w_2)
 
 ENTRY(mainbus_bs_w_4)
 	str	r3, [r1, r2, lsl #2]
-	mov	pc, lr
+	RET
+END(mainbus_bs_w_4)
 
 /*
  * read multiple
@@ -84,6 +90,7 @@ ENTRY(mainbus_bs_rm_2)
 	mov	r1, r3
 	ldr	r2, [sp, #0]
 	b	_C_LABEL(insw16)
+END(mainbus_bs_rm_2)
 
 /*
  * write multiple
@@ -95,18 +102,20 @@ ENTRY(mainbus_bs_wm_1)
 
 	/* Make sure that we have a positive length */
 	cmp	r2, #0x00000000
-	movle	pc, lr
+	RETc(le)
 
-mainbus_wm_1_loop:
+.Lmainbus_wm_1_loop:
 	ldrb	r1, [r3], #0x0001
 	str	r1, [r0]
 	subs	r2, r2, #0x00000001
-	bgt	mainbus_wm_1_loop
+	bgt	.Lmainbus_wm_1_loop
 
-	mov	pc, lr
+	RET
+END(mainbus_bs_wm_1)
 
 ENTRY(mainbus_bs_wm_2)
 	add	r0, r1, r2, lsl #2
 	mov	r1, r3
 	ldr	r2, [sp, #0]
 	b	_C_LABEL(outsw16)
+END(mainbus_bs_wm_2)

Reply via email to