summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2011-06-29 16:21:28 -0400
committerMike Frysinger <vapier@gentoo.org>2011-07-12 02:17:46 -0400
commite8e35efc8f2a16cf72ddc475df4ff26d76f03d1e (patch)
treec01ebe9491bdac085826ecb5962f42f5c0a25880
parentfd48d591009a1744c3fb76262af49357d66488ca (diff)
downloadu-boot-imx-e8e35efc8f2a16cf72ddc475df4ff26d76f03d1e.zip
u-boot-imx-e8e35efc8f2a16cf72ddc475df4ff26d76f03d1e.tar.gz
u-boot-imx-e8e35efc8f2a16cf72ddc475df4ff26d76f03d1e.tar.bz2
Blackfin: serial: move early debug strings into .rodata section
Rewrite the assembly serial_early_puts() helper to place the strings in the .rodata section rather than embedding them directly in the .text section. Using .text is a little simpler, but it doesn't let people execute out of internal L1 sram (since core reads don't work on those regions). Signed-off-by: Mike Frysinger <vapier@gentoo.org>
-rw-r--r--arch/blackfin/cpu/serial.h10
1 files changed, 5 insertions, 5 deletions
diff --git a/arch/blackfin/cpu/serial.h b/arch/blackfin/cpu/serial.h
index f649e40..8a076dd 100644
--- a/arch/blackfin/cpu/serial.h
+++ b/arch/blackfin/cpu/serial.h
@@ -288,16 +288,16 @@ static inline void serial_early_puts(const char *s)
*/
#ifdef CONFIG_DEBUG_EARLY_SERIAL
# define serial_early_puts(str) \
- call _get_pc; \
- jump 1f; \
+ .section .rodata; \
+ 7: \
.ascii "Early:"; \
.ascii __FILE__; \
.ascii ": "; \
.ascii str; \
.asciz "\n"; \
- .align 4; \
-1: \
- R0 += 2; \
+ .previous; \
+ R0.L = 7b; \
+ R0.H = 7b; \
call _serial_puts;
#else
# define serial_early_puts(str)