All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCHv6 1/6] armv8: fsl-layerscape: add i/d-cache enable function to enable_caches
@ 2016-06-22  3:30 Zhiqiang Hou
  2016-06-22  3:30 ` [U-Boot] [PATCHv6 2/6] ARMv8: add the secure monitor firmware framework Zhiqiang Hou
                   ` (4 more replies)
  0 siblings, 5 replies; 18+ messages in thread
From: Zhiqiang Hou @ 2016-06-22  3:30 UTC (permalink / raw)
  To: u-boot

From: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>

This function assume that the d-cache and MMU has been enabled earlier,
so it just created MMU table in main memory. But the assumption is not
always correct, for example, the early setup is done in EL3, while
enable_caches() is called when the PE has turned into another EL.

Define the function mmu_setup() for fsl-layerscape to cover the weak
one.

Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
---
V6:
 - no change

 arch/arm/cpu/armv8/fsl-layerscape/cpu.c | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/arch/arm/cpu/armv8/fsl-layerscape/cpu.c b/arch/arm/cpu/armv8/fsl-layerscape/cpu.c
index 8062106..d5bcf67 100644
--- a/arch/arm/cpu/armv8/fsl-layerscape/cpu.c
+++ b/arch/arm/cpu/armv8/fsl-layerscape/cpu.c
@@ -422,15 +422,21 @@ int arch_cpu_init(void)
 	return 0;
 }
 
+void mmu_setup(void)
+{
+	final_mmu_setup();
+}
+
 /*
- * This function is called from lib/board.c.
- * It recreates MMU table in main memory. MMU and d-cache are enabled earlier.
- * There is no need to disable d-cache for this operation.
+ * This function is called from common/board_r.c.
+ * It recreates MMU table in main memory.
  */
 void enable_caches(void)
 {
-	final_mmu_setup();
+	mmu_setup();
 	__asm_invalidate_tlb_all();
+	icache_enable();
+	dcache_enable();
 }
 #endif
 
-- 
2.1.0.27.g96db324

^ permalink raw reply related	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2016-06-23  4:17 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-06-22  3:30 [U-Boot] [PATCHv6 1/6] armv8: fsl-layerscape: add i/d-cache enable function to enable_caches Zhiqiang Hou
2016-06-22  3:30 ` [U-Boot] [PATCHv6 2/6] ARMv8: add the secure monitor firmware framework Zhiqiang Hou
2016-06-22 16:11   ` york sun
2016-06-23  3:40     ` Zhiqiang Hou
2016-06-22 16:19   ` york sun
2016-06-23  3:54     ` Zhiqiang Hou
2016-06-22  3:30 ` [U-Boot] [PATCHv6 3/6] ARMv8/layerscape: Add FSL PPA support Zhiqiang Hou
2016-06-22 16:12   ` york sun
2016-06-23  3:41     ` Zhiqiang Hou
2016-06-22  3:30 ` [U-Boot] [PATCHv6 4/6] ARMv8/Layerscape: switch SMP method accordingly Zhiqiang Hou
2016-06-22 16:21   ` york sun
2016-06-23  3:56     ` Zhiqiang Hou
2016-06-22  3:30 ` [U-Boot] [PATCHv6 5/6] ARMv8/PSCI: Fixup the device tree for PSCI Zhiqiang Hou
2016-06-22  4:04   ` Chen-Yu Tsai
2016-06-23  3:26     ` Zhiqiang Hou
2016-06-22 16:52   ` york sun
2016-06-23  4:17     ` Zhiqiang Hou
2016-06-22  3:30 ` [U-Boot] [PATCHv6 6/6] ARMv8/ls1043ardb: Integrate FSL PPA Zhiqiang Hou

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.