[Blackfin] arch: add implicit icplb for the bootrom so we can use the utility functions in the kernel
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
This commit is contained in:
parent
ac76d889b5
commit
4bea8b20fd
1 changed files with 8 additions and 2 deletions
|
@ -165,7 +165,7 @@ static noinline int dcplb_miss(void)
|
||||||
&& (status & (FAULT_RW | FAULT_USERSUPV)) == FAULT_USERSUPV) {
|
&& (status & (FAULT_RW | FAULT_USERSUPV)) == FAULT_USERSUPV) {
|
||||||
addr &= ~(1 * 1024 * 1024 - 1);
|
addr &= ~(1 * 1024 * 1024 - 1);
|
||||||
d_data &= ~PAGE_SIZE_4KB;
|
d_data &= ~PAGE_SIZE_4KB;
|
||||||
d_data |= PAGE_SIZE_1MB | CPLB_USER_RD;
|
d_data |= PAGE_SIZE_1MB;
|
||||||
} else
|
} else
|
||||||
return CPLB_PROT_VIOL;
|
return CPLB_PROT_VIOL;
|
||||||
} else if (addr >= _ramend) {
|
} else if (addr >= _ramend) {
|
||||||
|
@ -243,7 +243,13 @@ static noinline int icplb_miss(void)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (addr >= physical_mem_end) {
|
if (addr >= physical_mem_end) {
|
||||||
return CPLB_PROT_VIOL;
|
if (addr >= BOOT_ROM_START && addr < BOOT_ROM_START + BOOT_ROM_LENGTH
|
||||||
|
&& (status & FAULT_USERSUPV)) {
|
||||||
|
addr &= ~(1 * 1024 * 1024 - 1);
|
||||||
|
i_data &= ~PAGE_SIZE_4KB;
|
||||||
|
i_data |= PAGE_SIZE_1MB;
|
||||||
|
} else
|
||||||
|
return CPLB_PROT_VIOL;
|
||||||
} else if (addr >= _ramend) {
|
} else if (addr >= _ramend) {
|
||||||
i_data |= CPLB_USER_RD;
|
i_data |= CPLB_USER_RD;
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Reference in a new issue