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>
This commit is contained in:
Mike Frysinger 2011-06-29 16:21:28 -04:00
parent fd48d59100
commit e8e35efc8f

View File

@ -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)