[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <a42871ba8088e343cdfd405426ea25e5727116af.1525072600.git.greentime@andestech.com>
Date: Mon, 30 Apr 2018 15:20:39 +0800
From: Greentime Hu <green.hu@...il.com>
To: linux-kernel@...r.kernel.org, arnd@...db.de,
greentime@...estech.com, green.hu@...il.com
Subject: [PATCH 1/3] nds32: Fix the virtual address may map too much range by tlbop issue.
We use tlbop to map virtual address in the first beginning, however it
may map too much if DRAM size is not that big. We have to invalidate the
mapping when the page table is created.
Signed-off-by: Greentime Hu <greentime@...estech.com>
---
arch/nds32/kernel/setup.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/arch/nds32/kernel/setup.c b/arch/nds32/kernel/setup.c
index ba910e9e4ecb..2f5b2ccebe47 100644
--- a/arch/nds32/kernel/setup.c
+++ b/arch/nds32/kernel/setup.c
@@ -293,6 +293,9 @@ void __init setup_arch(char **cmdline_p)
/* paging_init() sets up the MMU and marks all pages as reserved */
paging_init();
+ /* invalidate all TLB entries because the new mapping is created */
+ __nds32__tlbop_flua();
+
/* use generic way to parse */
parse_early_param();
--
1.9.5
Powered by blists - more mailing lists