[PATCH] serial: DCC(JTAG) serial and console emulation support
Nicolas Pitre
nico at fluxnic.net
Fri Oct 8 20:57:12 EDT 2010
On Fri, 8 Oct 2010, Tony Lindgren wrote:
> Thanks for the info. Hmm, there seems to a section for XScale
> in arch/arm/kernel/debug.S for elif defined(CONFIG_CPU_XSCALE) for
> CONFIG_DEBUG_ICEDCC:
>
> #elif defined(CONFIG_CPU_XSCALE)
>
> .macro addruart, rx, tmp
> .endm
>
> .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
>
> Is that broken for XScale then?
Probably not broken, but simplistic. In a fully debug enabled setup,
this channel is used to multiplex messages used by the special software
on the target and the external debugger. In this case it is used for
raw string output only.
For example, here's the code for the debugging stubs that gets injected
into the target by OpenOCD:
http://openocd.git.sourceforge.net/git/gitweb.cgi?p=openocd/openocd;a=blob;f=src/target/xscale/debug_handler.S;h=73f3a9d5e44a87
Nicolas
More information about the linux-arm-kernel
mailing list