aboutsummaryrefslogtreecommitdiff
path: root/arch/microblaze
diff options
context:
space:
mode:
authorMichal Simek <monstr@monstr.eu>2010-04-16 12:01:32 +0200
committerMichal Simek <monstr@monstr.eu>2010-04-16 12:16:04 +0200
commit9b4d90569028604bc491ea419187c31e4467bdca (patch)
treebc35c4a4c10aa2fa5c9b15255ef778168143c3ef /arch/microblaze
parent70524883b0424277e5b3ff3768c0c5628b5fce44 (diff)
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>
Diffstat (limited to 'arch/microblaze')
-rw-r--r--arch/microblaze/lib/bootm.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/microblaze/lib/bootm.c b/arch/microblaze/lib/bootm.c
index fef563b48..2227a81bb 100644
--- a/arch/microblaze/lib/bootm.c
+++ b/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