diff options
author | Barry Song <barry.song@analog.com> | 2010-01-06 23:11:17 -0500 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2010-03-09 00:30:48 -0500 |
commit | d86bfb1600db38e8387beee0aaab4263cfd728a2 (patch) | |
tree | 95e6f3d77d6dede480d74a7a4b87f2794a5b31fe /arch/blackfin/include | |
parent | aad16f32284030907b4f105e92e5fb534fd272bc (diff) |
Blackfin: initial XIP support
Signed-off-by: Barry Song <barry.song@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Diffstat (limited to 'arch/blackfin/include')
-rw-r--r-- | arch/blackfin/include/asm/context.S | 10 | ||||
-rw-r--r-- | arch/blackfin/include/asm/sections.h | 3 |
2 files changed, 13 insertions, 0 deletions
diff --git a/arch/blackfin/include/asm/context.S b/arch/blackfin/include/asm/context.S index 5dffaf582a22..fada8e974a73 100644 --- a/arch/blackfin/include/asm/context.S +++ b/arch/blackfin/include/asm/context.S | |||
@@ -374,3 +374,13 @@ | |||
374 | 374 | ||
375 | (R7:0, P5:0) = [SP++]; | 375 | (R7:0, P5:0) = [SP++]; |
376 | .endm | 376 | .endm |
377 | |||
378 | .macro pseudo_long_call func:req, scratch:req | ||
379 | #ifdef CONFIG_ROMKERNEL | ||
380 | \scratch\().l = \func; | ||
381 | \scratch\().h = \func; | ||
382 | call (\scratch); | ||
383 | #else | ||
384 | call \func; | ||
385 | #endif | ||
386 | .endm | ||
diff --git a/arch/blackfin/include/asm/sections.h b/arch/blackfin/include/asm/sections.h index 42f6c53c59c6..14a3e66d9167 100644 --- a/arch/blackfin/include/asm/sections.h +++ b/arch/blackfin/include/asm/sections.h | |||
@@ -21,6 +21,9 @@ extern unsigned long memory_start, memory_end, physical_mem_end; | |||
21 | extern char _stext_l1[], _etext_l1[], _text_l1_lma[], __weak _text_l1_len[]; | 21 | extern char _stext_l1[], _etext_l1[], _text_l1_lma[], __weak _text_l1_len[]; |
22 | extern char _sdata_l1[], _edata_l1[], _sbss_l1[], _ebss_l1[], | 22 | extern char _sdata_l1[], _edata_l1[], _sbss_l1[], _ebss_l1[], |
23 | _data_l1_lma[], __weak _data_l1_len[]; | 23 | _data_l1_lma[], __weak _data_l1_len[]; |
24 | #ifdef CONFIG_ROMKERNEL | ||
25 | extern char _data_lma[], _data_len[], _sinitdata[], _einitdata[], _init_data_lma[], _init_data_len[]; | ||
26 | #endif | ||
24 | extern char _sdata_b_l1[], _edata_b_l1[], _sbss_b_l1[], _ebss_b_l1[], | 27 | extern char _sdata_b_l1[], _edata_b_l1[], _sbss_b_l1[], _ebss_b_l1[], |
25 | _data_b_l1_lma[], __weak _data_b_l1_len[]; | 28 | _data_b_l1_lma[], __weak _data_b_l1_len[]; |
26 | extern char _stext_l2[], _etext_l2[], _sdata_l2[], _edata_l2[], | 29 | extern char _stext_l2[], _etext_l2[], _sdata_l2[], _edata_l2[], |