Blackfin arch: fix bug - shared lib function in L2 failed be called

Allow user space to access L2 SRAM.

Signed-off-by: Jie Zhang <jie.zhang@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
This commit is contained in:
Jie Zhang 2008-10-28 15:57:49 +08:00 committed by Bryan Wu
parent 72edff8dd4
commit b2c2f30388
2 changed files with 10 additions and 5 deletions

View file

@ -351,9 +351,14 @@ int _access_ok(unsigned long addr, unsigned long size)
return 1;
#endif
#if L1_DATA_B_LENGTH != 0
if (addr >= L1_DATA_B_START
if (addr >= L1_DATA_B_START + (_ebss_b_l1 - _sdata_b_l1)
&& addr + size <= L1_DATA_B_START + L1_DATA_B_LENGTH)
return 1;
#endif
#if L2_LENGTH != 0
if (addr >= L2_START + (_ebss_l2 - _stext_l2)
&& addr + size <= L2_START + L2_LENGTH)
return 1;
#endif
return 0;
}

View file

@ -183,10 +183,10 @@ static void __init l2_sram_init(void)
return;
}
free_l2_sram_head.next->paddr = (void *)L2_START +
(_etext_l2 - _stext_l2) + (_edata_l2 - _sdata_l2);
free_l2_sram_head.next->size = L2_LENGTH -
(_etext_l2 - _stext_l2) + (_edata_l2 - _sdata_l2);
free_l2_sram_head.next->paddr =
(void *)L2_START + (_ebss_l2 - _stext_l2);
free_l2_sram_head.next->size =
L2_LENGTH - (_ebss_l2 - _stext_l2);
free_l2_sram_head.next->pid = 0;
free_l2_sram_head.next->next = NULL;