aboutsummaryrefslogtreecommitdiffstats
path: root/arch/blackfin/kernel
diff options
context:
space:
mode:
authorSonic Zhang <sonic.zhang@analog.com>2009-12-09 02:01:50 -0500
committerMike Frysinger <vapier@gentoo.org>2010-03-09 00:30:46 -0500
commit5792ab2a0a22fdaef33056ca2b31847a28b1af60 (patch)
tree7c1257f6f0fa2c0bf469cb898b38b9320f57920c /arch/blackfin/kernel
parentd94a1aa44ed6bfe8d8ab36c02de652d4fcf0d2c3 (diff)
Blackfin: MPU: handle caches for reserved memory
We weren't handling the user-specified cache behavior for the reserved memory regions (via mem=/max_mem=). The no-MPU code already takes care of this, so add support to the MPU code as well. Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Diffstat (limited to 'arch/blackfin/kernel')
-rw-r--r--arch/blackfin/kernel/cplb-mpu/cplbmgr.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/blackfin/kernel/cplb-mpu/cplbmgr.c b/arch/blackfin/kernel/cplb-mpu/cplbmgr.c
index d4cc53a0ef89..7e6383dc7b20 100644
--- a/arch/blackfin/kernel/cplb-mpu/cplbmgr.c
+++ b/arch/blackfin/kernel/cplb-mpu/cplbmgr.c
@@ -131,7 +131,9 @@ static noinline int dcplb_miss(unsigned int cpu)
131 } else 131 } else
132 return CPLB_PROT_VIOL; 132 return CPLB_PROT_VIOL;
133 } else if (addr >= _ramend) { 133 } else if (addr >= _ramend) {
134 d_data |= CPLB_USER_RD | CPLB_USER_WR; 134 d_data |= CPLB_USER_RD | CPLB_USER_WR;
135 if (reserved_mem_dcache_on)
136 d_data |= CPLB_L1_CHBL;
135 } else { 137 } else {
136 mask = current_rwx_mask[cpu]; 138 mask = current_rwx_mask[cpu];
137 if (mask) { 139 if (mask) {
@@ -231,6 +233,8 @@ static noinline int icplb_miss(unsigned int cpu)
231 return CPLB_PROT_VIOL; 233 return CPLB_PROT_VIOL;
232 } else if (addr >= _ramend) { 234 } else if (addr >= _ramend) {
233 i_data |= CPLB_USER_RD; 235 i_data |= CPLB_USER_RD;
236 if (reserved_mem_icache_on)
237 i_data |= CPLB_L1_CHBL;
234 } else { 238 } else {
235 /* 239 /*
236 * Two cases to distinguish - a supervisor access must 240 * Two cases to distinguish - a supervisor access must