ARM: move debug macros to common location
Based on suggestion by Russell King, create a common location for debug macros and select the included debug macro file using config option. Signed-off-by: Rob Herring <rob.herring@calxeda.com> Cc: Russell King <linux@arm.linux.org.uk>
This commit is contained in:
		
					parent
					
						
							
								01464226ac
							
						
					
				
			
			
				commit
				
					
						91a9fec022
					
				
			
		
					 4 changed files with 100 additions and 86 deletions
				
			
		|  | @ -373,6 +373,11 @@ choice | ||||||
| 
 | 
 | ||||||
| endchoice | endchoice | ||||||
| 
 | 
 | ||||||
|  | config DEBUG_LL_INCLUDE | ||||||
|  | 	string | ||||||
|  | 	default "debug/icedcc.S" if DEBUG_ICEDCC | ||||||
|  | 	default "mach/debug-macro.S" | ||||||
|  | 
 | ||||||
| config EARLY_PRINTK | config EARLY_PRINTK | ||||||
| 	bool "Early printk" | 	bool "Early printk" | ||||||
| 	depends on DEBUG_LL | 	depends on DEBUG_LL | ||||||
|  |  | ||||||
							
								
								
									
										90
									
								
								arch/arm/include/debug/icedcc.S
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										90
									
								
								arch/arm/include/debug/icedcc.S
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,90 @@ | ||||||
|  | /* | ||||||
|  |  *  arch/arm/include/debug/icedcc.S | ||||||
|  |  * | ||||||
|  |  *  Copyright (C) 1994-1999 Russell King | ||||||
|  |  * | ||||||
|  |  * This program is free software; you can redistribute it and/or modify
 | ||||||
|  |  * it under the terms of the GNU General Public License version 2 as | ||||||
|  |  * published by the Free Software Foundation. | ||||||
|  |  * | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | 		@@ debug using ARM EmbeddedICE DCC channel
 | ||||||
|  | 
 | ||||||
|  | 		.macro	addruart, rp, rv, tmp | ||||||
|  | 		.endm | ||||||
|  | 
 | ||||||
|  | #if defined(CONFIG_CPU_V6) || defined(CONFIG_CPU_V6K) || defined(CONFIG_CPU_V7) | ||||||
|  | 
 | ||||||
|  | 		.macro	senduart, rd, rx | ||||||
|  | 		mcr	p14, 0, \rd, c0, c5, 0 | ||||||
|  | 		.endm | ||||||
|  | 
 | ||||||
|  | 		.macro	busyuart, rd, rx | ||||||
|  | 1001: | ||||||
|  | 		mrc	p14, 0, \rx, c0, c1, 0 | ||||||
|  | 		tst	\rx, #0x20000000 | ||||||
|  | 		beq	1001b | ||||||
|  | 		.endm | ||||||
|  | 
 | ||||||
|  | 		.macro	waituart, rd, rx | ||||||
|  | 		mov	\rd, #0x2000000 | ||||||
|  | 1001: | ||||||
|  | 		subs	\rd, \rd, #1 | ||||||
|  | 		bmi	1002f | ||||||
|  | 		mrc	p14, 0, \rx, c0, c1, 0 | ||||||
|  | 		tst	\rx, #0x20000000 | ||||||
|  | 		bne	1001b | ||||||
|  | 1002: | ||||||
|  | 		.endm | ||||||
|  | 
 | ||||||
|  | #elif defined(CONFIG_CPU_XSCALE) | ||||||
|  | 
 | ||||||
|  | 		.macro	senduart, rd, rx | ||||||
|  | 		mcr	p14, 0, \rd, c8, c0, 0 | ||||||
|  | 		.endm | ||||||
|  | 
 | ||||||
|  | 		.macro	busyuart, rd, rx | ||||||
|  | 1001: | ||||||
|  | 		mrc	p14, 0, \rx, c14, c0, 0 | ||||||
|  | 		tst	\rx, #0x10000000 | ||||||
|  | 		beq	1001b | ||||||
|  | 		.endm | ||||||
|  | 
 | ||||||
|  | 		.macro	waituart, rd, rx | ||||||
|  | 		mov	\rd, #0x10000000 | ||||||
|  | 1001: | ||||||
|  | 		subs	\rd, \rd, #1 | ||||||
|  | 		bmi	1002f | ||||||
|  | 		mrc	p14, 0, \rx, c14, c0, 0 | ||||||
|  | 		tst	\rx, #0x10000000 | ||||||
|  | 		bne	1001b | ||||||
|  | 1002: | ||||||
|  | 		.endm | ||||||
|  | 
 | ||||||
|  | #else | ||||||
|  | 
 | ||||||
|  | 		.macro	senduart, rd, rx | ||||||
|  | 		mcr	p14, 0, \rd, c1, c0, 0 | ||||||
|  | 		.endm | ||||||
|  | 
 | ||||||
|  | 		.macro	busyuart, rd, rx | ||||||
|  | 1001: | ||||||
|  | 		mrc	p14, 0, \rx, c0, c0, 0 | ||||||
|  | 		tst	\rx, #2 | ||||||
|  | 		beq	1001b | ||||||
|  | 
 | ||||||
|  | 		.endm | ||||||
|  | 
 | ||||||
|  | 		.macro	waituart, rd, rx | ||||||
|  | 		mov	\rd, #0x2000000 | ||||||
|  | 1001: | ||||||
|  | 		subs	\rd, \rd, #1 | ||||||
|  | 		bmi	1002f | ||||||
|  | 		mrc	p14, 0, \rx, c0, c0, 0 | ||||||
|  | 		tst	\rx, #2 | ||||||
|  | 		bne	1001b | ||||||
|  | 1002: | ||||||
|  | 		.endm | ||||||
|  | 
 | ||||||
|  | #endif	/* CONFIG_CPU_V6 */ | ||||||
|  | @ -20,90 +20,9 @@ | ||||||
|  * references to these in a production kernel! |  * references to these in a production kernel! | ||||||
|  */ |  */ | ||||||
| 
 | 
 | ||||||
