Quellcode durchsuchen

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>
Michal Simek vor 15 Jahren
Ursprung
Commit
9b4d905690
1 geänderte Dateien mit 8 neuen und 0 gelöschten Zeilen
  1. 8 0
      arch/microblaze/lib/bootm.c

+ 8 - 0
arch/microblaze/lib/bootm.c

@@ -73,6 +73,14 @@ int do_bootm_linux(int flag, int argc, char *argv[], bootm_headers_t *images)
 		(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