From 5a64d5337bf497dc1676a188f863cbb9c9be74a5 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Fri, 5 Jun 2015 08:07:35 +0000 Subject: [PATCH] kernel: adjust mips highmem offset to avoid the need for -mlong-calls on systems with >256M RAM Signed-off-by: Felix Fietkau SVN-Revision: 45891 --- .../patches-3.18/307-mips_highmem_offset.patch | 17 +++++++++++++++++ .../patches-4.0/307-mips_highmem_offset.patch | 17 +++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 target/linux/generic/patches-3.18/307-mips_highmem_offset.patch create mode 100644 target/linux/generic/patches-4.0/307-mips_highmem_offset.patch diff --git a/target/linux/generic/patches-3.18/307-mips_highmem_offset.patch b/target/linux/generic/patches-3.18/307-mips_highmem_offset.patch new file mode 100644 index 0000000000..c9f0c84e30 --- /dev/null +++ b/target/linux/generic/patches-3.18/307-mips_highmem_offset.patch @@ -0,0 +1,17 @@ +Adjust highmem offset to 0x10000000 to ensure that all kmalloc allocations +stay within the same 256M boundary. This ensures that -mlong-calls is not +needed on systems with more than 256M RAM. + +Signed-off-by: Felix Fietkau +--- +--- a/arch/mips/include/asm/mach-generic/spaces.h ++++ b/arch/mips/include/asm/mach-generic/spaces.h +@@ -44,7 +44,7 @@ + * Memory above this physical address will be considered highmem. + */ + #ifndef HIGHMEM_START +-#define HIGHMEM_START _AC(0x20000000, UL) ++#define HIGHMEM_START _AC(0x10000000, UL) + #endif + + #endif /* CONFIG_32BIT */ diff --git a/target/linux/generic/patches-4.0/307-mips_highmem_offset.patch b/target/linux/generic/patches-4.0/307-mips_highmem_offset.patch new file mode 100644 index 0000000000..c9f0c84e30 --- /dev/null +++ b/target/linux/generic/patches-4.0/307-mips_highmem_offset.patch @@ -0,0 +1,17 @@ +Adjust highmem offset to 0x10000000 to ensure that all kmalloc allocations +stay within the same 256M boundary. This ensures that -mlong-calls is not +needed on systems with more than 256M RAM. + +Signed-off-by: Felix Fietkau +--- +--- a/arch/mips/include/asm/mach-generic/spaces.h ++++ b/arch/mips/include/asm/mach-generic/spaces.h +@@ -44,7 +44,7 @@ + * Memory above this physical address will be considered highmem. + */ + #ifndef HIGHMEM_START +-#define HIGHMEM_START _AC(0x20000000, UL) ++#define HIGHMEM_START _AC(0x10000000, UL) + #endif + + #endif /* CONFIG_32BIT */