| #if defined(CONFIG_DEBUG_ICEDCC) | #if !defined(CONFIG_DEBUG_SEMIHOSTING) | ||||||
| 		@@ debug using ARM EmbeddedICE DCC channel
 | #include CONFIG_DEBUG_LL_INCLUDE | ||||||
| 
 | #endif | ||||||
| 		.macro	addruart, rp, rv, tmp |  | ||||||
| 		.endm |  | ||||||
| 
 |  | ||||||
| #if defined(CONFIG_CPU_V6) || defined(CONFIG_CPU_V6K) || defined(CONFIG_CPU_V7) |  | ||||||
| 
 |  | ||||||
| 		.macro	senduart, rd, rx |  | ||||||
| 		mcr	p14, 0, \rd, c0, c5, 0 |  | ||||||
| 		.endm |  | ||||||
| 
 |  | ||||||
| 		.macro	busyuart, rd, rx |  | ||||||
| 1001: |  | ||||||
| 		mrc	p14, 0, \rx, c0, c1, 0 |  | ||||||
| 		tst	\rx, #0x20000000 |  | ||||||
| 		beq	1001b |  | ||||||
| 		.endm |  | ||||||
| 
 |  | ||||||
| 		.macro	waituart, rd, rx |  | ||||||
| 		mov	\rd, #0x2000000 |  | ||||||
| 1001: |  | ||||||
| 		subs	\rd, \rd, #1 |  | ||||||
| 		bmi	1002f |  | ||||||
| 		mrc	p14, 0, \rx, c0, c1, 0 |  | ||||||
| 		tst	\rx, #0x20000000 |  | ||||||
| 		bne	1001b |  | ||||||
| 1002: |  | ||||||
| 		.endm |  | ||||||
| 
 |  | ||||||
