Skip to contentSkip to conversation

Allow late mdesc detection, v4

PATCH New Jeremy Kerr 6 participants 14 messages Aug 23, 2010 – Oct 19, 2010

Subsystems (21)
lore
Share & tools
lore
#0 lore raw

cover Allow late mdesc detection, v4

Hi all,

Currently, we probe for a mdesc early in boot. At this early stage, the only thing we use the mdesc for is to determine the debug page mapping.

However, the debug addresses (phys and virt) need to be coded into the addruart macro anyway; the dynamic probing is only going to tell us what we already know.

These changes allow us to use the addruart macros to find the debug mapping addresses, rather than pulling them out of the mdesc. This means that the addresses are only kept in the one place, and that we don't need the mdesc nearly as early.

The first change updates all of the addruart macros to return both physical and virtual addresses. I've used 'rp' and 'rv' as the macro arguments to indicate which address goes where

The second change updates the debug setup routine to use the addruart macro to establish the debug mapping, now that we can invoke the macro to find the phyical and virtual addresses.

This allows us to delay the requirement to have a mdesc available until much later. For example, we can parse one from the device tree once we've reached C code.

As they have more complex and/or new debug macros, the following platforms could do with extra testing:
* omap (mach-omap1 and mach-omap2)
* davinci
* tegra

Cheers,

Jeremy

v4:
* updates for 2.6.36
* add changes for tegra
* update davinci
* include fixes for omap[12]
* drop mdesc changes

v3:
* only establish page mapping if !DEBUG_ICEDCC

v2:
* return both phys and virt addresses from addruart
* mask unneeded bits from uart physical address in mapping setup
* remove io_pg_offst and phys_io, in a separate patch

---
Jeremy Kerr (3):
arm/debug: consolidate addruart macros for CONFIG_DEBUG_ICEDCC
arm: return both physical and virtual addresses from addruart
arm: use addruart macro to establish debug mappings

#1 lore raw

PATCH 1/3 arm/debug: consolidate addruart macros for CONFIG_DEBUG_ICEDCC

We have the same (empty) macro for all IDEDCC flavours, so consolidate it to one.

---
 arch/arm/kernel/debug.S |   13 ++-----------
 1 file changed, 2 insertions(+), 11 deletions(-)
arch/arm/kernel/debug.S +2 -11
index a38b487..f913952 100644
@@ -22,11 +22,11 @@
 #if defined(CONFIG_DEBUG_ICEDCC)
 		@@ debug using ARM EmbeddedICE DCC channel
 
-#if defined(CONFIG_CPU_V6)
-
 		.macro	addruart, rx, tmp
 		.endm
 
+#if defined(CONFIG_CPU_V6)
+
 		.macro	senduart, rd, rx
 		mcr	p14, 0, \rd, c0, c5, 0
 		.endm
@@ -51,9 +51,6 @@
 
 #elif defined(CONFIG_CPU_V7)
 
-		.macro	addruart, rx, tmp
-		.endm
-
 		.macro	senduart, rd, rx
 		mcr	p14, 0, \rd, c0, c5, 0
 		.endm
@@ -71,9 +68,6 @@ wait:		mrc	p14, 0, pc, c0, c1, 0
 
 #elif defined(CONFIG_CPU_XSCALE)
 
-		.macro	addruart, rx, tmp
-		.endm
-
 		.macro	senduart, rd, rx
 		mcr	p14, 0, \rd, c8, c0, 0
 		.endm
@@ -98,9 +92,6 @@ wait:		mrc	p14, 0, pc, c0, c1, 0
 
 #else
 
-		.macro	addruart, rx, tmp
-		.endm
-
 		.macro	senduart, rd, rx
 		mcr	p14, 0, \rd, c1, c0, 0
 		.endm
#2 lore raw

PATCH 2/3 arm: return both physical and virtual addresses from addruart

In reply to Jeremy Kerr

Rather than checking the MMU status in every instance of addruart, do it once in kernel/debug.S, and change the existing addruart macros to return both physical and virtual addresses. The main debug code can then select the appropriate address to use.

This will also allow us to retreive the address of a uart for the MMU state that we're not current in.

Updated with fixes for OMAP from Jason Wang <[email protected]> and Tony Lindgren <[email protected]>, and fix for versatile express from Lorenzo Pieralisi <[email protected]>.

---
 arch/arm/kernel/debug.S                             |   14 +
 arch/arm/mach-aaec2000/include/mach/debug-macro.S   |   10 
 arch/arm/mach-at91/include/mach/debug-macro.S       |    8 
 arch/arm/mach-clps711x/include/mach/debug-macro.S   |   12 -
 arch/arm/mach-cns3xxx/include/mach/debug-macro.S    |   10 
 arch/arm/mach-davinci/include/mach/debug-macro.S    |   46 ++--
 arch/arm/mach-dove/include/mach/debug-macro.S       |   11 -
 arch/arm/mach-ebsa110/include/mach/debug-macro.S    |    7 
 arch/arm/mach-ep93xx/include/mach/debug-macro.S     |   11 -
 arch/arm/mach-footbridge/include/mach/debug-macro.S |   22 --
 arch/arm/mach-gemini/include/mach/debug-macro.S     |    8 
 arch/arm/mach-h720x/include/mach/debug-macro.S      |   10 
 arch/arm/mach-integrator/include/mach/debug-macro.S |   10 
 arch/arm/mach-iop13xx/include/mach/debug-macro.S    |   16 -
 arch/arm/mach-iop32x/include/mach/debug-macro.S     |    7 
 arch/arm/mach-iop33x/include/mach/debug-macro.S     |   12 -
 arch/arm/mach-ixp2000/include/mach/debug-macro.S    |   14 -
 arch/arm/mach-ixp23xx/include/mach/debug-macro.S    |   11 -
 arch/arm/mach-ixp4xx/include/mach/debug-macro.S     |   16 -
 arch/arm/mach-kirkwood/include/mach/debug-macro.S   |   11 -
 arch/arm/mach-ks8695/include/mach/debug-macro.S     |    8 
 arch/arm/mach-l7200/include/mach/debug-macro.S      |   38 +++
 arch/arm/mach-lh7a40x/include/mach/debug-macro.S    |   10 
 arch/arm/mach-loki/include/mach/debug-macro.S       |   11 -
 arch/arm/mach-mmp/include/mach/debug-macro.S        |   11 -
 arch/arm/mach-msm/include/mach/debug-macro.S        |   10 
 arch/arm/mach-mv78xx0/include/mach/debug-macro.S    |   11 -
 arch/arm/mach-netx/include/mach/debug-macro.S       |   10 
 arch/arm/mach-nomadik/include/mach/debug-macro.S    |   12 -
 arch/arm/mach-ns9xxx/include/mach/debug-macro.S     |    8 
 arch/arm/mach-omap1/include/mach/debug-macro.S      |   68 +++---
 arch/arm/mach-omap2/include/mach/debug-macro.S      |  127 +++++-------
 arch/arm/mach-orion5x/include/mach/debug-macro.S    |   11 -
 arch/arm/mach-pnx4008/include/mach/debug-macro.S    |   10 
 arch/arm/mach-pxa/include/mach/debug-macro.S        |   10 
 arch/arm/mach-realview/include/mach/debug-macro.S   |   10 
 arch/arm/mach-rpc/include/mach/debug-macro.S        |   12 -
 arch/arm/mach-s3c2410/include/mach/debug-macro.S    |   11 -
 arch/arm/mach-s3c24a0/include/mach/debug-macro.S    |   11 -
 arch/arm/mach-s3c64xx/include/mach/debug-macro.S    |   11 -
 arch/arm/mach-s5p6440/include/mach/debug-macro.S    |   11 -
 arch/arm/mach-s5p6442/include/mach/debug-macro.S    |   11 -
 arch/arm/mach-s5pc100/include/mach/debug-macro.S    |   11 -
 arch/arm/mach-s5pv210/include/mach/debug-macro.S    |   11 -
 arch/arm/mach-sa1100/include/mach/debug-macro.S     |   36 +--
 arch/arm/mach-shark/include/mach/debug-macro.S      |    7 
 arch/arm/mach-tegra/include/mach/debug-macro.S      |   26 +-
 arch/arm/mach-u300/include/mach/debug-macro.S       |   11 -
 arch/arm/mach-ux500/include/mach/debug-macro.S      |    8 
 arch/arm/mach-versatile/include/mach/debug-macro.S  |   12 -
 arch/arm/mach-vexpress/include/mach/debug-macro.S   |   10 
 arch/arm/plat-mxc/include/mach/debug-macro.S        |    8 
 arch/arm/plat-spear/include/plat/debug-macro.S      |    8 
 arch/arm/plat-stmp3xxx/include/mach/debug-macro.S   |   11 -
 54 files changed, 424 insertions(+), 433 deletions(-)
arch/arm/kernel/debug.S +11 -3
index f913952..99c209d 100644
@@ -22,7 +22,7 @@
 #if defined(CONFIG_DEBUG_ICEDCC)
 		@@ debug using ARM EmbeddedICE DCC channel
 
-		.macro	addruart, rx, tmp
+		.macro	addruart, rp, rv
 		.endm
 
 #if defined(CONFIG_CPU_V6)
@@ -121,6 +121,14 @@ wait:		mrc	p14, 0, pc, c0, c1, 0
 #include <mach/debug-macro.S>
 #endif	/* CONFIG_DEBUG_ICEDCC */
 
+		.macro	addruart_current, rx, tmp1, tmp2
+		addruart	\tmp1, \tmp2
+		mrc		p15, 0, \rx, c1, c0
+		tst		\rx, #1
+		moveq		\rx, \tmp1
+		movne		\rx, \tmp2
+		.endm
+
 /*
  * Useful debugging routines
  */
@@ -155,7 +163,7 @@ ENDPROC(printhex2)
 		.ltorg
 
 ENTRY(printascii)
-		addruart r3, r1
+		addruart_current r3, r1, r2
 		b	2f
 1:		waituart r2, r3
 		senduart r1, r3
@@ -171,7 +179,7 @@ ENTRY(printascii)
 ENDPROC(printascii)
 
 ENTRY(printch)
-		addruart r3, r1
+		addruart_current r3, r1, r2
 		mov	r1, r0
 		mov	r0, #0
 		b	1b
arch/arm/mach-aaec2000/include/mach/debug-macro.S +4 -6
index a9cac36..bc7ad55 100644
@@ -10,12 +10,10 @@
  */
 
 #include "hardware.h"
-		.macro	addruart, rx, tmp
-		mrc	p15, 0, \rx, c1, c0
-		tst	\rx, #1			@ MMU enabled?
-		moveq	\rx, #0x80000000		@ physical
-		movne	\rx, #io_p2v(0x80000000)	@ virtual
-		orr	\rx, \rx, #0x00000800
+		.macro	addruart, rp, rv
+		mov	\rp, 0x00000800
+		orr	\rv, \rp, #io_p2v(0x80000000)	@ virtual
+		orr	\rp, \rp, #0x80000000		@ physical
 		.endm
 
 		.macro	senduart,rd,rx
arch/arm/mach-at91/include/mach/debug-macro.S +3 -5
index 9e750a1..0f959fa 100644
@@ -14,11 +14,9 @@
 #include <mach/hardware.h>
 #include <mach/at91_dbgu.h>
 
-	.macro	addruart, rx, tmp
-	mrc	p15, 0, \rx, c1, c0
-	tst	\rx, #1						@ MMU enabled?
-	ldreq	\rx, =(AT91_BASE_SYS + AT91_DBGU)		@ System peripherals (phys address)
-	ldrne	\rx, =(AT91_VA_BASE_SYS	+ AT91_DBGU)		@ System peripherals (virt address)
+	.macro	addruart, rp, rv
+	ldr	\rp, =(AT91_BASE_SYS + AT91_DBGU)		@ System peripherals (phys address)
+	ldr	\rv, =(AT91_VA_BASE_SYS	+ AT91_DBGU)		@ System peripherals (virt address)
 	.endm
 
 	.macro	senduart,rd,rx
arch/arm/mach-clps711x/include/mach/debug-macro.S +5 -7
index 072cc6b..507c687 100644
@@ -14,16 +14,14 @@
 #include <mach/hardware.h>
 #include <asm/hardware/clps7111.h>
 
-		.macro	addruart, rx, tmp
-		mrc	p15, 0, \rx, c1, c0
-		tst	\rx, #1			@ MMU enabled?
-		moveq	\rx, #CLPS7111_PHYS_BASE
-		movne	\rx, #CLPS7111_VIRT_BASE
+		.macro	addruart, rp, rv
 #ifndef CONFIG_DEBUG_CLPS711X_UART2
-		add	\rx, \rx, #0x0000	@ UART1
+		mov	\rp, #0x0000	@ UART1
 #else
-		add	\rx, \rx, #0x1000	@ UART2
+		mov	\rp, #0x1000	@ UART2
 #endif
+		orr	\rv, \rp, #CLPS7111_VIRT_BASE
+		orr	\rp, \rp, #CLPS7111_PHYS_BASE
 		.endm
 
 		.macro	senduart,rd,rx
