forked from mirrors/linux
		
	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…
	
		Reference in a new issue