diff mbox

[U-Boot,10/11,v3] armv7: Adding cpu specific cache managmenent

Message ID 1340656917-12300-1-git-send-email-mathieu.poirier@linaro.org
State Accepted
Commit 53e6f6a6340adba6ff2a970ff27ac741901a8776
Delegated to: Tom Rini
Headers show

Commit Message

Mathieu Poirier June 25, 2012, 8:41 p.m. UTC
From: "Mathieu J. Poirier" <mathieu.poirier@linaro.org>

Some CPU (i.e u8500) need more cache management before launching
the Linux kernel.

Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
Signed-off-by: John Rigby <john.rigby@linaro.org>
---
Changes for v2:
   - Moved from __attribute__(...) to __weak.
changes for v3:
   - Choosing more explicit name for extra cache management routine.
---
 arch/arm/cpu/armv7/cpu.c |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)
diff mbox

Patch

diff --git a/arch/arm/cpu/armv7/cpu.c b/arch/arm/cpu/armv7/cpu.c
index c6fa8ef..f01989f 100644
--- a/arch/arm/cpu/armv7/cpu.c
+++ b/arch/arm/cpu/armv7/cpu.c
@@ -36,6 +36,7 @@ 
 #include <asm/system.h>
 #include <asm/cache.h>
 #include <asm/armv7.h>
+#include <linux/compiler.h>
 
 void save_boot_params_default(u32 r0, u32 r1, u32 r2, u32 r3)
 {
@@ -44,6 +45,8 @@  void save_boot_params_default(u32 r0, u32 r1, u32 r2, u32 r3)
 void save_boot_params(u32 r0, u32 r1, u32 r2, u32 r3)
 	__attribute__((weak, alias("save_boot_params_default")));
 
+void __weak cpu_cache_initialization(void){}
+
 int cleanup_before_linux(void)
 {
 	/*
@@ -81,5 +84,10 @@  int cleanup_before_linux(void)
 	 */
 	invalidate_dcache_all();
 
+	/*
+	 * Some CPU need more cache attention before starting the kernel.
+	 */
+	cpu_cache_initialization();
+
 	return 0;
 }