arch/arm/mach-cns3xxx/include/mach/debug-macro.S +4 -6
index d16ce7e..56d8286 100644
@@ -10,12 +10,10 @@
  * published by the Free Software Foundation.
  */
 
-		.macro	addruart,rx
-		mrc	p15, 0, \rx, c1, c0
-		tst	\rx, #1			@ MMU enabled?
-		moveq	\rx,      #0x10000000
-		movne	\rx,      #0xf0000000	@ virtual base
-		orr	\rx, \rx, #0x00009000
+		.macro	addruart,rp,rv
+		mov	\rp, #0x00009000
+		orr	\rv, \rp, #0xf0000000	@ virtual base
+		orr	\rp, \rp, #0x10000000
 		.endm
 
 #include <asm/hardware/debug-pl01x.S>
arch/arm/mach-davinci/include/mach/debug-macro.S +25 -21

60 lines not on this page · raw message

arch/arm/mach-dove/include/mach/debug-macro.S +5 -6
index 1521d13..da8bf2b 100644
@@ -8,12 +8,11 @@
 
 #include <mach/bridge-regs.h>
 
-	.macro	addruart, rx, tmp
-	mrc	p15, 0, \rx, c1, c0
-	tst	\rx, #1					@ MMU enabled?
-	ldreq	\rx, =DOVE_SB_REGS_PHYS_BASE
-	ldrne	\rx, =DOVE_SB_REGS_VIRT_BASE
-	orr	\rx, \rx, #0x00012000
+	.macro	addruart, rp, rv
+	ldr	\rp, =DOVE_SB_REGS_PHYS_BASE
+	ldr	\rv, =DOVE_SB_REGS_VIRT_BASE
+	orr	\rp, \rp, #0x00012000
+	orr	\rv, \rv, #0x00012000
 	.endm
 
 #define UART_SHIFT	2
arch/arm/mach-ebsa110/include/mach/debug-macro.S +4 -3
index ebbd89f..7ef5690 100644
@@ -11,9 +11,10 @@
  *
 **/
 
-		.macro	addruart, rx, tmp
-		mov	\rx, #0xf0000000
-		orr	\rx, \rx, #0x00000be0
+		.macro	addruart, rp, rv
+		mov	\rp, #0xf0000000
+		orr	\rp, \rp, #0x00000be0
+		mov	\rp, \rv
 		.endm
 
 #define UART_SHIFT	2
arch/arm/mach-ep93xx/include/mach/debug-macro.S +5 -6
index 5cd2244..b25bc90 100644
@@ -11,12 +11,11 @@
  */
 #include <mach/ep93xx-regs.h>
 
-		.macro	addruart, rx, tmp
-		mrc	p15, 0, \rx, c1, c0
-		tst	\rx, #1				@ MMU enabled?
-		ldreq	\rx, =EP93XX_APB_PHYS_BASE	@ Physical base
-		ldrne	\rx, =EP93XX_APB_VIRT_BASE	@ virtual base
-		orr	\rx, \rx, #0x000c0000
+		.macro	addruart, rp, rv
+		ldr	\rp, =EP93XX_APB_PHYS_BASE	@ Physical base
+		ldr	\rv, =EP93XX_APB_VIRT_BASE	@ virtual base
+		orr	\rp, \rp, #0x000c0000
+		orr	\rv, \rv, #0x000c0000
 		.endm
 
 #include <asm/hardware/debug-pl01x.S>
arch/arm/mach-footbridge/include/mach/debug-macro.S +10 -12
index 60dda13..3c9e0c4 100644
@@ -15,12 +15,10 @@
 
 #ifndef CONFIG_DEBUG_DC21285_PORT
 	/* For NetWinder debugging */
-		.macro	addruart, rx, tmp
-		mrc	p15, 0, \rx, c1, c0
-		tst	\rx, #1			@ MMU enabled?
-		moveq	\rx, #0x7c000000	@ physical
-		movne	\rx, #0xff000000	@ virtual
-		orr	\rx, \rx, #0x000003f8
+		.macro	addruart, rp, rv
+		mov	\rp, #0x000003f8
+		orr	\rv, \rp, #0x7c000000	@ physical
+		orr	\rp, \rp, #0xff000000	@ virtual
 		.endm
 
 #define UART_SHIFT	0
@@ -32,14 +30,14 @@
 		.equ	dc21285_high, ARMCSR_BASE & 0xff000000
 		.equ	dc21285_low,  ARMCSR_BASE & 0x00ffffff
 
-		.macro	addruart, rx, tmp
-		mrc	p15, 0, \rx, c1, c0
-		tst	\rx, #1			@ MMU enabled?
-		moveq	\rx, #0x42000000
-		movne	\rx, #dc21285_high
+		.macro	addruart, rp, rv
 		.if	dc21285_low
-		orrne	\rx, \rx, #dc21285_low
+		mov	\rp, #dc21285_low
+		.else
+		mov	\rp, #0
 		.endif
+		orr	\rv, \rp, #0x42000000
+		orr	\rp, \rp, #dc21285_high
 		.endm
 
 		.macro	senduart,rd,rx
arch/arm/mach-gemini/include/mach/debug-macro.S +3 -5
index ad47704..f40e006 100644
@@ -11,11 +11,9 @@
  */
 #include <mach/hardware.h>
 
-	.macro	addruart, rx, tmp
-	mrc	p15, 0, \rx, c1, c0
-	tst	\rx, #1					@ MMU enabled?
-	ldreq	\rx, =GEMINI_UART_BASE			@ physical
-	ldrne	\rx, =IO_ADDRESS(GEMINI_UART_BASE)	@ virtual
+	.macro	addruart, rp, rv
+	ldr	\rp, =GEMINI_UART_BASE			@ physical
+	ldr	\rv, =IO_ADDRESS(GEMINI_UART_BASE)	@ virtual
 	.endm
 
 #define UART_SHIFT	2
arch/arm/mach-h720x/include/mach/debug-macro.S +4 -6
index 27cafd1..c2093e8 100644
@@ -16,12 +16,10 @@
 		.equ    io_virt, IO_VIRT
 		.equ    io_phys, IO_PHYS
 
-		.macro  addruart, rx, tmp
-		mrc     p15, 0, \rx, c1, c0
-		tst     \rx, #1  	       @ MMU enabled?
-		moveq   \rx, #io_phys	       @ physical base address
-		movne   \rx, #io_virt	       @ virtual address
-		add     \rx, \rx, #0x00020000   @ UART1
+		.macro  addruart, rp, rv
+		mov     \rp, #0x00020000	@ UART1
+		add     \rv, \rp, #io_virt	@ virtual address
+		add     \rp, \rp, #io_phys	@ physical base address
 		.endm
 
 		.macro  senduart,rd,rx
arch/arm/mach-integrator/include/mach/debug-macro.S +4 -6
index 87a6888..a1f598f 100644
@@ -11,12 +11,10 @@
  *
 */
 
-		.macro	addruart, rx, tmp
-		mrc	p15, 0, \rx, c1, c0
-		tst	\rx, #1			@ MMU enabled?
-		moveq	\rx, #0x16000000	@ physical base address
-		movne	\rx, #0xf0000000	@ virtual base
-		addne	\rx, \rx, #0x16000000 >> 4
+		.macro	addruart, rp, rv
+		mov	\rp, #0x16000000	@ physical base address
+		mov	\rv, #0xf0000000	@ virtual base
+		add	\rv, \rv, #0x16000000 >> 4
 		.endm
 
 #include <asm/hardware/debug-pl01x.S>
arch/arm/mach-iop13xx/include/mach/debug-macro.S +7 -9
index c9d6ba4..e664466 100644
@@ -11,15 +11,13 @@
  * published by the Free Software Foundation.
  */
 
-	.macro	addruart, rx, tmp
-	mrc	p15, 0, \rx, c1, c0
-	tst	\rx, #1			@ mmu enabled?
-	moveq	\rx, #0xff000000	@ physical
-	orreq	\rx, \rx, #0x00d80000
-	movne	\rx, #0xfe000000	@ virtual
-	orrne	\rx, \rx, #0x00e80000
-	orr	\rx, \rx, #0x00002300
-	orr	\rx, \rx, #0x00000040
+	.macro	addruart, rp, rv
+	mov	\rp, #0x00002300
+	orr	\rp, \rp, #0x00000040
+	orr	\rv, \rp, #0xfe000000	@ virtual
+	orr	\rv, \rv, #0x00e80000
+	orr	\rp, \rp, #0xff000000	@ physical
+	orr	\rp, \rp, #0x00d80000
 	.endm
 
 #define UART_SHIFT	2
arch/arm/mach-iop32x/include/mach/debug-macro.S +4 -3
index 736afe1..ff9e76c 100644
@@ -11,9 +11,10 @@
  * published by the Free Software Foundation.
  */
 
-		.macro	addruart, rx, tmp
-		mov	\rx, #0xfe000000	@ physical as well as virtual
-		orr	\rx, \rx, #0x00800000	@ location of the UART
+		.macro	addruart, rp, rv
+		mov	\rp, #0xfe000000	@ physical as well as virtual
+		orr	\rp, \rp, #0x00800000	@ location of the UART
+		mov	\rv, \rp
 		.endm
 
 #define UART_SHIFT	0
arch/arm/mach-iop33x/include/mach/debug-macro.S +5 -7
index addb2da..40c500d 100644
@@ -11,13 +11,11 @@
  * published by the Free Software Foundation.
  */
 
-		.macro	addruart, rx, tmp
-		mrc	p15, 0, \rx, c1, c0
-		tst	\rx, #1			@ mmu enabled?
-		moveq	\rx, #0xff000000	@ physical
-		movne	\rx, #0xfe000000	@ virtual
-		orr	\rx, \rx, #0x00ff0000
-		orr	\rx, \rx, #0x0000f700
+		.macro	addruart, rp, rv
+		mov	\rp, #0x00ff0000
+		orr	\rp, \rp, #0x0000f700
+		orr	\rv, #0xfe000000	@ virtual
+		orr	\rp, #0xff000000	@ physical
 		.endm
 
 #define UART_SHIFT	2
arch/arm/mach-ixp2000/include/mach/debug-macro.S +6 -8
index 6a82768..0ef533b 100644
@@ -11,16 +11,14 @@
  *
 */
 
-		.macro  addruart, rx, tmp
-		mrc	p15, 0, \rx, c1, c0
-		tst	\rx, #1			@ MMU enabled?
-		moveq	\rx, #0xc0000000	@ Physical base
-		movne	\rx, #0xfe000000	@ virtual base
-		orrne	\rx, \rx, #0x00f00000
-		orr	\rx, \rx, #0x00030000
+		.macro  addruart, rp, rv
+		mov	\rp, #0x00030000
 #ifdef	__ARMEB__
-		orr	\rx, \rx, #0x00000003
+		orr	\rp, \rp, #0x00000003
 #endif
+		orr	\rv, \rp, #0xfe000000	@ virtual base
+		orr	\rv, \rv, #0x00f00000
+		orr	\rp, \rp, #0xc0000000	@ Physical base
 		.endm
 
 #define UART_SHIFT	2
arch/arm/mach-ixp23xx/include/mach/debug-macro.S +5 -6
index a82e375..f7c6eef 100644
@@ -12,13 +12,12 @@
  */
 #include <mach/ixp23xx.h>
 
-		.macro	addruart, rx, tmp
-		mrc	p15, 0, \rx, c1, c0
-		tst	\rx, #1				@ mmu enabled?
-		ldreq	\rx, =IXP23XX_PERIPHERAL_PHYS 	@ physical
-		ldrne	\rx, =IXP23XX_PERIPHERAL_VIRT	@ virtual
+		.macro	addruart, rp, rv
+		ldr	\rp, =IXP23XX_PERIPHERAL_PHYS 	@ physical
+		ldr	\rv, =IXP23XX_PERIPHERAL_VIRT	@ virtual
 #ifdef __ARMEB__
-		orr	\rx, \rx, #0x00000003
+		orr	\rp, \rp, #0x00000003
+		orr	\rv, \rv, #0x00000003
 #endif
 		.endm
 
arch/arm/mach-ixp4xx/include/mach/debug-macro.S +8 -8
index 3fc66d6..b974a49 100644
@@ -10,16 +10,16 @@
  * published by the Free Software Foundation.
 */
 
-                .macro  addruart, rx, tmp
-                mrc     p15, 0, \rx, c1, c0
-                tst     \rx, #1                 @ MMU enabled?
-                moveq   \rx, #0xc8000000
-                movne   \rx, #0xff000000
-		orrne	\rx, \rx, #0x00b00000
+                .macro  addruart, rp, rv
 #ifdef __ARMEB__
-                add     \rx,\rx,#3              @ Uart regs are at off set of 3 if
-						@ byte writes used - Big Endian.
+                mov     \rp, #3         @ Uart regs are at off set of 3 if
+					@ byte writes used - Big Endian.
+#else
+		mov	\rp, #0
 #endif
