Skip to contentSkip to conversation

Remove the no longer used mechanism

PATCH In review Zong Li 2 participants 4 messages Oct 17, 2018

lore
Share & tools
lore

Zong Li

author
#0 lore raw

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
author
#1 lore raw

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
index c5fdae1..1ce653d 100644
@@ -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
author
#2 lore raw

PATCH 2/2 nds32: Fill all TLB entries with kernel image mapping

In reply to Zong Li

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.

---
 arch/nds32/kernel/head.S | 9 +--------
 1 file changed, 1 insertion(+), 8 deletions(-)
arch/nds32/kernel/head.S +1 -8
index 1ce653d..2c8aac6 100644
@@ -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
Acked-by on the v1 series
#3 lore raw
In reply to Zong Li

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 mapping

 arch/nds32/kernel/head.S | 11 +----------
 1 file changed, 1 insertion(+), 10 deletions(-)

Zong, Thank you.