Title: [6966] branches/2009R1/arch/blackfin/kernel/cplb-nompu/cplbinit.c: Fix bug [#5324], cover coreb l1 sram cplb entris
- Revision
- 6966
- Author
- gyang
- Date
- 2009-07-10 06:35:53 -0500 (Fri, 10 Jul 2009)
Log Message
Fix bug [#5324], cover coreb l1 sram cplb entris
Modified Paths
Diff
Modified: branches/2009R1/arch/blackfin/kernel/cplb-nompu/cplbinit.c (6965 => 6966)
--- branches/2009R1/arch/blackfin/kernel/cplb-nompu/cplbinit.c 2009-07-10 11:34:51 UTC (rev 6965)
+++ branches/2009R1/arch/blackfin/kernel/cplb-nompu/cplbinit.c 2009-07-10 11:35:53 UTC (rev 6966)
@@ -72,13 +72,24 @@
}
/* Cover L1 memory. One 4M area for code and data each is enough. */
- if (L1_DATA_A_LENGTH || L1_DATA_B_LENGTH) {
- d_tbl[i_d].addr = L1_DATA_A_START;
- d_tbl[i_d++].data = "" | PAGE_SIZE_4MB;
+ if (cpu == 0) {
+ if (L1_DATA_A_LENGTH || L1_DATA_B_LENGTH) {
+ d_tbl[i_d].addr = L1_DATA_A_START;
+ d_tbl[i_d++].data = "" | PAGE_SIZE_4MB;
+ }
+ i_tbl[i_i].addr = L1_CODE_START;
+ i_tbl[i_i++].data = "" | PAGE_SIZE_4MB;
}
- i_tbl[i_i].addr = L1_CODE_START;
- i_tbl[i_i++].data = "" | PAGE_SIZE_4MB;
-
+#ifdef CONFIG_SMP
+ else {
+ if (L1_DATA_A_LENGTH || L1_DATA_B_LENGTH) {
+ d_tbl[i_d].addr = COREB_L1_DATA_A_START;
+ d_tbl[i_d++].data = "" | PAGE_SIZE_4MB;
+ }
+ i_tbl[i_i].addr = COREB_L1_CODE_START;
+ i_tbl[i_i++].data = "" | PAGE_SIZE_4MB;
+ }
+#endif
first_switched_dcplb = i_d;
first_switched_icplb = i_i;
_______________________________________________
Linux-kernel-commits mailing list
[email protected]
https://blackfin.uclinux.org/mailman/listinfo/linux-kernel-commits