+                orr     \rv, \rp, #0xff000000	@ virtual
+		orr	\rv, \rv, #0x00b00000
+                orr     \rp, \rp, #0xc8000000	@ physical
                 .endm
 
 #define UART_SHIFT	2
arch/arm/mach-kirkwood/include/mach/debug-macro.S +5 -6
index d060677..db06ae4 100644
@@ -8,12 +8,11 @@
 
 #include <mach/bridge-regs.h>
 
-	.macro	addruart, rx, tmp
-	mrc	p15, 0, \rx, c1, c0
-	tst	\rx, #1					@ MMU enabled?
-	ldreq	\rx, =KIRKWOOD_REGS_PHYS_BASE
-	ldrne	\rx, =KIRKWOOD_REGS_VIRT_BASE
-	orr	\rx, \rx, #0x00012000
+	.macro	addruart, rp, rv
+	ldr	\rp, =KIRKWOOD_REGS_PHYS_BASE
+	ldr	\rv, =KIRKWOOD_REGS_VIRT_BASE
+	orr	\rp, \rp, #0x00012000
+	orr	\rv, \rv, #0x00012000
 	.endm
 
 #define UART_SHIFT	2
arch/arm/mach-ks8695/include/mach/debug-macro.S +3 -5
index cf2095d..bf516ad 100644
@@ -14,11 +14,9 @@
 #include <mach/hardware.h>
 #include <mach/regs-uart.h>
 
-	.macro	addruart, rx, tmp
-		mrc	p15, 0, \rx, c1, c0
-		tst	\rx, #1				@ MMU enabled?
-		ldreq	\rx, =KS8695_UART_PA		@ physical base address
-		ldrne	\rx, =KS8695_UART_VA		@ virtual base address
+	.macro	addruart, rp, rv
+		ldr	\rp, =KS8695_UART_PA		@ physical base address
+		ldr	\rv, =KS8695_UART_VA		@ virtual base address
 	.endm
 
 	.macro	senduart, rd, rx