| #elif defined(CONFIG_CPU_XSCALE) |  | ||||||
| 
 |  | ||||||
| 		.macro	senduart, rd, rx |  | ||||||
| 		mcr	p14, 0, \rd, c8, c0, 0 |  | ||||||
| 		.endm |  | ||||||
| 
 |  | ||||||
| 		.macro	busyuart, rd, rx |  | ||||||
| 1001: |  | ||||||
| 		mrc	p14, 0, \rx, c14, c0, 0 |  | ||||||
| 		tst	\rx, #0x10000000 |  | ||||||
| 		beq	1001b |  | ||||||
| 		.endm |  | ||||||
| 
 |  | ||||||
| 		.macro	waituart, rd, rx |  | ||||||
| 		mov	\rd, #0x10000000 |  | ||||||
| 1001: |  | ||||||
| 		subs	\rd, \rd, #1 |  | ||||||
| 		bmi	1002f |  | ||||||
| 		mrc	p14, 0, \rx, c14, c0, 0 |  | ||||||
| 		tst	\rx, #0x10000000 |  | ||||||
| 		bne	1001b |  | ||||||
| 1002: |  | ||||||
| 		.endm |  | ||||||
| 
 |  | ||||||
| #else |  | ||||||
| 
 |  | ||||||
| 		.macro	senduart, rd, rx |  | ||||||
| 		mcr	p14, 0, \rd, c1, c0, 0 |  | ||||||
| 		.endm |  | ||||||
| 
 |  | ||||||
| 		.macro	busyuart, rd, rx |  | ||||||
| 1001: |  | ||||||
| 		mrc	p14, 0, \rx, c0, c0, 0 |  | ||||||
| 		tst	\rx, #2 |  | ||||||
| 		beq	1001b |  | ||||||
| 
 |  | ||||||
| 		.endm |  | ||||||
| 
 |  | ||||||
| 		.macro	waituart, rd, rx |  | ||||||
| 		mov	\rd, #0x2000000 |  | ||||||
| 1001: |  | ||||||
| 		subs	\rd, \rd, #1 |  | ||||||
| 		bmi	1002f |  | ||||||
| 		mrc	p14, 0, \rx, c0, c0, 0 |  | ||||||
| 		tst	\rx, #2 |  | ||||||
| 		bne	1001b |  | ||||||
| 1002: |  | ||||||
| 		.endm |  | ||||||
| 
 |  | ||||||
| #endif	/* CONFIG_CPU_V6 */ |  | ||||||
| 
 |  | ||||||
| #elif !defined(CONFIG_DEBUG_SEMIHOSTING) |  | ||||||
| #include <mach/debug-macro.S> |  | ||||||
| #endif	/* CONFIG_DEBUG_ICEDCC */ |  | ||||||
| 
 | 
 | ||||||
| #ifdef CONFIG_MMU | #ifdef CONFIG_MMU | ||||||
| 		.macro	addruart_current, rx, tmp1, tmp2 | 		.macro	addruart_current, rx, tmp1, tmp2 | ||||||
|  |  | ||||||
|  | @ -23,8 +23,8 @@ | ||||||
| #include <asm/thread_info.h> | #include <asm/thread_info.h> | ||||||
| #include <asm/pgtable.h> | #include <asm/pgtable.h> | ||||||
| 
 | 
 | ||||||
| #ifdef CONFIG_DEBUG_LL | #if defined(CONFIG_DEBUG_LL) && !defined(CONFIG_DEBUG_SEMIHOSTING) | ||||||
| #include <mach/debug-macro.S> | #include CONFIG_DEBUG_LL_INCLUDE | ||||||
| #endif | #endif | ||||||
| 
 | 
 | ||||||
| /* | /* | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Rob Herring
				Rob Herring