summaryrefslogtreecommitdiffstats
path: root/arch/microblaze
diff options
context:
space:
mode:
authorMichal Simek <monstr@monstr.eu>2010-05-14 07:40:46 +0200
committerMichal Simek <monstr@monstr.eu>2010-05-14 07:43:38 +0200
commita5e48b88da225580394f825ffe67e444b050074b (patch)
tree2be84a73c04e0226590a5f3af88efa99fd7471de /arch/microblaze
parentee4bcdf1d248c4ebe5f73e11631c3bd3f76d777b (diff)
downloadlinux-stable-a5e48b88da225580394f825ffe67e444b050074b.tar.gz
linux-stable-a5e48b88da225580394f825ffe67e444b050074b.tar.bz2
linux-stable-a5e48b88da225580394f825ffe67e444b050074b.zip
microblaze: Fix module loading on system with WB cache
There is necessary to flush whole dcache. Icache work should be done in kernel/module.c. Signed-off-by: Michal Simek <monstr@monstr.eu>
Diffstat (limited to 'arch/microblaze')
-rw-r--r--arch/microblaze/kernel/module.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/microblaze/kernel/module.c b/arch/microblaze/kernel/module.c
index cbecf110dc30..0e73f6606547 100644
--- a/arch/microblaze/kernel/module.c
+++ b/arch/microblaze/kernel/module.c
@@ -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;
}