Title: [9122] trunk/arch/blackfin/kernel/setup.c: [#6190] bf561 smp: fix sleep mode can not wake up by uart
- Revision
- 9122
- Author
- steven.miao
- Date
- 2010-09-03 06:04:58 -0400 (Fri, 03 Sep 2010)
Log Message
[#6190] bf561 smp: fix sleep mode can not wake up by uart
Add offset to avoid .l1.text section relocation overwrite coreb start
entry. After coreb wakeup by IPI, it will execute coreb_trampoline_start
entry at coreb l1 code area, but l1 iflush patch for ANOMALY_05000491
overwrite the coreb_trampoline_start code area, so wakeup fail.
Modified Paths
Diff
Modified: trunk/arch/blackfin/kernel/setup.c (9121 => 9122)
--- trunk/arch/blackfin/kernel/setup.c 2010-09-02 11:00:06 UTC (rev 9121)
+++ trunk/arch/blackfin/kernel/setup.c 2010-09-03 10:04:58 UTC (rev 9122)
@@ -232,7 +232,7 @@
/* if necessary, copy L1 text to L1 instruction SRAM */
if (L1_CODE_LENGTH && text_l1_len)
- early_dma_memcpy((void *)COREB_L1_CODE_START, _text_l1_lma,
+ early_dma_memcpy((void *)COREB_L1_CODE_START + 0x200, _text_l1_lma,
text_l1_len);
/* if necessary, copy L1 data to L1 data bank A SRAM */
@@ -247,7 +247,7 @@
#if ANOMALY_05000491
blackfin_iflush_l1_entry[1] = (unsigned long)blackfin_icache_flush_range_l1 -
- (unsigned long)_stext_l1 + COREB_L1_CODE_START;
+ (unsigned long)_stext_l1 + COREB_L1_CODE_START + 0x200;
#endif
}
#endif
_______________________________________________
Linux-kernel-commits mailing list
[email protected]
https://blackfin.uclinux.org/mailman/listinfo/linux-kernel-commits