From: Mike Frysinger Date: Wed, 29 Jun 2011 20:21:28 +0000 (-0400) Subject: Blackfin: serial: move early debug strings into .rodata section X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=e8e35efc8f2a16cf72ddc475df4ff26d76f03d1e;p=project%2Fbcm63xx%2Fu-boot.git 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 --- diff --git a/arch/blackfin/cpu/serial.h b/arch/blackfin/cpu/serial.h index f649e40250..8a076ddc92 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)