]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
nds32: Fill all TLB entries with kernel image mapping
authorZong Li <zongbox@gmail.com>
Wed, 17 Oct 2018 13:15:52 +0000 (21:15 +0800)
committerGreentime Hu <greentime@andestech.com>
Tue, 6 Nov 2018 10:01:39 +0000 (18:01 +0800)
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>
arch/nds32/kernel/head.S

index 1ce653d35d9360b9499e6ef007eff42294237602..2c8aac6201be4708295cdb35d9d7e62b25211ff9 100644 (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