[XTENSA] Fix modules for non-exec processor configurations
Chris Zankel [Tue, 8 Jan 2008 00:42:21 +0000 (16:42 -0800)]
We need to use vmalloc_exec for module loading. Also remove
the definitions MODULE_START and MODULE_END, which wasn't
used, and increase the VMALLOC memory range accordingly.

Signed-off-by: Chris Zankel <chris@zankel.net>

arch/xtensa/kernel/module.c
include/asm-xtensa/module.h
include/asm-xtensa/pgtable.h

index ddf14dc..3981a46 100644 (file)
@@ -28,7 +28,7 @@ void *module_alloc(unsigned long size)
 {
        if (size == 0)
                return NULL;
-       return vmalloc(size);
+       return vmalloc_exec(size);
 }
 
 void module_free(struct module *mod, void *module_region)
index ffb25bf..d9b34be 100644 (file)
 
 struct mod_arch_specific
 {
-       /* Module support is not completely implemented. */
+       /* No special elements, yet. */
 };
 
+#define MODULE_ARCH_VERMAGIC "xtensa-" __stringify(XCHAL_CORE_ID) " "
+
 #define Elf_Shdr Elf32_Shdr
 #define Elf_Sym Elf32_Sym
 #define Elf_Ehdr Elf32_Ehdr
index c0fcc1c..c8b024a 100644 (file)
  */
 
 #define VMALLOC_START          0xC0000000
-#define VMALLOC_END            0xC6FEFFFF
-#define TLBTEMP_BASE_1         0xC6FF0000
-#define TLBTEMP_BASE_2         0xC6FF8000
-#define MODULE_START           0xC7000000
-#define MODULE_END             0xC7FFFFFF
+#define VMALLOC_END            0xC7FEFFFF
+#define TLBTEMP_BASE_1         0xC7FF0000
+#define TLBTEMP_BASE_2         0xC7FF8000
 
 /*
  * Xtensa Linux config PTE layout (when present):