microblaze: Fix module loading on system with WB cache
authorMichal Simek <monstr@monstr.eu>
Fri, 14 May 2010 05:40:46 +0000 (07:40 +0200)
committerMichal Simek <monstr@monstr.eu>
Fri, 14 May 2010 05:43:38 +0000 (07:43 +0200)
There is necessary to flush whole dcache. Icache work should be
done in kernel/module.c.

Signed-off-by: Michal Simek <monstr@monstr.eu>
arch/microblaze/kernel/module.c

index cbecf110dc30dbd584672b680dad3920448138fa..0e73f6606547ce03f1be8c048971b9de6275c3a0 100644 (file)
@@ -16,6 +16,7 @@
 #include <linux/string.h>
 
 #include <asm/pgtable.h>
+#include <asm/cacheflush.h>
 
 void *module_alloc(unsigned long size)
 {
@@ -151,6 +152,7 @@ int apply_relocate_add(Elf32_Shdr *sechdrs, const char *strtab,
 int module_finalize(const Elf32_Ehdr *hdr, const Elf_Shdr *sechdrs,
                struct module *module)
 {
+       flush_dcache();
        return 0;
 }