arch/arm/mach-l7200/include/mach/debug-macro.S new file +38 -0
new file mode 100644
index 0000000..b0a2db7
@@ -0,0 +1,38 @@
+/* arch/arm/mach-l7200/include/mach/debug-macro.S
+ *
+ * Debugging macro include header
+ *
+ *  Copyright (C) 1994-1999 Russell King
+ *  Moved from linux/arch/arm/kernel/debug.S by Ben Dooks
+ *
+ * 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.
+ *
+*/
+
+		.equ	io_virt, IO_BASE
+		.equ	io_phys, IO_START
+
+		.macro	addruart, rp, rv
+		mov	\rp, #0x00044000	@ UART1
+@		mov	\rp, #0x00045000	@ UART2
+		add	\rv, \rp, #io_virt	@ virtual address
+		add	\rp, \rp, #io_phys	@ physical base address
+		.endm
+
+		.macro	senduart,rd,rx
+		str	\rd, [\rx, #0x0]	@ UARTDR
+		.endm
+
+		.macro	waituart,rd,rx
+1001:		ldr	\rd, [\rx, #0x18]	@ UARTFLG
+		tst	\rd, #1 << 5		@ UARTFLGUTXFF - 1 when full
+		bne	1001b
+		.endm
+
+		.macro	busyuart,rd,rx
+1001:		ldr	\rd, [\rx, #0x18]	@ UARTFLG
+		tst	\rd, #1 << 3		@ UARTFLGUBUSY - 1 when busy
+		bne	1001b
+		.endm
arch/arm/mach-lh7a40x/include/mach/debug-macro.S +4 -6
index c0dcbbb..cff3362 100644
@@ -14,12 +14,10 @@
 	@ It is not known if this will be appropriate for every 40x
 	@ board.
 
-		.macro  addruart, rx, tmp
-		mrc     p15, 0, \rx, c1, c0
-		tst     \rx, #1                 @ MMU enabled?
-		mov     \rx, #0x00000700        @ offset from base
-		orreq   \rx, \rx, #0x80000000   @ physical base
-		orrne   \rx, \rx, #0xf8000000   @ virtual base
+		.macro  addruart, rp, rv
+		mov     \rp, #0x00000700        @ offset from base
+		orr     \rv, \rp, #0xf8000000   @ virtual base
+		orr     \rp, \rp, #0x80000000   @ physical base
 		.endm
 
 		.macro  senduart,rd,rx
arch/arm/mach-loki/include/mach/debug-macro.S +5 -6
index 3136c91..cc90d99 100644
@@ -8,12 +8,11 @@
 
 #include <mach/loki.h>
 
-	.macro	addruart, rx, tmp
-	mrc	p15, 0, \rx, c1, c0
-	tst	\rx, #1					@ MMU enabled?
-	ldreq	\rx, =LOKI_REGS_PHYS_BASE
-	ldrne	\rx, =LOKI_REGS_VIRT_BASE
-	orr	\rx, \rx, #0x00012000
+	.macro	addruart, rp, rv
+	ldr	\rp, =LOKI_REGS_PHYS_BASE
+	ldr	\rv, =LOKI_REGS_VIRT_BASE
+	orr	\rp, \rp, #0x00012000
+	orr	\rv, \rv, #0x00012000
 	.endm
 
 #define UART_SHIFT	2
arch/arm/mach-mmp/include/mach/debug-macro.S +5 -6
index 76deff2..7e2ebd3 100644
@@ -11,12 +11,11 @@
 
 #include <mach/addr-map.h>
 
-		.macro	addruart, rx, tmp
-		mrc	p15, 0, \rx, c1, c0
-		tst	\rx, #1				@ MMU enabled?
-		ldreq	\rx, =APB_PHYS_BASE		@ physical
-		ldrne	\rx, =APB_VIRT_BASE		@ virtual
-		orr	\rx, \rx, #0x00017000
+		.macro	addruart, rp, rv
+		ldr	\rp, =APB_PHYS_BASE		@ physical
+		ldr	\rv, =APB_VIRT_BASE		@ virtual
+		orr	\rp, \rp, #0x00017000
+		orr	\rv, \rv, #0x00017000
 		.endm
 
 #define UART_SHIFT	2
arch/arm/mach-msm/include/mach/debug-macro.S +4 -6
index 528750f..3c35b0d 100644
@@ -20,12 +20,10 @@
 #include <mach/msm_iomap.h>
 
 #ifdef CONFIG_MSM_DEBUG_UART
-	.macro	addruart, rx, tmp
+	.macro	addruart, rp, rv
 	@ see if the MMU is enabled and select appropriate base address
-	mrc	p15, 0, \rx, c1, c0
-	tst	\rx, #1
-	ldreq	\rx, =MSM_DEBUG_UART_PHYS
-	ldrne	\rx, =MSM_DEBUG_UART_BASE
+	ldr	\rp, =MSM_DEBUG_UART_PHYS
+	ldr	\rv, =MSM_DEBUG_UART_BASE
 	.endm
 
 	.macro	senduart,rd,rx
@@ -40,7 +38,7 @@
 	beq	1001b
 	.endm
 #else
-	.macro	addruart, rx, tmp
+	.macro	addruart, rp, rv
 	.endm
 
 	.macro	senduart,rd,rx
arch/arm/mach-mv78xx0/include/mach/debug-macro.S +5 -6
index cd81689..0489142 100644
@@ -8,12 +8,11 @@
 
 #include <mach/mv78xx0.h>
 
-	.macro	addruart, rx, tmp
-	mrc	p15, 0, \rx, c1, c0
-	tst	\rx, #1					@ MMU enabled?
-	ldreq	\rx, =MV78XX0_REGS_PHYS_BASE
-	ldrne	\rx, =MV78XX0_REGS_VIRT_BASE
-	orr	\rx, \rx, #0x00012000
+	.macro	addruart, rp, rv
+	ldr	\rp, =MV78XX0_REGS_PHYS_BASE
+	ldr	\rv, =MV78XX0_REGS_VIRT_BASE
+	orr	\rp, \rp, #0x00012000
+	orr	\rv, \rv, #0x00012000
 	.endm
 
 #define UART_SHIFT	2
arch/arm/mach-netx/include/mach/debug-macro.S +4 -6
index e96339e..56a9152 100644
@@ -13,12 +13,10 @@
 
 #include "hardware.h"
 
-		.macro	addruart, rx, tmp
-		mrc	p15, 0, \rx, c1, c0
-		tst	\rx, #1			@ MMU enabled?
-		moveq	\rx, #0x00100000		@ physical
-		movne	\rx, #io_p2v(0x00100000)	@ virtual
-		orr	\rx, \rx, #0x00000a00
+		.macro	addruart, rp, rv
+		mov	\rp, #0x00000a00
+		orr	\rv, \rp, #io_p2v(0x00100000)	@ virtual
+		orr	\rp, \rp, #0x00100000		@ physical
 		.endm
 
 		.macro	senduart,rd,rx
arch/arm/mach-nomadik/include/mach/debug-macro.S +5 -7
index 4f92acf..e7151b4 100644
@@ -10,13 +10,11 @@
  *
 */
 
-		.macro	addruart, rx, tmp
-		mrc	p15, 0, \rx, c1, c0
-		tst	\rx, #1			@ MMU enabled?
-		moveq	\rx, #0x10000000	@ physical base address
-		movne	\rx, #0xf0000000	@ virtual base
-		add	\rx, \rx, #0x00100000
-		add	\rx, \rx, #0x000fb000
+		.macro	addruart, rp, rv
+		mov	\rp, #0x00100000
+		add	\rp, \rp, #0x000fb000
+		add	\rv, \rp, #0xf0000000	@ virtual base
+		add	\rp, \rp, #0x10000000	@ physical base address
 		.endm
 
 #include <asm/hardware/debug-pl01x.S>
arch/arm/mach-ns9xxx/include/mach/debug-macro.S +3 -5
index 5c934bd..5a2acbd 100644
@@ -12,11 +12,9 @@
 
 #include <mach/regs-board-a9m9750dev.h>
 
-		.macro	addruart, rx, tmp
-		mrc	p15, 0, \rx, c1, c0
-		tst	\rx, #1
-		ldreq	\rx, =NS9XXX_CSxSTAT_PHYS(0)
-		ldrne	\rx, =io_p2v(NS9XXX_CSxSTAT_PHYS(0))
+		.macro	addruart, rp, rv
+		ldr	\rp, =NS9XXX_CSxSTAT_PHYS(0)
+		ldr	\rv, =io_p2v(NS9XXX_CSxSTAT_PHYS(0))
 		.endm
 
 #define UART_SHIFT	2
arch/arm/mach-omap1/include/mach/debug-macro.S +35 -33

91 lines not on this page · raw message

arch/arm/mach-omap2/include/mach/debug-macro.S +63 -64

167 lines not on this page · raw message

arch/arm/mach-orion5x/include/mach/debug-macro.S +5 -6
index 91e0e39..5e3bf5b 100644
@@ -10,12 +10,11 @@
 
 #include <mach/orion5x.h>
 
-	.macro  addruart, rx, tmp
-	mrc	p15, 0, \rx, c1, c0
-	tst	\rx, #1					@ MMU enabled?
-	ldreq	\rx, =ORION5X_REGS_PHYS_BASE
-	ldrne	\rx, =ORION5X_REGS_VIRT_BASE
-	orr	\rx, \rx, #0x00012000
+	.macro  addruart, rp, rv
+	ldr	\rp, =ORION5X_REGS_PHYS_BASE
+	ldr	\rv, =ORION5X_REGS_VIRT_BASE
+	orr	\rp, \rp, #0x00012000
+	orr	\rv, \rv, #0x00012000
 	.endm
 
 #define UART_SHIFT	2
arch/arm/mach-pnx4008/include/mach/debug-macro.S +4 -6
index 6ca8bd3..931afeb 100644
@@ -11,12 +11,10 @@
  *
 */
 
-		.macro	addruart, rx, tmp
-		mrc	p15, 0, \rx, c1, c0
-		tst	\rx, #1			@ MMU enabled?
-		mov	\rx, #0x00090000
-		addeq	\rx, \rx, #0x40000000
-		addne	\rx, \rx, #0xf4000000
+		.macro	addruart, rp, rv
+		mov	\rp, #0x00090000
+		add	\rv, \rp, #0xf4000000	@ virtual
+		add	\rp, \rp, #0x40000000	@ physical
 		.endm
 
 #define UART_SHIFT	2
arch/arm/mach-pxa/include/mach/debug-macro.S +4 -6
index 01cf813..7d5c751 100644
@@ -13,12 +13,10 @@
 
 #include "hardware.h"
 
-		.macro	addruart, rx, tmp
-		mrc	p15, 0, \rx, c1, c0
-		tst	\rx, #1			@ MMU enabled?
-		moveq	\rx, #0x40000000		@ physical
-		movne	\rx, #io_p2v(0x40000000)	@ virtual
-		orr	\rx, \rx, #0x00100000
+		.macro	addruart, rp, rv
+		mov	\rp, #0x00100000
+		orr	\rv, \rp, #io_p2v(0x40000000)	@ virtual
+		orr	\rp, \rp, #0x40000000		@ physical
 		.endm
 
 #define UART_SHIFT	2
arch/arm/mach-realview/include/mach/debug-macro.S +4 -6
index 8662228..90b687c 100644
@@ -33,12 +33,10 @@
 #error "Unknown RealView platform"
 #endif
 
-		.macro	addruart, rx, tmp
-		mrc	p15, 0, \rx, c1, c0
-		tst	\rx, #1			@ MMU enabled?
-		moveq	\rx,      #0x10000000
-		movne	\rx,      #0xfb000000	@ virtual base
-		orr	\rx, \rx, #DEBUG_LL_UART_OFFSET
+		.macro	addruart, rp, rv
+		mov	\rp, #DEBUG_LL_UART_OFFSET
+		orr	\rv, \rp, #0xfb000000	@ virtual base
+		orr	\rp, \rp, #0x10000000	@ physical base
 		.endm
 
 #include <asm/hardware/debug-pl01x.S>
arch/arm/mach-rpc/include/mach/debug-macro.S +5 -7
index 6fc8d66..85effff 100644
@@ -11,13 +11,11 @@
  *
 */
 
-		.macro	addruart, rx, tmp
-		mrc	p15, 0, \rx, c1, c0
-		tst	\rx, #1			@ MMU enabled?
-		moveq	\rx, #0x03000000
-		movne	\rx, #0xe0000000
-		orr	\rx, \rx, #0x00010000
-		orr	\rx, \rx, #0x00000fe0
+		.macro	addruart, rp, rv
+		mov	\rp, #0x00010000
+		orr	\rp, \rp, #0x00000fe0
+		orr	\rv, \rp, #0xe0000000	@ virtual
+		orr	\rp, \rp, #0x03000000	@ physical
 		.endm
 
 #define UART_SHIFT	2
arch/arm/mach-s3c2410/include/mach/debug-macro.S +5 -6
index 0eef78b..5882dea 100644
@@ -19,13 +19,12 @@
 #define S3C2410_UART1_OFF (0x4000)
 #define SHIFT_2440TXF (14-9)
 
-	.macro addruart, rx, tmp
-		mrc	p15, 0, \rx, c1, c0
-		tst	\rx, #1
-		ldreq	\rx, = S3C24XX_PA_UART
-		ldrne	\rx, = S3C24XX_VA_UART
+	.macro addruart, rp, rv
+		ldr	\rp, = S3C24XX_PA_UART
+		ldr	\rv, = S3C24XX_VA_UART
 #if CONFIG_DEBUG_S3C_UART != 0
-		add	\rx, \rx, #(S3C2410_UART1_OFF * CONFIG_DEBUG_S3C_UART)
+		add	\rp, \rp, #(S3C2410_UART1_OFF * CONFIG_DEBUG_S3C_UART)
+		add	\rv, \rv, #(S3C2410_UART1_OFF * CONFIG_DEBUG_S3C_UART)
 #endif
 	.endm
 
arch/arm/mach-s3c24a0/include/mach/debug-macro.S +5 -6
index 239476b..0c5a738 100644
@@ -10,13 +10,12 @@
 #include <mach/map.h>
 #include <plat/regs-serial.h>
 
-	.macro addruart, rx, tmp
-		mrc	p15, 0, \rx, c1, c0
-		tst	\rx, #1
-		ldreq	\rx, = S3C24XX_PA_UART
-		ldrne	\rx, = S3C24XX_VA_UART
+	.macro addruart, rp, rv
+		ldr	\rp, = S3C24XX_PA_UART
+		ldr	\rv, = S3C24XX_VA_UART
 #if CONFIG_DEBUG_S3C_UART != 0
-		add	\rx, \rx, #(S3C2410_UART1_OFF * CONFIG_DEBUG_S3C_UART)
+		add	\rp, \rp, #(S3C2410_UART1_OFF * CONFIG_DEBUG_S3C_UART)
+		add	\rv, \rv, #(S3C2410_UART1_OFF * CONFIG_DEBUG_S3C_UART)
 #endif
 	.endm
 
arch/arm/mach-s3c64xx/include/mach/debug-macro.S +5 -6
index f9ab5d2..a29e705 100644
@@ -21,13 +21,12 @@
 	 * aligned and add in the offset when we load the value here.
 	 */
 
-	.macro addruart, rx, rtmp
-		mrc	p15, 0, \rx, c1, c0
-		tst	\rx, #1
-		ldreq	\rx, = S3C_PA_UART
-		ldrne	\rx, = (S3C_VA_UART + S3C_PA_UART & 0xfffff)
+	.macro addruart, rp, rv
+		ldr	\rp, = S3C_PA_UART
+		ldr	\rv, = (S3C_VA_UART + S3C_PA_UART & 0xfffff)
 #if CONFIG_DEBUG_S3C_UART != 0
-		add	\rx, \rx, #(0x400 * CONFIG_DEBUG_S3C_UART)
+		add	\rp, \rp, #(0x400 * CONFIG_DEBUG_S3C_UART)
+		add	\rv, \rv, #(0x400 * CONFIG_DEBUG_S3C_UART)
 #endif
 	.endm
 
arch/arm/mach-s5p6440/include/mach/debug-macro.S +5 -6
index 1347d7f..f4c20ee 100644
@@ -19,13 +19,12 @@
 	 * aligned and add in the offset when we load the value here.
 	 */
 
-	.macro addruart, rx, rtmp
-		mrc	p15, 0, \rx, c1, c0
-		tst	\rx, #1
-		ldreq	\rx, = S3C_PA_UART
-		ldrne	\rx, = S3C_VA_UART
+	.macro addruart, rp, rv
+		ldr	\rp, = S3C_PA_UART
+		ldr	\rv, = S3C_VA_UART
 #if CONFIG_DEBUG_S3C_UART != 0
-		add	\rx, \rx, #(0x400 * CONFIG_DEBUG_S3C_UART)
+		add	\rp, \rp, #(0x400 * CONFIG_DEBUG_S3C_UART)
+		add	\rv, \rv, #(0x400 * CONFIG_DEBUG_S3C_UART)
 #endif
 	.endm
 
arch/arm/mach-s5p6442/include/mach/debug-macro.S +5 -6
index bb65361..e221320 100644
@@ -15,13 +15,12 @@
 #include <mach/map.h>
 #include <plat/regs-serial.h>
 
-	.macro addruart, rx, rtmp
-		mrc	p15, 0, \rx, c1, c0
-		tst	\rx, #1
-		ldreq	\rx, = S3C_PA_UART
-		ldrne	\rx, = S3C_VA_UART
+	.macro addruart, rp, rv
+		ldr	\rp, = S3C_PA_UART
+		ldr	\rv, = S3C_VA_UART
 #if CONFIG_DEBUG_S3C_UART != 0
-		add	\rx, \rx, #(0x400 * CONFIG_DEBUG_S3C_UART)
+		add	\rp, \rp, #(0x400 * CONFIG_DEBUG_S3C_UART)
+		add	\rv, \rv, #(0x400 * CONFIG_DEBUG_S3C_UART)
 #endif
 	.endm
 
arch/arm/mach-s5pc100/include/mach/debug-macro.S +5 -6
index 70e02e9..b2ba95d 100644
@@ -22,13 +22,12 @@
 	 * aligned and add in the offset when we load the value here.
 	 */
 
-	.macro addruart, rx, rtmp
-		mrc	p15, 0, \rx, c1, c0
-		tst	\rx, #1
-		ldreq	\rx, = S3C_PA_UART
-		ldrne	\rx, = S3C_VA_UART
+	.macro addruart, rp, rv
+		ldr	\rp, = S3C_PA_UART
+		ldr	\rv, = S3C_VA_UART
 #if CONFIG_DEBUG_S3C_UART != 0
-		add	\rx, \rx, #(0x400 * CONFIG_DEBUG_S3C_UART)
+		add	\rp, \rp, #(0x400 * CONFIG_DEBUG_S3C_UART)
+		add	\rv, \rv, #(0x400 * CONFIG_DEBUG_S3C_UART)
 #endif
 	.endm
 
arch/arm/mach-s5pv210/include/mach/debug-macro.S +5 -6
index 7872f5c..169fe65 100644
@@ -21,13 +21,12 @@
 	 * aligned and add in the offset when we load the value here.
 	 */
 
-	.macro addruart, rx, tmp
-		mrc	p15, 0, \rx, c1, c0
-		tst	\rx, #1
-		ldreq	\rx, = S3C_PA_UART
-		ldrne	\rx, = S3C_VA_UART
+	.macro addruart, rp, rv
+		ldr	\rp, = S3C_PA_UART
+		ldr	\rv, = S3C_VA_UART
 #if CONFIG_DEBUG_S3C_UART != 0
-		add	\rx, \rx, #(0x400 * CONFIG_DEBUG_S3C_UART)
+		add	\rp, \rp, #(0x400 * CONFIG_DEBUG_S3C_UART)
+		add	\rv, \rv, #(0x400 * CONFIG_DEBUG_S3C_UART)
 #endif
 	.endm
 
arch/arm/mach-sa1100/include/mach/debug-macro.S +20 -16
index 336adcc..0cd0fc9 100644
@@ -12,33 +12,37 @@
 */
 #include <mach/hardware.h>
 
-		.macro	addruart, rx, tmp
-		mrc	p15, 0, \rx, c1, c0
-		tst	\rx, #1			@ MMU enabled?
-		moveq	\rx, #0x80000000	@ physical base address
-		movne	\rx, #0xf8000000	@ virtual address
+		.macro	addruart, rp, rv
+		mrc	p15, 0, \rp, c1, c0
+		tst	\rp, #1			@ MMU enabled?
+		moveq	\rp, #0x80000000	@ physical base address
+		movne	\rp, #0xf8000000	@ virtual address
 
 		@ We probe for the active serial port here, coherently with
 		@ the comment in arch/arm/mach-sa1100/include/mach/uncompress.h.
 		@ We assume r1 can be clobbered.
 
 		@ see if Ser3 is active
-		add	\rx, \rx, #0x00050000
-		ldr	r1, [\rx, #UTCR3]
-		tst	r1, #UTCR3_TXE
+		add	\rp, \rp, #0x00050000
+		ldr	\rv, [\rp, #UTCR3]
+		tst	\rv, #UTCR3_TXE
 
 		@ if Ser3 is inactive, then try Ser1
-		addeq	\rx, \rx, #(0x00010000 - 0x00050000)
-		ldreq	r1, [\rx, #UTCR3]
-		tsteq	r1, #UTCR3_TXE
+		addeq	\rp, \rp, #(0x00010000 - 0x00050000)
+		ldreq	\rv, [\rp, #UTCR3]
+		tsteq	\rv, #UTCR3_TXE
 
 		@ if Ser1 is inactive, then try Ser2
-		addeq	\rx, \rx, #(0x00030000 - 0x00010000)
-		ldreq	r1, [\rx, #UTCR3]
-		tsteq	r1, #UTCR3_TXE
+		addeq	\rp, \rp, #(0x00030000 - 0x00010000)
+		ldreq	\rv, [\rp, #UTCR3]
+		tsteq	\rv, #UTCR3_TXE
+
+		@ clear top bits, and generate both phys and virt addresses
+		lsl	\rp, \rp, #8
+		lsr	\rp, \rp, #8
+		orr	\rv, \rp, #0xf8000000	@ virtual
+		orr	\rp, \rp, #0x80000000	@ physical
 
-		@ if all ports are inactive, then there is nothing we can do
-		moveq	pc, lr
 		.endm
 
 		.macro	senduart,rd,rx
arch/arm/mach-shark/include/mach/debug-macro.S +4 -3
index 5ea24d4..a473f55 100644
@@ -11,9 +11,10 @@
  *
 */
 
-		.macro	addruart, rx, tmp
-		mov	\rx, #0xe0000000
-		orr	\rx, \rx, #0x000003f8
+		.macro	addruart, rp, rv
+		mov	\rp, #0xe0000000
+		orr	\rp, \rp, #0x000003f8
+		mov	\rv, \rp
 		.endm
 
 		.macro	senduart,rd,rx
arch/arm/mach-tegra/include/mach/debug-macro.S +15 -11
index 55a3956..8ea3bff 100644
@@ -20,24 +20,28 @@
 
 #include <mach/io.h>
 
-	.macro  addruart,rx, tmp
-        mrc     p15, 0, \rx, c1, c0
-        tst     \rx, #1                 @ MMU enabled?
-        ldreq   \rx, =IO_APB_PHYS       @ physical
-        ldrne   \rx, =IO_APB_VIRT        @ virtual
+	.macro  addruart, rp, rv
+        ldreq   \rp, =IO_APB_PHYS       @ physical
+        ldrne   \rv, =IO_APB_VIRT        @ virtual
 #if defined(CONFIG_TEGRA_DEBUG_UART_NONE)
 #error "A debug UART must be selected in the kernel config to use DEBUG_LL"
 #elif defined(CONFIG_TEGRA_DEBUG_UARTA)
-        orr     \rx, \rx, #0x6000
+        orr     \rp, \rp, #0x6000
+        orr     \rv, \rv, #0x6000
 #elif defined(CONFIG_TEGRA_DEBUG_UARTB)
-	ldr	\tmp, =0x6040
-        orr     \rx, \rx, \tmp
+        orr     \rp, \rp, #0x6000
+	orr	\rp, \rp, #0x40
+        orr     \rv, \rv, #0x6000
+	orr	\rv, \rv, #0x40
 #elif defined(CONFIG_TEGRA_DEBUG_UARTC)
-        orr     \rx, \rx, #0x6200
+        orr     \rp, \rp, #0x6200
+        orr     \rv, \rv, #0x6200
 #elif defined(CONFIG_TEGRA_DEBUG_UARTD)
-        orr     \rx, \rx, #0x6300
+        orr     \rp, \rp, #0x6300
+        orr     \rv, \rv, #0x6300
 #elif defined(CONFIG_TEGRA_DEBUG_UARTE)
-        orr     \rx, \rx, #0x6400
+        orr     \rp, \rp, #0x6400
+        orr     \rv, \rv, #0x6400
 #endif
 	.endm
 
arch/arm/mach-u300/include/mach/debug-macro.S +5 -6
index 92c1242..df71570 100644
@@ -10,13 +10,12 @@
  */
 #include <mach/hardware.h>
 
-	.macro	addruart, rx, tmp
+	.macro	addruart, rp, rv
 	/* If we move the address using MMU, use this. */
-	mrc	p15, 0, \rx, c1, c0
-	tst	\rx, #1			@ MMU enabled?
-	ldreq	\rx,	  = U300_SLOW_PER_PHYS_BASE @ MMU off, physical address
-	ldrne	\rx,	  = U300_SLOW_PER_VIRT_BASE @ MMU on, virtual address
-	orr	\rx, \rx, #0x00003000
+	ldr	\rp,	  = U300_SLOW_PER_PHYS_BASE @ MMU off, physical address
+	ldr	\rv,	  = U300_SLOW_PER_VIRT_BASE @ MMU on, virtual address
+	orr	\rp, \rp, #0x00003000
+	orr	\rv, \rv, #0x00003000
 	.endm
 
 #include <asm/hardware/debug-pl01x.S>
arch/arm/mach-ux500/include/mach/debug-macro.S +3 -5
index c5203b7..be7c0f1 100644
@@ -18,11 +18,9 @@
 #define UX500_UART(n)	__UX500_UART(n)
 #define UART_BASE	UX500_UART(CONFIG_UX500_DEBUG_UART)
 
-	.macro	addruart, rx, tmp
-	mrc	p15, 0, \rx, c1, c0
-	tst	\rx, #1					@ MMU enabled?
-	ldreq	\rx, =UART_BASE				@ no, physical address
-	ldrne	\rx, =IO_ADDRESS(UART_BASE)		@ yes, virtual address
+	.macro	addruart, rp, rv
+	ldr	\rp, =UART_BASE				@ no, physical address
+	ldr	\rv, =IO_ADDRESS(UART_BASE)		@ yes, virtual address
 	.endm
 
 #include <asm/hardware/debug-pl01x.S>
arch/arm/mach-versatile/include/mach/debug-macro.S +5 -7
index 6fea719..eb2cf7d 100644
@@ -11,13 +11,11 @@
  *
 */
 
-		.macro	addruart, rx, tmp
-		mrc	p15, 0, \rx, c1, c0
-		tst	\rx, #1			@ MMU enabled?
-		moveq	\rx,      #0x10000000
-		movne	\rx,      #0xf1000000	@ virtual base
-		orr	\rx, \rx, #0x001F0000
-		orr	\rx, \rx, #0x00001000
+		.macro	addruart, rp, rv
+		mov	\rp,      #0x001F0000
+		orr	\rp, \rp, #0x00001000
+		orr	\rv, \rp, #0xf1000000	@ virtual base
+		orr	\rp, \rp,  #0x10000000	@ physical base
 		.endm
 
 #include <asm/hardware/debug-pl01x.S>
arch/arm/mach-vexpress/include/mach/debug-macro.S +4 -6
index 5167e2a..050d65e 100644
@@ -12,12 +12,10 @@
 
 #define DEBUG_LL_UART_OFFSET	0x00009000
 
-		.macro	addruart,rx,tmp
-		mrc	p15, 0, \rx, c1, c0
-		tst	\rx, #1			@ MMU enabled?
-		moveq	\rx,      #0x10000000
-		movne	\rx,      #0xf8000000	@ virtual base
-		orr	\rx, \rx, #DEBUG_LL_UART_OFFSET
+		.macro	addruart,rp,rv
+		mov	\rp, #DEBUG_LL_UART_OFFSET
+		orr	\rv, \rp, #0xf8000000	@ virtual base
+		orr	\rp, \rp, #0x10000000	@ physical base
 		.endm
 
 #include <asm/hardware/debug-pl01x.S>
arch/arm/plat-mxc/include/mach/debug-macro.S +3 -5
index 2560640..d56213f 100644
@@ -62,11 +62,9 @@
 #define UART_PADDR	MXC91231_UART2_BASE_ADDR
 #define UART_VADDR	MXC91231_IO_ADDRESS(MXC91231_UART2_BASE_ADDR)
 #endif
-		.macro	addruart, rx, tmp
-		mrc	p15, 0, \rx, c1, c0
-		tst	\rx, #1			@ MMU enabled?
-		ldreq	\rx, =UART_PADDR	@ physical
-		ldrne	\rx, =UART_VADDR	@ virtual
+		.macro	addruart, rp, rv
+		ldr	\rp, =UART_PADDR	@ physical
+		ldr	\rv, =UART_VADDR	@ virtual
 		.endm
 
 		.macro	senduart,rd,rx
arch/arm/plat-spear/include/plat/debug-macro.S +3 -5
index 37fa593..e91270e 100644
@@ -14,11 +14,9 @@
 #include <linux/amba/serial.h>
 #include <mach/spear.h>
 
-		.macro	addruart, rx
-		mrc	p15, 0, \rx, c1, c0
-		tst	\rx, #1					@ MMU enabled?
-		moveq	\rx, #SPEAR_DBG_UART_BASE		@ Physical base
-		movne	\rx, #VA_SPEAR_DBG_UART_BASE		@ Virtual base
+		.macro	addruart, rp, rv
+		mov	\rp, #SPEAR_DBG_UART_BASE		@ Physical base
+		mov	\rv, #VA_SPEAR_DBG_UART_BASE		@ Virtual base
 		.endm
 
 		.macro	senduart, rd, rx
arch/arm/plat-stmp3xxx/include/mach/debug-macro.S +4 -7
index 1b9348b..d3a0985 100644
@@ -16,13 +16,10 @@
  * http://www.gnu.org/copyleft/gpl.html
  */
 
-		.macro	addruart, rx, tmp
-		mrc	p15, 0, \rx, c1, c0
-		tst	\rx, #1			@ MMU enabled?
-		moveq	\rx, #0x80000000	@ physical base address
-		addeq	\rx, \rx, #0x00070000
-		movne	\rx, #0xf0000000	@ virtual base
-		addne	\rx, \rx, #0x00070000
+		.macro	addruart, rp, rv
+		mov	\rp,      #0x00070000
+		add	\rv, \rp, #0xf0000000	@ virtual base
+		add	\rp, \rp, #0x80000000	@ physical base
 		.endm
 
 		.macro	senduart,rd,rx
#3 lore raw

PATCH 2/3 arm: return both physical and virtual addresses from addruart

Hello,

arch/arm/kernel/debug.S wait: mrc p14, 0, pc, c0, c1, 0 · line 130

Quoted 7 lines
arch/arm/kernel/debug.S +7 -0
+		.macro	addruart_current, rx, tmp1, tmp2
+		addruart	\tmp1, \tmp2
+		mrc		p15, 0, \rx, c1, c0
+		tst		\rx, #1
+		moveq		\rx, \tmp1
+		movne		\rx, \tmp2
+		.endm

Don't you need to depend on MMU somehow to do this in generic code?

Best regards
Uwe

Signature · 2 lines
Pengutronix e.K.                           | Uwe Kleine-K?nig            |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
#4 lore raw

PATCH 2/3 arm: return both physical and virtual addresses from addruart

Hi Uwe,

Quoted 9 lines

arch/arm/kernel/debug.S wait: mrc p14, 0, pc, c0, c1, 0 · line 130

Quoted 7 lines
arch/arm/kernel/debug.S +7 -0
+		.macro	addruart_current, rx, tmp1, tmp2
+		addruart	\tmp1, \tmp2
+		mrc		p15, 0, \rx, c1, c0
+		tst		\rx, #1
+		moveq		\rx, \tmp1
+		movne		\rx, \tmp2
+		.endm

Don't you need to depend on MMU somehow to do this in generic code?

Yeah, it would make sense to have a separate paths for CONFIG_MMU/! CONFIG_MMU (the latter just using \tmp1).

Although, What will the mrc instruction do if there is no MMU? if it doesn't cause an exception, we can assume that the platform's addruart macro will return the same address in both registers and the existing code will just work.

Cheers,

Jeremy

#5 lore raw

PATCH 3/3 arm: use addruart macro to establish debug mappings

In reply to Jeremy Kerr

Since we can get both physical and virtual addresses from the addruart macro, we can use this to establish the debug mappings.

In the case of CONFIG_DEBUG_ICEDCC, we don't need any mappings, but may still need to setup r7 correctly.

Incorporating ASM changes from Nicolas Pitre <[email protected]>.

---
 arch/arm/kernel/head.S |   23 +++++++++++++++++++----
 1 file changed, 19 insertions(+), 4 deletions(-)
arch/arm/kernel/head.S +19 -4
index eb62bf9..1def822 100644
@@ -22,6 +22,10 @@
 #include <asm/thread_info.h>
 #include <asm/system.h>
 
+#ifdef CONFIG_DEBUG_LL
+#include <mach/debug-macro.S>
+#endif
+
 #if (PHYS_OFFSET & 0x001fffff)
 #error "PHYS_OFFSET must be at an even 2MiB boundary!"
 #endif
@@ -289,24 +293,35 @@ __create_page_tables:
 	str	r6, [r0]
 
 #ifdef CONFIG_DEBUG_LL
-	ldr	r7, [r10, #PROCINFO_IO_MMUFLAGS] @ io_mmuflags
+#ifndef CONFIG_DEBUG_ICEDCC
 	/*
 	 * Map in IO space for serial debugging.
 	 * This allows debug messages to be output
 	 * via a serial console before paging_init.
 	 */
-	ldr	r3, [r8, #MACHINFO_PGOFFIO]
+	addruart r7, r3
+
+	mov	r3, r3, lsr #20
+	mov	r3, r3, lsl #2
+
 	add	r0, r4, r3
 	rsb	r3, r3, #0x4000			@ PTRS_PER_PGD*sizeof(long)
 	cmp	r3, #0x0800			@ limit to 512MB
 	movhi	r3, #0x0800
 	add	r6, r0, r3
-	ldr	r3, [r8, #MACHINFO_PHYSIO]
-	orr	r3, r3, r7
+	mov	r3, r7, lsr #20
+	ldr	r7, [r10, #PROCINFO_IO_MMUFLAGS] @ io_mmuflags
+	orr	r3, r7, r3, lsl #20
 1:	str	r3, [r0], #4
 	add	r3, r3, #1 << 20
 	teq	r0, r6
 	bne	1b
+
+#else /* CONFIG_DEBUG_ICEDCC */
+	/* we don't need any serial debugging mappings for ICEDCC */
+	ldr	r7, [r10, #PROCINFO_IO_MMUFLAGS] @ io_mmuflags
+#endif /* !CONFIG_DEBUG_ICEDCC */
+
 #if defined(CONFIG_ARCH_NETWINDER) || defined(CONFIG_ARCH_CATS)
 	/*
 	 * If we're using the NetWinder or CATS, we also need to map
#6 lore raw

cover Allow late mdesc detection, v4

In reply to Jeremy Kerr
Quoted 20 lines · Jeremy Kerr

Currently, we probe for a mdesc early in boot. At this early stage, the only thing we use the mdesc for is to determine the debug page mapping.

However, the debug addresses (phys and virt) need to be coded into the addruart macro anyway; the dynamic probing is only going to tell us what we already know.

These changes allow us to use the addruart macros to find the debug mapping addresses, rather than pulling them out of the mdesc. This means that the addresses are only kept in the one place, and that we don't need the mdesc nearly as early.

The first change updates all of the addruart macros to return both physical and virtual addresses. I've used 'rp' and 'rv' as the macro arguments to indicate which address goes where

The second change updates the debug setup routine to use the addruart macro to establish the debug mapping, now that we can invoke the macro to find the phyical and virtual addresses.

Quoted 8 lines

This allows us to delay the requirement to have a mdesc available until much later. For example, we can parse one from the device tree once we've reached C code.

As they have more complex and/or new debug macros, the following platforms could do with extra testing:
* omap (mach-omap1 and mach-omap2)
* davinci

Tested on a couple flavors of DaVinci SoCs, so for davinci

Quoted 33 lines

* tegra

Cheers,

Jeremy

v4:
* updates for 2.6.36
* add changes for tegra
* update davinci
* include fixes for omap[12]
* drop mdesc changes

v3:
* only establish page mapping if !DEBUG_ICEDCC

v2:
* return both phys and virt addresses from addruart
* mask unneeded bits from uart physical address in mapping setup
* remove io_pg_offst and phys_io, in a separate patch

---
Jeremy Kerr (3):
arm/debug: consolidate addruart macros for CONFIG_DEBUG_ICEDCC
arm: return both physical and virtual addresses from addruart
arm: use addruart macro to establish debug mappings

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel at lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

#7 lore raw

cover Allow late mdesc detection, v4

Hi Kevin,

Quoted 7 lines
Quoted 4 lines

As they have more complex and/or new debug macros, the following platforms could do with extra testing:
* omap (mach-omap1 and mach-omap2)
* davinci

Tested on a couple flavors of DaVinci SoCs, so for davinci

Awesome, thank you for the testing.

Quoted 2 lines

OK if I change this to Tested-by: ?

Cheers,

Jeremy

#8 lore raw

cover Allow late mdesc detection, v4

Quoted 10 lines · Jeremy Kerr

Hi Kevin,

Quoted 7 lines
Quoted 4 lines

As they have more complex and/or new debug macros, the following platforms could do with extra testing:
* omap (mach-omap1 and mach-omap2)
* davinci

Tested on a couple flavors of DaVinci SoCs, so for davinci

Quoted 6 lines

Awesome, thank you for the testing.

Quoted 2 lines

OK if I change this to Tested-by: ?

Sure, np

Kevin

#9 lore raw

cover Allow late mdesc detection, v4

In reply to Jeremy Kerr
Quoted 11 lines · Jeremy Kerr

Currently, we probe for a mdesc early in boot. At this early stage, the only thing we use the mdesc for is to determine the debug page mapping.

However, the debug addresses (phys and virt) need to be coded into the addruart macro anyway; the dynamic probing is only going to tell us what we already know.

These changes allow us to use the addruart macros to find the debug mapping addresses, rather than pulling them out of the mdesc. This means that the addresses are only kept in the one place, and that we don't need the mdesc nearly as early.

I fear that to merge them into my tree now will invite merge conflicts and/or code breakage when something gets merged without regard to these changes. As I said last time around, the point to merge these (as newly updated patches) is once we freeze new platform support just before the next merge window.

So I'm not merging them until the potential last week prior to the merge window opening - please keep an eye on Linus' -rc announcements and send updated patches (against my -devel tree - this is one case where we're going to have to do it this way) to the patch system at when Linus indicates that he's released the final -rc.

Thanks.

#10 lore raw

cover Allow late mdesc detection, v4

Quoted 19 lines · Russell King - ARM Linux
Quoted 11 lines · Jeremy Kerr

Currently, we probe for a mdesc early in boot. At this early stage, the only thing we use the mdesc for is to determine the debug page mapping.

However, the debug addresses (phys and virt) need to be coded into the addruart macro anyway; the dynamic probing is only going to tell us what we already know.

These changes allow us to use the addruart macros to find the debug mapping addresses, rather than pulling them out of the mdesc. This means that the addresses are only kept in the one place, and that we don't need the mdesc nearly as early.

I fear that to merge them into my tree now will invite merge conflicts and/or code breakage when something gets merged without regard to these changes. As I said last time around, the point to merge these (as newly updated patches) is once we freeze new platform support just before the next merge window.

Quoted 5 lines

So I'm not merging them until the potential last week prior to the merge window opening - please keep an eye on Linus' -rc announcements and send updated patches (against my -devel tree - this is one case where we're going to have to do it this way) to the patch system at when Linus indicates that he's released the final -rc.

I think that time has come, or is very close. And since Jeremy is away on vacation he asked me to handle the submission for those patches on his behalf.

So... could you pull the following:

git://git.linaro.org/people/nico/linux debug_cleanup

It is currently based on your devel branch at commit f7de6b55ea4. If you'd prefer another base just tell me.

Jeremy Kerr (3):
arm/debug: consolidate addruart macros for CONFIG_DEBUG_ICEDCC
arm: return both physical and virtual addresses from addruart
arm: use addruart macro to establish debug mappings

Nicolas Pitre (2):
ARM: make struct machine_desc definition coherent with its comment
arm: remove machine_desc.io_pg_offst and .phys_io

 arch/arm/include/asm/mach/arch.h                   |    9 +-
 arch/arm/kernel/asm-offsets.c                      |    2 -
 arch/arm/kernel/debug.S                            |   35 +++--
 arch/arm/kernel/head.S                             |   23 ++-
 arch/arm/mach-aaec2000/aaed2000.c                  |    2 -
 arch/arm/mach-aaec2000/include/mach/debug-macro.S  |   10 +-
 arch/arm/mach-at91/board-1arm.c                    |    2 -
 arch/arm/mach-at91/board-afeb-9260v1.c             |    2 -
 arch/arm/mach-at91/board-at572d940hf_ek.c          |    2 -
 arch/arm/mach-at91/board-cam60.c                   |    2 -
 arch/arm/mach-at91/board-cap9adk.c                 |    2 -
 arch/arm/mach-at91/board-carmeva.c                 |    2 -
 arch/arm/mach-at91/board-cpu9krea.c                |    2 -
 arch/arm/mach-at91/board-cpuat91.c                 |    2 -
 arch/arm/mach-at91/board-csb337.c                  |    2 -
 arch/arm/mach-at91/board-csb637.c                  |    2 -
 arch/arm/mach-at91/board-dk.c                      |    2 -
 arch/arm/mach-at91/board-eb9200.c                  |    2 -
 arch/arm/mach-at91/board-ecbat91.c                 |    2 -
 arch/arm/mach-at91/board-eco920.c                  |    2 -
 arch/arm/mach-at91/board-ek.c                      |    2 -
 arch/arm/mach-at91/board-flexibity.c               |    2 -
 arch/arm/mach-at91/board-kafa.c                    |    2 -
 arch/arm/mach-at91/board-kb9202.c                  |    2 -
 arch/arm/mach-at91/board-neocore926.c              |    2 -
 arch/arm/mach-at91/board-picotux200.c              |    2 -
 arch/arm/mach-at91/board-qil-a9260.c               |    2 -
 arch/arm/mach-at91/board-sam9-l9260.c              |    2 -
 arch/arm/mach-at91/board-sam9260ek.c               |    2 -
 arch/arm/mach-at91/board-sam9261ek.c               |    2 -
 arch/arm/mach-at91/board-sam9263ek.c               |    2 -
 arch/arm/mach-at91/board-sam9g20ek.c               |    4 -
 arch/arm/mach-at91/board-sam9m10g45ek.c            |    2 -
 arch/arm/mach-at91/board-sam9rlek.c                |    2 -
 arch/arm/mach-at91/board-snapper9260.c             |    2 -
 arch/arm/mach-at91/board-stamp9g20.c               |    4 -
 arch/arm/mach-at91/board-usb-a9260.c               |    2 -
 arch/arm/mach-at91/board-usb-a9263.c               |    2 -
 arch/arm/mach-at91/board-yl-9200.c                 |    2 -
 arch/arm/mach-at91/include/mach/debug-macro.S      |    8 +-
 arch/arm/mach-bcmring/arch.c                       |    2 -
 arch/arm/mach-clps711x/autcpu12.c                  |    2 -
 arch/arm/mach-clps711x/cdb89712.c                  |    2 -
 arch/arm/mach-clps711x/ceiva.c                     |    2 -
 arch/arm/mach-clps711x/clep7312.c                  |    2 -
 arch/arm/mach-clps711x/edb7211-arch.c              |    2 -
 arch/arm/mach-clps711x/fortunet.c                  |    2 -
 arch/arm/mach-clps711x/include/mach/debug-macro.S  |   12 +-
 arch/arm/mach-clps711x/p720t.c                     |    2 -
 arch/arm/mach-cns3xxx/cns3420vb.c                  |    2 -
 arch/arm/mach-cns3xxx/include/mach/debug-macro.S   |   10 +-
 arch/arm/mach-davinci/board-da830-evm.c            |    2 -
 arch/arm/mach-davinci/board-da850-evm.c            |    2 -
 arch/arm/mach-davinci/board-dm355-evm.c            |    2 -
 arch/arm/mach-davinci/board-dm355-leopard.c        |    2 -
 arch/arm/mach-davinci/board-dm365-evm.c            |    2 -
 arch/arm/mach-davinci/board-dm644x-evm.c           |    2 -
 arch/arm/mach-davinci/board-dm646x-evm.c           |    4 -
 arch/arm/mach-davinci/board-neuros-osd2.c          |    2 -
 arch/arm/mach-davinci/board-sffsdr.c               |    2 -
 arch/arm/mach-davinci/board-tnetv107x-evm.c        |    2 -
 arch/arm/mach-davinci/include/mach/debug-macro.S   |   46 +++---
 arch/arm/mach-dove/dove-db-setup.c                 |    2 -
 arch/arm/mach-dove/include/mach/debug-macro.S      |   11 +-
 arch/arm/mach-ebsa110/core.c                       |    2 -
 arch/arm/mach-ebsa110/include/mach/debug-macro.S   |    7 +-
 arch/arm/mach-ep93xx/adssphere.c                   |    2 -
 arch/arm/mach-ep93xx/edb93xx.c                     |   16 --
 arch/arm/mach-ep93xx/gesbc9312.c                   |    2 -
 arch/arm/mach-ep93xx/include/mach/debug-macro.S    |   11 +-
 arch/arm/mach-ep93xx/micro9.c                      |    8 -
 arch/arm/mach-ep93xx/simone.c                      |    2 -
 arch/arm/mach-ep93xx/snappercl15.c                 |    2 -
 arch/arm/mach-ep93xx/ts72xx.c                      |    2 -
 arch/arm/mach-footbridge/cats-hw.c                 |    2 -
 arch/arm/mach-footbridge/ebsa285.c                 |    2 -
 .../arm/mach-footbridge/include/mach/debug-macro.S |   22 +--
 arch/arm/mach-footbridge/netwinder-hw.c            |    2 -
 arch/arm/mach-footbridge/personal.c                |    2 -
 arch/arm/mach-gemini/board-nas4220b.c              |    2 -
 arch/arm/mach-gemini/board-rut1xx.c                |    2 -
 arch/arm/mach-gemini/board-wbd111.c                |    2 -
 arch/arm/mach-gemini/board-wbd222.c                |    2 -
 arch/arm/mach-gemini/include/mach/debug-macro.S    |    8 +-
 arch/arm/mach-h720x/h7201-eval.c                   |    2 -
 arch/arm/mach-h720x/h7202-eval.c                   |    2 -
 arch/arm/mach-h720x/include/mach/debug-macro.S     |   10 +-
 arch/arm/mach-imx/mach-cpuimx27.c                  |    2 -
 arch/arm/mach-imx/mach-imx27_visstrim_m10.c        |    2 -
 arch/arm/mach-imx/mach-imx27lite.c                 |    2 -
 arch/arm/mach-imx/mach-mx1ads.c                    |    4 -
 arch/arm/mach-imx/mach-mx21ads.c                   |    2 -
 arch/arm/mach-imx/mach-mx27_3ds.c                  |    2 -
 arch/arm/mach-imx/mach-mx27ads.c                   |    2 -
 arch/arm/mach-imx/mach-mxt_td60.c                  |    2 -
 arch/arm/mach-imx/mach-pca100.c                    |    2 -
 arch/arm/mach-imx/mach-pcm038.c                    |    2 -
 arch/arm/mach-imx/mach-scb9328.c                   |    2 -
 .../arm/mach-integrator/include/mach/debug-macro.S |   10 +-
 arch/arm/mach-integrator/integrator_ap.c           |    2 -
 arch/arm/mach-integrator/integrator_cp.c           |    2 -
 arch/arm/mach-iop13xx/include/mach/debug-macro.S   |   16 +-
 arch/arm/mach-iop13xx/iq81340mc.c                  |    2 -
 arch/arm/mach-iop13xx/iq81340sc.c                  |    2 -
 arch/arm/mach-iop32x/em7210.c                      |    2 -
 arch/arm/mach-iop32x/glantank.c                    |    2 -
 arch/arm/mach-iop32x/include/mach/debug-macro.S    |    7 +-
 arch/arm/mach-iop32x/iq31244.c                     |    4 -
 arch/arm/mach-iop32x/iq80321.c                     |    2 -
 arch/arm/mach-iop32x/n2100.c                       |    2 -
 arch/arm/mach-iop33x/include/mach/debug-macro.S    |   12 +-
 arch/arm/mach-iop33x/iq80331.c                     |    2 -
 arch/arm/mach-iop33x/iq80332.c                     |    2 -
 arch/arm/mach-ixp2000/enp2611.c                    |    2 -
 arch/arm/mach-ixp2000/include/mach/debug-macro.S   |   14 +-
 arch/arm/mach-ixp2000/ixdp2400.c                   |    2 -
 arch/arm/mach-ixp2000/ixdp2800.c                   |    2 -
 arch/arm/mach-ixp2000/ixdp2x01.c                   |    6 -
 arch/arm/mach-ixp23xx/espresso.c                   |    2 -
 arch/arm/mach-ixp23xx/include/mach/debug-macro.S   |   11 +-
 arch/arm/mach-ixp23xx/ixdp2351.c                   |    2 -
 arch/arm/mach-ixp23xx/roadrunner.c                 |    2 -
 arch/arm/mach-ixp4xx/avila-setup.c                 |    4 -
 arch/arm/mach-ixp4xx/coyote-setup.c                |    4 -
 arch/arm/mach-ixp4xx/dsmg600-setup.c               |    2 -
 arch/arm/mach-ixp4xx/fsg-setup.c                   |    2 -
 arch/arm/mach-ixp4xx/gateway7001-setup.c           |    2 -
 arch/arm/mach-ixp4xx/goramo_mlr.c                  |    2 -
 arch/arm/mach-ixp4xx/gtwx5715-setup.c              |    2 -
 arch/arm/mach-ixp4xx/include/mach/debug-macro.S    |   16 +-
 arch/arm/mach-ixp4xx/ixdp425-setup.c               |    8 -
 arch/arm/mach-ixp4xx/nas100d-setup.c               |    2 -
 arch/arm/mach-ixp4xx/nslu2-setup.c                 |    2 -
 arch/arm/mach-ixp4xx/vulcan-setup.c                |    2 -
 arch/arm/mach-ixp4xx/wg302v2-setup.c               |    2 -
 arch/arm/mach-kirkwood/d2net_v2-setup.c            |    2 -
 arch/arm/mach-kirkwood/db88f6281-bp-setup.c        |    2 -
 arch/arm/mach-kirkwood/dockstar-setup.c            |    2 -
 arch/arm/mach-kirkwood/guruplug-setup.c            |    2 -
 arch/arm/mach-kirkwood/include/mach/debug-macro.S  |   11 +-
 arch/arm/mach-kirkwood/mv88f6281gtw_ge-setup.c     |    2 -
 arch/arm/mach-kirkwood/netspace_v2-setup.c         |    6 -
 arch/arm/mach-kirkwood/netxbig_v2-setup.c          |    4 -
 arch/arm/mach-kirkwood/openrd-setup.c              |    6 -
 arch/arm/mach-kirkwood/rd88f6192-nas-setup.c       |    2 -
 arch/arm/mach-kirkwood/rd88f6281-setup.c           |    2 -
 arch/arm/mach-kirkwood/sheevaplug-setup.c          |    4 -
 arch/arm/mach-kirkwood/t5325-setup.c               |    2 -
 arch/arm/mach-kirkwood/ts219-setup.c               |    2 -
 arch/arm/mach-kirkwood/ts41x-setup.c               |    2 -
 arch/arm/mach-ks8695/board-acs5k.c                 |    2 -
 arch/arm/mach-ks8695/board-dsm320.c                |    2 -
 arch/arm/mach-ks8695/board-micrel.c                |    2 -
 arch/arm/mach-ks8695/include/mach/debug-macro.S    |    8 +-
 arch/arm/mach-l7200/include/mach/debug-macro.S     |   38 ++++
 arch/arm/mach-lh7a40x/arch-kev7a400.c              |    2 -
 arch/arm/mach-lh7a40x/arch-lpd7a40x.c              |    4 -
 arch/arm/mach-lh7a40x/include/mach/debug-macro.S   |   10 +-
 arch/arm/mach-loki/include/mach/debug-macro.S      |   11 +-
 arch/arm/mach-loki/lb88rc8480-setup.c              |    2 -
 arch/arm/mach-lpc32xx/include/mach/debug-macro.S   |    8 +-
 arch/arm/mach-lpc32xx/phy3250.c                    |    2 -
 arch/arm/mach-mmp/aspenite.c                       |    4 -
 arch/arm/mach-mmp/avengers_lite.c                  |    2 -
 arch/arm/mach-mmp/flint.c                          |    2 -
 arch/arm/mach-mmp/include/mach/debug-macro.S       |   11 +-
 arch/arm/mach-mmp/jasper.c                         |    2 -
 arch/arm/mach-mmp/tavorevb.c                       |    2 -
 arch/arm/mach-mmp/ttc_dkb.c                        |    2 -
 arch/arm/mach-msm/board-halibut.c                  |    2 -
 arch/arm/mach-msm/board-mahimahi.c                 |    2 -
 arch/arm/mach-msm/board-msm7x27.c                  |    8 -
 arch/arm/mach-msm/board-msm7x30.c                  |    6 -
 arch/arm/mach-msm/board-qsd8x50.c                  |    4 -
 arch/arm/mach-msm/board-sapphire.c                 |    2 -
 arch/arm/mach-msm/board-trout.c                    |    2 -
 arch/arm/mach-msm/include/mach/debug-macro.S       |   10 +-
 arch/arm/mach-mv78xx0/buffalo-wxl-setup.c          |    2 -
 arch/arm/mach-mv78xx0/db78x00-bp-setup.c           |    2 -
 arch/arm/mach-mv78xx0/include/mach/debug-macro.S   |   11 +-
 arch/arm/mach-mv78xx0/rd78x00-masa-setup.c         |    2 -
 arch/arm/mach-mx25/mach-cpuimx25.c                 |    2 -
 arch/arm/mach-mx25/mach-mx25_3ds.c                 |    2 -
 arch/arm/mach-mx3/mach-armadillo5x0.c              |    2 -
 arch/arm/mach-mx3/mach-cpuimx35.c                  |    2 -
 arch/arm/mach-mx3/mach-kzm_arm11_01.c              |    2 -
 arch/arm/mach-mx3/mach-mx31_3ds.c                  |    2 -
 arch/arm/mach-mx3/mach-mx31ads.c                   |    2 -
 arch/arm/mach-mx3/mach-mx31lilly.c                 |    2 -
 arch/arm/mach-mx3/mach-mx31lite.c                  |    2 -
 arch/arm/mach-mx3/mach-mx31moboard.c               |    2 -
 arch/arm/mach-mx3/mach-mx35_3ds.c                  |    2 -
 arch/arm/mach-mx3/mach-pcm037.c                    |    2 -
 arch/arm/mach-mx3/mach-pcm043.c                    |    2 -
 arch/arm/mach-mx3/mach-qong.c                      |    2 -
 arch/arm/mach-mx5/board-cpuimx51.c                 |    2 -
 arch/arm/mach-mx5/board-mx51_3ds.c                 |    2 -
 arch/arm/mach-mx5/board-mx51_babbage.c             |    2 -
 arch/arm/mach-mx5/board-mx51_efikamx.c             |    2 -
 arch/arm/mach-mxc91231/magx-zn5.c                  |    2 -
 arch/arm/mach-netx/include/mach/debug-macro.S      |   10 +-
 arch/arm/mach-netx/nxdb500.c                       |    2 -
 arch/arm/mach-netx/nxdkn.c                         |    2 -
 arch/arm/mach-netx/nxeb500hmi.c                    |    2 -
 arch/arm/mach-nomadik/board-nhk8815.c              |    2 -
 arch/arm/mach-nomadik/include/mach/debug-macro.S   |   12 +-
 arch/arm/mach-ns9xxx/include/mach/debug-macro.S    |    8 +-
 arch/arm/mach-nuc93x/mach-nuc932evb.c              |    2 -
 arch/arm/mach-omap1/board-ams-delta.c              |    2 -
 arch/arm/mach-omap1/board-fsample.c                |    2 -
 arch/arm/mach-omap1/board-generic.c                |    2 -
 arch/arm/mach-omap1/board-h2.c                     |    2 -
 arch/arm/mach-omap1/board-h3.c                     |    2 -
 arch/arm/mach-omap1/board-htcherald.c              |    2 -
 arch/arm/mach-omap1/board-innovator.c              |    2 -
 arch/arm/mach-omap1/board-nokia770.c               |    2 -
 arch/arm/mach-omap1/board-osk.c                    |    2 -
 arch/arm/mach-omap1/board-palmte.c                 |    2 -
 arch/arm/mach-omap1/board-palmtt.c                 |    2 -
 arch/arm/mach-omap1/board-palmz71.c                |    2 -
 arch/arm/mach-omap1/board-perseus2.c               |    2 -
 arch/arm/mach-omap1/board-sx1.c                    |    2 -
 arch/arm/mach-omap1/board-voiceblue.c              |    2 -
 arch/arm/mach-omap1/include/mach/debug-macro.S     |   68 ++++----
 arch/arm/mach-omap2/board-2430sdp.c                |    2 -
 arch/arm/mach-omap2/board-3430sdp.c                |    2 -
 arch/arm/mach-omap2/board-3630sdp.c                |    2 -
 arch/arm/mach-omap2/board-4430sdp.c                |    2 -
 arch/arm/mach-omap2/board-am3517evm.c              |    2 -
 arch/arm/mach-omap2/board-apollon.c                |    2 -
 arch/arm/mach-omap2/board-cm-t35.c                 |    2 -
 arch/arm/mach-omap2/board-devkit8000.c             |    2 -
 arch/arm/mach-omap2/board-generic.c                |    2 -
 arch/arm/mach-omap2/board-h4.c                     |    2 -
 arch/arm/mach-omap2/board-igep0020.c               |    2 -
 arch/arm/mach-omap2/board-ldp.c                    |    2 -
 arch/arm/mach-omap2/board-n8x0.c                   |    6 -
 arch/arm/mach-omap2/board-omap3beagle.c            |    2 -
 arch/arm/mach-omap2/board-omap3evm.c               |    2 -
 arch/arm/mach-omap2/board-omap3pandora.c           |    2 -
 arch/arm/mach-omap2/board-omap3stalker.c           |    2 -
 arch/arm/mach-omap2/board-omap3touchbook.c         |    2 -
 arch/arm/mach-omap2/board-omap4panda.c             |    2 -
 arch/arm/mach-omap2/board-overo.c                  |    2 -
 arch/arm/mach-omap2/board-rx51.c                   |    2 -
 arch/arm/mach-omap2/board-zoom2.c                  |    2 -
 arch/arm/mach-omap2/board-zoom3.c                  |    2 -
 arch/arm/mach-omap2/include/mach/debug-macro.S     |  127 +++++++-------
 arch/arm/mach-orion5x/d2net-setup.c                |    4 -
 arch/arm/mach-orion5x/db88f5281-setup.c            |    2 -
 arch/arm/mach-orion5x/dns323-setup.c               |    2 -
 arch/arm/mach-orion5x/edmini_v2-setup.c            |    2 -
 arch/arm/mach-orion5x/include/mach/debug-macro.S   |   11 +-
 arch/arm/mach-orion5x/kurobox_pro-setup.c          |    4 -
 arch/arm/mach-orion5x/ls_hgl-setup.c               |    2 -
 arch/arm/mach-orion5x/lsmini-setup.c               |    2 -
 arch/arm/mach-orion5x/mss2-setup.c                 |    2 -
 arch/arm/mach-orion5x/mv2120-setup.c               |    2 -
 arch/arm/mach-orion5x/net2big-setup.c              |    2 -
 arch/arm/mach-orion5x/rd88f5181l-fxo-setup.c       |    2 -
 arch/arm/mach-orion5x/rd88f5181l-ge-setup.c        |    2 -
 arch/arm/mach-orion5x/rd88f5182-setup.c            |    2 -
 arch/arm/mach-orion5x/rd88f6183ap-ge-setup.c       |    2 -
 arch/arm/mach-orion5x/terastation_pro2-setup.c     |    2 -
 arch/arm/mach-orion5x/ts209-setup.c                |    2 -
 arch/arm/mach-orion5x/ts409-setup.c                |    2 -
 arch/arm/mach-orion5x/ts78xx-setup.c               |    2 -
 arch/arm/mach-orion5x/wnr854t-setup.c              |    2 -
 arch/arm/mach-orion5x/wrt350n-v2-setup.c           |    2 -
 arch/arm/mach-pnx4008/core.c                       |    2 -
 arch/arm/mach-pnx4008/include/mach/debug-macro.S   |   10 +-
 arch/arm/mach-pxa/balloon3.c                       |    2 -
 arch/arm/mach-pxa/capc7117.c                       |    2 -
 arch/arm/mach-pxa/cm-x2xx.c                        |    2 -
 arch/arm/mach-pxa/cm-x300.c                        |    2 -
 arch/arm/mach-pxa/colibri-pxa270.c                 |    4 -
 arch/arm/mach-pxa/colibri-pxa300.c                 |    2 -
 arch/arm/mach-pxa/colibri-pxa320.c                 |    2 -
 arch/arm/mach-pxa/corgi.c                          |    6 -
 arch/arm/mach-pxa/csb726.c                         |    2 -
 arch/arm/mach-pxa/em-x270.c                        |    4 -
 arch/arm/mach-pxa/eseries.c                        |   12 --
 arch/arm/mach-pxa/ezx.c                            |   12 --
 arch/arm/mach-pxa/gumstix.c                        |    2 -
 arch/arm/mach-pxa/h5000.c                          |    2 -
 arch/arm/mach-pxa/himalaya.c                       |    2 -
 arch/arm/mach-pxa/hx4700.c                         |    2 -
 arch/arm/mach-pxa/icontrol.c                       |    2 -
 arch/arm/mach-pxa/idp.c                            |    2 -
 arch/arm/mach-pxa/include/mach/debug-macro.S       |   10 +-
 arch/arm/mach-pxa/littleton.c                      |    2 -
 arch/arm/mach-pxa/lpd270.c                         |    2 -
 arch/arm/mach-pxa/lubbock.c                        |    2 -
 arch/arm/mach-pxa/magician.c                       |    2 -
 arch/arm/mach-pxa/mainstone.c                      |    2 -
 arch/arm/mach-pxa/mioa701.c                        |    2 -
 arch/arm/mach-pxa/mp900.c                          |    2 -
 arch/arm/mach-pxa/palmld.c                         |    2 -
 arch/arm/mach-pxa/palmt5.c                         |    2 -
 arch/arm/mach-pxa/palmtc.c                         |    2 -
 arch/arm/mach-pxa/palmte2.c                        |    2 -
 arch/arm/mach-pxa/palmtreo.c                       |    4 -
 arch/arm/mach-pxa/palmtx.c                         |    2 -
 arch/arm/mach-pxa/palmz72.c                        |    2 -
 arch/arm/mach-pxa/pcm027.c                         |    2 -
 arch/arm/mach-pxa/poodle.c                         |    2 -
 arch/arm/mach-pxa/raumfeld.c                       |    6 -
 arch/arm/mach-pxa/saar.c                           |    2 -
 arch/arm/mach-pxa/spitz.c                          |    6 -
 arch/arm/mach-pxa/stargate2.c                      |    4 -
 arch/arm/mach-pxa/tavorevb.c                       |    2 -
 arch/arm/mach-pxa/tosa.c                           |    2 -
 arch/arm/mach-pxa/trizeps4.c                       |    4 -
 arch/arm/mach-pxa/viper.c                          |    2 -
 arch/arm/mach-pxa/vpac270.c                        |    2 -
 arch/arm/mach-pxa/xcep.c                           |    2 -
 arch/arm/mach-pxa/z2.c                             |    2 -
 arch/arm/mach-pxa/zeus.c                           |    2 -
 arch/arm/mach-pxa/zylonite.c                       |    2 -
 arch/arm/mach-realview/include/mach/debug-macro.S  |   10 +-
 arch/arm/mach-realview/realview_eb.c               |    2 -
 arch/arm/mach-realview/realview_pb1176.c           |    2 -
 arch/arm/mach-realview/realview_pb11mp.c           |    2 -
 arch/arm/mach-realview/realview_pba8.c             |    2 -
 arch/arm/mach-realview/realview_pbx.c              |    2 -
 arch/arm/mach-rpc/include/mach/debug-macro.S       |   12 +-
 arch/arm/mach-rpc/riscpc.c                         |    2 -
 arch/arm/mach-s3c2410/include/mach/debug-macro.S   |   11 +-
 arch/arm/mach-s3c2410/mach-amlm5900.c              |    2 -
 arch/arm/mach-s3c2410/mach-bast.c                  |    2 -
 arch/arm/mach-s3c2410/mach-h1940.c                 |    2 -
 arch/arm/mach-s3c2410/mach-n30.c                   |    4 -
 arch/arm/mach-s3c2410/mach-otom.c                  |    2 -
 arch/arm/mach-s3c2410/mach-qt2410.c                |    2 -
 arch/arm/mach-s3c2410/mach-smdk2410.c              |    2 -
 arch/arm/mach-s3c2410/mach-tct_hammer.c            |    2 -
 arch/arm/mach-s3c2410/mach-vr1000.c                |    2 -
 arch/arm/mach-s3c2412/mach-jive.c                  |    2 -
 arch/arm/mach-s3c2412/mach-smdk2413.c              |    6 -
 arch/arm/mach-s3c2412/mach-vstms.c                 |    2 -
 arch/arm/mach-s3c2416/mach-smdk2416.c              |    2 -
 arch/arm/mach-s3c2440/mach-anubis.c                |    2 -
 arch/arm/mach-s3c2440/mach-at2440evb.c             |    2 -
 arch/arm/mach-s3c2440/mach-gta02.c                 |    2 -
 arch/arm/mach-s3c2440/mach-mini2440.c              |    2 -
 arch/arm/mach-s3c2440/mach-nexcoder.c              |    2 -
 arch/arm/mach-s3c2440/mach-osiris.c                |    2 -
 arch/arm/mach-s3c2440/mach-rx1950.c                |    2 -
 arch/arm/mach-s3c2440/mach-rx3715.c                |    2 -
 arch/arm/mach-s3c2440/mach-smdk2440.c              |    2 -
 arch/arm/mach-s3c2443/mach-smdk2443.c              |    2 -
 arch/arm/mach-s3c24a0/include/mach/debug-macro.S   |   11 +-
 arch/arm/mach-s3c64xx/include/mach/debug-macro.S   |   11 +-
 arch/arm/mach-s3c64xx/mach-anw6410.c               |    2 -
 arch/arm/mach-s3c64xx/mach-hmt.c                   |    2 -
 arch/arm/mach-s3c64xx/mach-ncp.c                   |    2 -
 arch/arm/mach-s3c64xx/mach-real6410.c              |    2 -
 arch/arm/mach-s3c64xx/mach-smartq5.c               |    2 -
 arch/arm/mach-s3c64xx/mach-smartq7.c               |    2 -
 arch/arm/mach-s3c64xx/mach-smdk6400.c              |    2 -
 arch/arm/mach-s3c64xx/mach-smdk6410.c              |    2 -
 arch/arm/mach-s5p6440/include/mach/debug-macro.S   |   11 +-
 arch/arm/mach-s5p6440/mach-smdk6440.c              |    2 -
 arch/arm/mach-s5p6442/include/mach/debug-macro.S   |   11 +-
 arch/arm/mach-s5p6442/mach-smdk6442.c              |    2 -
 arch/arm/mach-s5pc100/include/mach/debug-macro.S   |   11 +-
 arch/arm/mach-s5pc100/mach-smdkc100.c              |    2 -
 arch/arm/mach-s5pv210/include/mach/debug-macro.S   |   11 +-
 arch/arm/mach-s5pv210/mach-aquila.c                |    2 -
 arch/arm/mach-s5pv210/mach-goni.c                  |    2 -
 arch/arm/mach-s5pv210/mach-smdkc110.c              |    2 -
 arch/arm/mach-s5pv210/mach-smdkv210.c              |    2 -
 arch/arm/mach-s5pv310/include/mach/debug-macro.S   |   11 +-
 arch/arm/mach-s5pv310/mach-smdkv310.c              |    2 -
 arch/arm/mach-s5pv310/mach-universal_c210.c        |    2 -
 arch/arm/mach-sa1100/assabet.c                     |    2 -
 arch/arm/mach-sa1100/badge4.c                      |    2 -
 arch/arm/mach-sa1100/cerf.c                        |    2 -
 arch/arm/mach-sa1100/collie.c                      |    2 -
 arch/arm/mach-sa1100/h3100.c                       |    2 -
 arch/arm/mach-sa1100/h3600.c                       |    2 -
 arch/arm/mach-sa1100/hackkit.c                     |    2 -
 arch/arm/mach-sa1100/include/mach/debug-macro.S    |   36 ++--
 arch/arm/mach-sa1100/jornada720.c                  |    2 -
 arch/arm/mach-sa1100/lart.c                        |    2 -
 arch/arm/mach-sa1100/pleb.c                        |    2 -
 arch/arm/mach-sa1100/shannon.c                     |    2 -
 arch/arm/mach-sa1100/simpad.c                      |    2 -
 arch/arm/mach-shark/core.c                         |    2 -
 arch/arm/mach-shark/include/mach/debug-macro.S     |    7 +-
 arch/arm/mach-shmobile/board-ap4evb.c              |    2 -
 arch/arm/mach-shmobile/board-g3evm.c               |    2 -
 arch/arm/mach-shmobile/board-g4evm.c               |    2 -
 arch/arm/mach-stmp378x/stmp378x_devb.c             |    2 -
 arch/arm/mach-stmp37xx/stmp37xx_devb.c             |    2 -
 arch/arm/mach-tcc8k/board-tcc8000-sdk.c            |    2 -
 arch/arm/mach-tegra/board-harmony.c                |    2 -
 arch/arm/mach-tegra/include/mach/debug-macro.S     |   26 ++--
 arch/arm/mach-u300/include/mach/debug-macro.S      |   11 +-
 arch/arm/mach-u300/u300.c                          |    2 -
 arch/arm/mach-ux500/board-mop500.c                 |    2 -
 arch/arm/mach-ux500/board-u5500.c                  |    2 -
 arch/arm/mach-ux500/include/mach/debug-macro.S     |    8 +-
 arch/arm/mach-versatile/include/mach/debug-macro.S |   12 +-
 arch/arm/mach-versatile/versatile_ab.c             |    2 -
 arch/arm/mach-versatile/versatile_pb.c             |    2 -
 arch/arm/mach-vexpress/ct-ca9x4.c                  |    2 -
 arch/arm/mach-vexpress/include/mach/debug-macro.S  |   10 +-
 arch/arm/mach-w90x900/mach-nuc910evb.c             |    2 -
 arch/arm/mach-w90x900/mach-nuc950evb.c             |    2 -
 arch/arm/mach-w90x900/mach-nuc960evb.c             |    2 -
 arch/arm/plat-mxc/include/mach/debug-macro.S       |    8 +-
 arch/arm/plat-spear/include/plat/debug-macro.S     |    8 +-
 arch/arm/plat-stmp3xxx/include/mach/debug-macro.S  |   11 +-
 arch/arm/plat-tcc/include/mach/debug-macro.S       |   11 +-
 415 files changed, 469 insertions(+), 1311 deletions(-)
Quoted 8 lines

Thanks.

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel at lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

#11 lore raw

cover Allow late mdesc detection, v4

Quoted 10 lines · Nicolas Pitre

I think that time has come, or is very close. And since Jeremy is away on vacation he asked me to handle the submission for those patches on his behalf.

So... could you pull the following:

git://git.linaro.org/people/nico/linux debug_cleanup

It is currently based on your devel branch at commit f7de6b55ea4. If you'd prefer another base just tell me.

I'm going to drop this - there's still a few trees which are outstanding and this is causing problems... I think we have a few days left.

With Eric's changes merged, there's another io_pg_offst which has popped up in mach-mmp, and there's a few new OMAP boards external to my tree which are broken by this.

#12 lore raw

cover Allow late mdesc detection, v4

Quoted 12 lines · Russell King - ARM Linux
Quoted 10 lines · Nicolas Pitre

I think that time has come, or is very close. And since Jeremy is away on vacation he asked me to handle the submission for those patches on his behalf.

So... could you pull the following:

git://git.linaro.org/people/nico/linux debug_cleanup

It is currently based on your devel branch at commit f7de6b55ea4. If you'd prefer another base just tell me.

Quoted 6 lines

I'm going to drop this - there's still a few trees which are outstanding and this is causing problems... I think we have a few days left.

With Eric's changes merged, there's another io_pg_offst which has popped up in mach-mmp, and there's a few new OMAP boards external to my tree which are broken by this.

No problem. Just tell me when you're done merging those other trees and I'll rebase/adjust this series on top for you to pull again.

Nicolas

maintainer
#13 lore raw

cover Allow late mdesc detection, v4

Quoted 17 lines · Nicolas Pitre
Quoted 15 lines · Russell King - ARM Linux
Quoted 10 lines · Nicolas Pitre

I think that time has come, or is very close. And since Jeremy is away on vacation he asked me to handle the submission for those patches on his behalf.

So... could you pull the following:

git://git.linaro.org/people/nico/linux debug_cleanup

It is currently based on your devel branch at commit f7de6b55ea4. If you'd prefer another base just tell me.

I'm going to drop this - there's still a few trees which are outstanding and this is causing problems... I think we have a few days left.

Quoted 6 lines
Quoted 3 lines

With Eric's changes merged, there's another io_pg_offst which has popped up in mach-mmp, and there's a few new OMAP boards external to my tree which are broken by this.

No problem. Just tell me when you're done merging those other trees and I'll rebase/adjust this series on top for you to pull again.

Hmm, these patches are not a problem at least from omap tree point of view.

We already tested an earlier version of these patches a while back, and I just applied them to our temporary omap-testing branch, and things work as expected.

The only fixup that we need to fix up few omap specific board files. I've added the fixups to the omap for-next, and I can merge with mainline tree to fix these before sending the pull request.

Regards,

Tony