|
@@ -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;
|
|
|
}
|