Remove the no longer used mechanism
cover Remove the no longer used mechanism
This patchset remove the no longer used mechanism as follows:
1. Reserve the TLB space for UART mapping during booting.
2. Assign a value for UART display when an error ocurred during booting.
Zong Li (2):
nds32: Remove the redundant assignment
nds32: Fill all TLB entries with kernel image mapping
arch/nds32/kernel/head.S | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-)
Signature · 1 line
2.7.4
PATCH 1/2 nds32: Remove the redundant assignment
For early version, the value of r2 register was used to display a character on UART when error occurred. Remove these r2 assignments because we no longer show the character.
--- arch/nds32/kernel/head.S | 2 -- 1 file changed, 2 deletions(-)
arch/nds32/kernel/head.S +0 -2
@@ -130,14 +130,12 @@ _image_size_check: * * direct mapping is not supported now. */ - li $r2, 't' beqz $r6, __error ! MMU_CFG.TBW = 0 is direct mappin 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 /* check kernel image size */ la $r3, (_end - PAGE_OFFSET) - li $r2, 's' bgt $r3, $r6, __error li $r2, #(PHYS_OFFSET + TLB_DATA_kernel_text_attr)
Signature · 1 line
2.7.4
PATCH 2/2 nds32: Fill all TLB entries with kernel image mapping
In reply to Zong LiWe 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.
--- arch/nds32/kernel/head.S | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-)
arch/nds32/kernel/head.S +1 -8
@@ -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
Signature · 1 line
2.7.4
Zong Li <[email protected]> 於 2018年10月17日 週三 下午9:17寫道:
Quoted 5 lines
This patchset remove the no longer used mechanism as follows:
1. Reserve the TLB space for UART mapping during booting.
2. Assign a value for UART display when an error ocurred during booting.
Quoted 7 lines
Zong Li (2):
nds32: Remove the redundant assignment
nds32: Fill all TLB entries with kernel image mappingarch/nds32/kernel/head.S | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-)
Zong, Thank you.