From: Barry Song Date: Sun, 21 Feb 2010 03:01:20 +0000 (+0000) Subject: blackfin: cplb-mpu: fix page mask table overflow X-Git-Tag: MMI-PSA29.97-13-9~17216^2~19 X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=4936afc6510608ddabeb4f562cf1a291cc38faa1;p=GitHub%2FMotorolaMobilityLLC%2Fkernel-slsi.git blackfin: cplb-mpu: fix page mask table overflow page mask table will overflow without xip related macros. Signed-off-by: Barry Song Signed-off-by: Bob Liu --- diff --git a/arch/blackfin/kernel/cplb-mpu/cplbmgr.c b/arch/blackfin/kernel/cplb-mpu/cplbmgr.c index 8de92299b3ee..b56bd8514b7c 100644 --- a/arch/blackfin/kernel/cplb-mpu/cplbmgr.c +++ b/arch/blackfin/kernel/cplb-mpu/cplbmgr.c @@ -120,6 +120,7 @@ MGR_ATTR static noinline int dcplb_miss(unsigned int cpu) d_data = L2_DMEMORY; } else if (addr >= physical_mem_end) { if (addr >= ASYNC_BANK0_BASE && addr < ASYNC_BANK3_BASE + ASYNC_BANK3_SIZE) { +#if defined(CONFIG_ROMFS_ON_MTD) && defined(CONFIG_MTD_ROM) mask = current_rwx_mask[cpu]; if (mask) { int page = (addr - (ASYNC_BANK0_BASE - _ramend)) >> PAGE_SHIFT; @@ -129,6 +130,7 @@ MGR_ATTR static noinline int dcplb_miss(unsigned int cpu) if (mask[idx] & bit) d_data |= CPLB_USER_RD; } +#endif } else if (addr >= BOOT_ROM_START && addr < BOOT_ROM_START + BOOT_ROM_LENGTH && (status & (FAULT_RW | FAULT_USERSUPV)) == FAULT_USERSUPV) { addr &= ~(1 * 1024 * 1024 - 1);