2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-18 02:04:05 +08:00

nds32: Fill all TLB entries with kernel image mapping

We use earlycon replace with early_printk and doesn't use
early_io_map() to create UART mapping. It is not necessary
to reserve the one way in TLB for now.

It didn't make sense if use direct-mapped and reserve one
way at the same time. It allow the direct-mapped now.

Signed-off-by: Zong Li <zong@andestech.com>
Signed-off-by: Greentime Hu <greentime@andestech.com>
This commit is contained in:
Zong Li 2018-10-17 21:15:52 +08:00 committed by Greentime Hu
parent 2e95c4d672
commit 8730c178b4

View File

@ -123,14 +123,7 @@ _image_size_check:
andi $r0, $r0, MMU_CFG_mskTBS
srli $r6, $r6, MMU_CFG_offTBW
srli $r0, $r0, MMU_CFG_offTBS
/*
* we just map the kernel to the maximum way - 1 of tlb
* reserver one way for UART VA mapping
* it will cause page fault if UART mapping cover the kernel mapping
*
* direct mapping is not supported now.
*/
beqz $r6, __error ! MMU_CFG.TBW = 0 is direct mappin
addi $r6, $r6, #0x1 ! MMU_CFG.TBW value -> meaning
addi $r0, $r0, #0x2 ! MMU_CFG.TBS value -> meaning
sll $r0, $r6, $r0 ! entries = k-way * n-set
mul $r6, $r0, $r5 ! max size = entries * page size