diff options
author | Chris Zankel <chris@zankel.net> | 2008-01-07 16:42:21 -0800 |
---|---|---|
committer | Chris Zankel <chris@zankel.net> | 2008-02-13 17:23:26 -0800 |
commit | 3b4a49e21b0d8a69629623815a8caff3eb4cf9f7 (patch) | |
tree | 28caaf5e577264a6edcbcd04141180fabaabe19c | |
parent | 3e92501a4e10e640786de10786c434834a0c1651 (diff) | |
download | op-kernel-dev-3b4a49e21b0d8a69629623815a8caff3eb4cf9f7.zip op-kernel-dev-3b4a49e21b0d8a69629623815a8caff3eb4cf9f7.tar.gz |
[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 ddf14dc..3981a46 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 ffb25bf..d9b34be 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 c0fcc1c..c8b024a 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): |