2018-10-17 13:18:29

by Zong Li

[permalink] [raw]
Subject: [PATCH 0/2] 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(-)

--
2.7.4



2018-10-17 13:18:29

by Zong Li

[permalink] [raw]
Subject: [PATCH 2/2] 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 <[email protected]>
---
arch/nds32/kernel/head.S | 9 +--------
1 file changed, 1 insertion(+), 8 deletions(-)

diff --git a/arch/nds32/kernel/head.S b/arch/nds32/kernel/head.S
index 1ce653d..2c8aac6 100644
--- a/arch/nds32/kernel/head.S
+++ b/arch/nds32/kernel/head.S
@@ -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
--
2.7.4


2018-10-17 13:18:48

by Zong Li

[permalink] [raw]
Subject: [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.

Signed-off-by: Zong Li <[email protected]>
---
arch/nds32/kernel/head.S | 2 --
1 file changed, 2 deletions(-)

diff --git a/arch/nds32/kernel/head.S b/arch/nds32/kernel/head.S
index c5fdae1..1ce653d 100644
--- a/arch/nds32/kernel/head.S
+++ b/arch/nds32/kernel/head.S
@@ -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)
--
2.7.4


2018-10-17 14:43:38

by Greentime Hu

[permalink] [raw]
Subject: Re: [PATCH 0/2] Remove the no longer used mechanism

Zong Li <[email protected]> 於 2018年10月17日 週三 下午9:17寫道:
>
> 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(-)
>
Zong, Thank you.
Acked-by: Greentime Hu <[email protected]>