Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3b4a49e2 authored by Chris Zankel's avatar Chris Zankel
Browse files

[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: default avatarChris Zankel <chris@zankel.net>
parent 3e92501a
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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)
+3 −1
Original line number Diff line number Diff line
@@ -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
+3 −5
Original line number Diff line number Diff line
@@ -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):