microblaze: Flush cache before jumping to kernel
There is used max cache size on system which doesn't define
cache size.
Signed-off-by: Michal Simek <monstr@monstr.eu>
diff --git a/arch/microblaze/lib/bootm.c b/arch/microblaze/lib/bootm.c
index fef563b..2227a81 100644
--- a/arch/microblaze/lib/bootm.c
+++ b/arch/microblaze/lib/bootm.c
@@ -73,6 +73,14 @@
(ulong) theKernel, rd_data_start, (ulong) of_flat_tree);
#endif
+#ifdef XILINX_USE_DCACHE
+#ifdef XILINX_DCACHE_BYTE_SIZE
+ flush_cache(0, XILINX_DCACHE_BYTE_SIZE);
+#else
+#warning please rebuild BSPs and update configuration
+ flush_cache(0, 32768);
+#endif
+#endif
/*
* Linux Kernel Parameters (passing device tree):
* r5: pointer to command line