diff options
author | Chris Zankel <chris@zankel.net> | 2008-01-08 01:42:21 +0100 |
---|---|---|
committer | Chris Zankel <chris@zankel.net> | 2008-02-14 02:23:26 +0100 |
commit | 3b4a49e21b0d8a69629623815a8caff3eb4cf9f7 (patch) | |
tree | 28caaf5e577264a6edcbcd04141180fabaabe19c | |
parent | [XTENSA] Add missing cast in elf.h ELF_CORE_COPY_REGS() (diff) | |
download | linux-3b4a49e21b0d8a69629623815a8caff3eb4cf9f7.tar.xz linux-3b4a49e21b0d8a69629623815a8caff3eb4cf9f7.zip |
[XTENSA] Fix modules for non-exec processor configurations
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>
-rw-r--r-- | arch/xtensa/kernel/module.c | 2 | ||||
-rw-r--r-- | include/asm-xtensa/module.h | 4 | ||||
-rw-r--r-- | include/asm-xtensa/pgtable.h | 8 |
3 files changed, 7 insertions, 7 deletions
diff --git a/arch/xtensa/kernel/module.c b/arch/xtensa/kernel/module.c index ddf14dcf2ad9..3981a466c779 100644 --- a/arch/xtensa/kernel/module.c +++ b/arch/xtensa/kernel/module.c @@ -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) diff --git a/include/asm-xtensa/module.h b/include/asm-xtensa/module.h index ffb25bfdf6a1..d9b34bee4d42 100644 --- a/include/asm-xtensa/module.h +++ b/include/asm-xtensa/module.h @@ -15,9 +15,11 @@ 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 diff --git a/include/asm-xtensa/pgtable.h b/include/asm-xtensa/pgtable.h index c0fcc1c9660c..c8b024a48b4d 100644 --- a/include/asm-xtensa/pgtable.h +++ b/include/asm-xtensa/pgtable.h @@ -66,11 +66,9 @@ */ #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): |