armv7: Adding cpu specific cache managmenent

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>
This commit is contained in:
Mathieu J. Poirier 2012-07-31 08:59:32 +00:00 committed by Albert ARIBAUD
parent 10ed93dcdd
commit 53e6f6a634

View file

@ -36,6 +36,7 @@
#include <asm/system.h> #include <asm/system.h>
#include <asm/cache.h> #include <asm/cache.h>
#include <asm/armv7.h> #include <asm/armv7.h>
#include <linux/compiler.h>
void save_boot_params_default(u32 r0, u32 r1, u32 r2, u32 r3) 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) void save_boot_params(u32 r0, u32 r1, u32 r2, u32 r3)
__attribute__((weak, alias("save_boot_params_default"))); __attribute__((weak, alias("save_boot_params_default")));
void __weak cpu_cache_initialization(void){}
int cleanup_before_linux(void) int cleanup_before_linux(void)
{ {
/* /*
@ -81,5 +84,10 @@ int cleanup_before_linux(void)
*/ */
invalidate_dcache_all(); invalidate_dcache_all();
/*
* Some CPU need more cache attention before starting the kernel.
*/
cpu_cache_initialization();
return 0; return 0;
} }