mirror of
https://github.com/torvalds/linux.git
synced 2026-01-25 15:03:52 +08:00
blackfin: cplb-mpu: fix page mask table overflow
page mask table will overflow without xip related macros. Signed-off-by: Barry Song <barry.song@analog.com> Signed-off-by: Bob Liu <lliubbo@gmail.com>
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user