diff mbox

[OpenWrt-Devel,1/4] kernel: mips jump only works with memory less then 256mb. when enable HIGHMEM use long jump

Message ID 1430965539-10221-1-git-send-email-fl.service@t-firefly.com
State Changes Requested
Headers show

Commit Message

wengbj May 7, 2015, 2:25 a.m. UTC
Signed-off-by: wengbj <fl.service@t-firefly.com>
---
 .../patches-3.18/305-mips_module_reloc.patch       |    7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

Comments

John Crispin May 7, 2015, 5:39 a.m. UTC | #1
Hi,

what is the difference between this and the previous version ?

Johnn

On 07/05/2015 04:25, wengbj wrote:
> Signed-off-by: wengbj <fl.service@t-firefly.com>
> ---
>  .../patches-3.18/305-mips_module_reloc.patch       |    7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/target/linux/generic/patches-3.18/305-mips_module_reloc.patch b/target/linux/generic/patches-3.18/305-mips_module_reloc.patch
> index 41cf806..fd31f9f 100644
> --- a/target/linux/generic/patches-3.18/305-mips_module_reloc.patch
> +++ b/target/linux/generic/patches-3.18/305-mips_module_reloc.patch
> @@ -1,6 +1,6 @@
>  --- a/arch/mips/Makefile
>  +++ b/arch/mips/Makefile
> -@@ -90,8 +90,13 @@ all-$(CONFIG_SYS_SUPPORTS_ZBOOT)+= vmlin
> +@@ -90,8 +90,18 @@ all-$(CONFIG_SYS_SUPPORTS_ZBOOT)+= vmlin
>   cflags-y			+= -G 0 -mno-abicalls -fno-pic -pipe -mno-branch-likely
>   cflags-y			+= -msoft-float
>   LDFLAGS_vmlinux			+= -G 0 -static -n -nostdlib --gc-sections
> @@ -8,9 +8,14 @@
>   KBUILD_AFLAGS_MODULE		+= -mlong-calls
>   KBUILD_CFLAGS_MODULE		+= -mlong-calls
>  +else
> ++ifdef CONFIG_HIGHMEM
> ++KBUILD_AFLAGS_MODULE		+= -mlong-calls
> ++KBUILD_CFLAGS_MODULE		+= -mlong-calls
> ++else
>  +KBUILD_AFLAGS_MODULE		+= -mno-long-calls
>  +KBUILD_CFLAGS_MODULE		+= -mno-long-calls
>  +endif
> ++endif
>   
>   ifndef CONFIG_FUNCTION_TRACER
>   KBUILD_CFLAGS_KERNEL		+= -ffunction-sections -fdata-sections
>
Felix Fietkau May 7, 2015, 4:57 p.m. UTC | #2
On 2015-05-07 04:25, wengbj wrote:
> Signed-off-by: wengbj <fl.service@t-firefly.com>
This will make the code less efficient, I don't like that. Can't we just
change the kernel code in the mips_module_reloc patch to enforce
allocation within the lowmem memory space?

- Felix
John Crispin June 2, 2015, 10:07 a.m. UTC | #3
Hi,

do you plan to send the fixed version of this series ?

	John




On 07/05/2015 04:25, wengbj wrote:
> Signed-off-by: wengbj <fl.service@t-firefly.com>
> ---
>  .../patches-3.18/305-mips_module_reloc.patch       |    7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/target/linux/generic/patches-3.18/305-mips_module_reloc.patch b/target/linux/generic/patches-3.18/305-mips_module_reloc.patch
> index 41cf806..fd31f9f 100644
> --- a/target/linux/generic/patches-3.18/305-mips_module_reloc.patch
> +++ b/target/linux/generic/patches-3.18/305-mips_module_reloc.patch
> @@ -1,6 +1,6 @@
>  --- a/arch/mips/Makefile
>  +++ b/arch/mips/Makefile
> -@@ -90,8 +90,13 @@ all-$(CONFIG_SYS_SUPPORTS_ZBOOT)+= vmlin
> +@@ -90,8 +90,18 @@ all-$(CONFIG_SYS_SUPPORTS_ZBOOT)+= vmlin
>   cflags-y			+= -G 0 -mno-abicalls -fno-pic -pipe -mno-branch-likely
>   cflags-y			+= -msoft-float
>   LDFLAGS_vmlinux			+= -G 0 -static -n -nostdlib --gc-sections
> @@ -8,9 +8,14 @@
>   KBUILD_AFLAGS_MODULE		+= -mlong-calls
>   KBUILD_CFLAGS_MODULE		+= -mlong-calls
>  +else
> ++ifdef CONFIG_HIGHMEM
> ++KBUILD_AFLAGS_MODULE		+= -mlong-calls
> ++KBUILD_CFLAGS_MODULE		+= -mlong-calls
> ++else
>  +KBUILD_AFLAGS_MODULE		+= -mno-long-calls
>  +KBUILD_CFLAGS_MODULE		+= -mno-long-calls
>  +endif
> ++endif
>   
>   ifndef CONFIG_FUNCTION_TRACER
>   KBUILD_CFLAGS_KERNEL		+= -ffunction-sections -fdata-sections
>
diff mbox

Patch

diff --git a/target/linux/generic/patches-3.18/305-mips_module_reloc.patch b/target/linux/generic/patches-3.18/305-mips_module_reloc.patch
index 41cf806..fd31f9f 100644
--- a/target/linux/generic/patches-3.18/305-mips_module_reloc.patch
+++ b/target/linux/generic/patches-3.18/305-mips_module_reloc.patch
@@ -1,6 +1,6 @@ 
 --- a/arch/mips/Makefile
 +++ b/arch/mips/Makefile
-@@ -90,8 +90,13 @@ all-$(CONFIG_SYS_SUPPORTS_ZBOOT)+= vmlin
+@@ -90,8 +90,18 @@ all-$(CONFIG_SYS_SUPPORTS_ZBOOT)+= vmlin
  cflags-y			+= -G 0 -mno-abicalls -fno-pic -pipe -mno-branch-likely
  cflags-y			+= -msoft-float
  LDFLAGS_vmlinux			+= -G 0 -static -n -nostdlib --gc-sections
@@ -8,9 +8,14 @@ 
  KBUILD_AFLAGS_MODULE		+= -mlong-calls
  KBUILD_CFLAGS_MODULE		+= -mlong-calls
 +else
++ifdef CONFIG_HIGHMEM
++KBUILD_AFLAGS_MODULE		+= -mlong-calls
++KBUILD_CFLAGS_MODULE		+= -mlong-calls
++else
 +KBUILD_AFLAGS_MODULE		+= -mno-long-calls
 +KBUILD_CFLAGS_MODULE		+= -mno-long-calls
 +endif
++endif
  
  ifndef CONFIG_FUNCTION_TRACER
  KBUILD_CFLAGS_KERNEL		+= -ffunction-sections -fdata-sections