@@ -44,6 +44,10 @@ 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 __cpu_cache_management(void){}
+void cpu_cache_management(void) __attribute__((weak,
+ alias("__cpu_cache_management")));
+
int cleanup_before_linux(void)
{
/*
@@ -81,5 +85,10 @@ int cleanup_before_linux(void)
*/
invalidate_dcache_all();
+ /*
+ * Some CPU need more cache attention before starting the kernel.
+ */
+ cpu_cache_management();
+
return 0;
}