[PATCH 3/5] omap: Add support for CONFIG_AUTO_ZRELADDR for DEBUG_LL

Nicolas Pitre nico at fluxnic.net
Fri Feb 4 15:33:52 EST 2011


On Fri, 4 Feb 2011, Tony Lindgren wrote:

> * Nicolas Pitre <nico at fluxnic.net> [110204 12:14]:
> > 
> > Just create a get_config_ptr macro or similar and the trickery will be 
> > nicely encapsulated.  You'd have:
> > 
> > 	.macro get_config_ptr ptr, tmp
> > 	b	9002f
> > 	.align
> > 9001:	.long	.
> > 	.long	uart_param_storage
> > 9002:	adr	\ptr, 9001b
> > 	ldr	\tmp, [\ptr]
> > 	sub	\tmp, \tmp, \ptr
> > 	ldr	\ptr, [\ptr, #4]
> > 	sub	\ptr, \ptr, \tmp
> > 	.endm
> > 
> > 	.macro addruart rp, rv
> > 	get_config_ptr \rv
> > 	ldr	\rp, [\rv]
> > 	ldr	\rv, [\rv, #4]
> > 	.endm
> > 
> > And for the other macros, you get the hardware address to use already, 
> > but you can still use get_config_ptr for extra config values you 
> > need if necessary.
> 
> Thanks, will try that out next week. That might run into problems with
> busyuart as it only has rd register to play with.

With some code auditing we could declare ip as being callee clobberable 
with those macros.


Nicolas



More information about the linux-arm-kernel mailing list