aboutsummaryrefslogtreecommitdiffstats
path: root/arch/blackfin
diff options
context:
space:
mode:
Diffstat (limited to 'arch/blackfin')
-rw-r--r--arch/blackfin/kernel/setup.c6
-rw-r--r--arch/blackfin/kernel/vmlinux.lds.S5
2 files changed, 8 insertions, 3 deletions
diff --git a/arch/blackfin/kernel/setup.c b/arch/blackfin/kernel/setup.c
index fafaccb321fa..c494495af40d 100644
--- a/arch/blackfin/kernel/setup.c
+++ b/arch/blackfin/kernel/setup.c
@@ -107,7 +107,7 @@ void __init bf53x_relocate_l1_mem(void)
107 107
108 l1_code_length = _etext_l1 - _stext_l1; 108 l1_code_length = _etext_l1 - _stext_l1;
109 if (l1_code_length > L1_CODE_LENGTH) 109 if (l1_code_length > L1_CODE_LENGTH)
110 l1_code_length = L1_CODE_LENGTH; 110 panic("L1 Instruction SRAM Overflow\n");
111 /* cannot complain as printk is not available as yet. 111 /* cannot complain as printk is not available as yet.
112 * But we can continue booting and complain later! 112 * But we can continue booting and complain later!
113 */ 113 */
@@ -117,14 +117,14 @@ void __init bf53x_relocate_l1_mem(void)
117 117
118 l1_data_a_length = _ebss_l1 - _sdata_l1; 118 l1_data_a_length = _ebss_l1 - _sdata_l1;
119 if (l1_data_a_length > L1_DATA_A_LENGTH) 119 if (l1_data_a_length > L1_DATA_A_LENGTH)
120 l1_data_a_length = L1_DATA_A_LENGTH; 120 panic("L1 Data SRAM Bank A Overflow\n");
121 121
122 /* Copy _sdata_l1 to _ebss_l1 to L1 data bank A SRAM */ 122 /* Copy _sdata_l1 to _ebss_l1 to L1 data bank A SRAM */
123 dma_memcpy(_sdata_l1, _l1_lma_start + l1_code_length, l1_data_a_length); 123 dma_memcpy(_sdata_l1, _l1_lma_start + l1_code_length, l1_data_a_length);
124 124
125 l1_data_b_length = _ebss_b_l1 - _sdata_b_l1; 125 l1_data_b_length = _ebss_b_l1 - _sdata_b_l1;
126 if (l1_data_b_length > L1_DATA_B_LENGTH) 126 if (l1_data_b_length > L1_DATA_B_LENGTH)
127 l1_data_b_length = L1_DATA_B_LENGTH; 127 panic("L1 Data SRAM Bank B Overflow\n");
128 128
129 /* Copy _sdata_b_l1 to _ebss_b_l1 to L1 data bank B SRAM */ 129 /* Copy _sdata_b_l1 to _ebss_b_l1 to L1 data bank B SRAM */
130 dma_memcpy(_sdata_b_l1, _l1_lma_start + l1_code_length + 130 dma_memcpy(_sdata_b_l1, _l1_lma_start + l1_code_length +
diff --git a/arch/blackfin/kernel/vmlinux.lds.S b/arch/blackfin/kernel/vmlinux.lds.S
index 7a1200328aca..288dfdbfb611 100644
--- a/arch/blackfin/kernel/vmlinux.lds.S
+++ b/arch/blackfin/kernel/vmlinux.lds.S
@@ -83,6 +83,11 @@ SECTIONS
83 . = ALIGN(32); 83 . = ALIGN(32);
84 *(.data.cacheline_aligned) 84 *(.data.cacheline_aligned)
85 85
86#if !L1_DATA_A_LENGTH
87 . = ALIGN(32);
88 *(.data_l1.cacheline_aligned)
89#endif
90
86 DATA_DATA 91 DATA_DATA
87 *(.data.*) 92 *(.data.*)
88 CONSTRUCTORS 93 CONSTRUCTORS