From b54290e51accea4f696f5dacef8e609d0ccbe54a Mon Sep 17 00:00:00 2001 From: Nicolas Pitre Date: Thu, 8 Mar 2018 21:12:04 -0500 Subject: [PATCH] ARM: simplify and fix linker script for TCM Let's put the TCM stuff in the __init section directly. No need for a separately freed memory area. Remove redundant linker sections, as well as comments that were more confusing than no comments at all. Finally make it XIP compatible by using LOAD_OFFSET in the section LMA specification. Signed-off-by: Nicolas Pitre Tested-by: Chris Brandt --- arch/arm/kernel/vmlinux-xip.lds.S | 8 ++--- arch/arm/kernel/vmlinux.lds.S | 8 ++--- arch/arm/kernel/vmlinux.lds.h | 52 ++++--------------------------- arch/arm/mm/init.c | 11 ------- 4 files changed, 14 insertions(+), 65 deletions(-) diff --git a/arch/arm/kernel/vmlinux-xip.lds.S b/arch/arm/kernel/vmlinux-xip.lds.S index c727c56f3cb2..d32f5d35f602 100644 --- a/arch/arm/kernel/vmlinux-xip.lds.S +++ b/arch/arm/kernel/vmlinux-xip.lds.S @@ -132,6 +132,10 @@ SECTIONS PERCPU_SECTION(L1_CACHE_BYTES) #endif +#ifdef CONFIG_HAVE_TCM + ARM_TCM +#endif + /* * End of copied data. We need a dummy section to get its LMA. * Also located before final ALIGN() as trailing padding is not stored @@ -143,10 +147,6 @@ SECTIONS . = ALIGN(PAGE_SIZE); __init_end = .; -#ifdef CONFIG_HAVE_TCM - ARM_TCM -#endif - BSS_SECTION(0, 0, 8) _end = .; diff --git a/arch/arm/kernel/vmlinux.lds.S b/arch/arm/kernel/vmlinux.lds.S index 1e9f2a6b3d33..b77dc675ae55 100644 --- a/arch/arm/kernel/vmlinux.lds.S +++ b/arch/arm/kernel/vmlinux.lds.S @@ -127,6 +127,10 @@ SECTIONS PERCPU_SECTION(L1_CACHE_BYTES) #endif +#ifdef CONFIG_HAVE_TCM + ARM_TCM +#endif + #ifdef CONFIG_STRICT_KERNEL_RWX . = ALIGN(1<