diff options
author | Ard Biesheuvel <ard.biesheuvel@linaro.org> | 2015-03-18 02:29:32 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2015-03-28 11:46:14 -0400 |
commit | bf35706f3d0929b413e90b32cf9dd453f200a570 (patch) | |
tree | 3d2105ed637a1b8cd47e7dd9a66db11a81fe1060 /arch/arm/mm/proc-arm1020e.S | |
parent | 0a6a78b8b3c1c1757fbeca4bbf518e44c70c9e4b (diff) |
ARM: 8314/1: replace PROCINFO embedded branch with relative offset
This patch replaces the 'branch to setup()' instructions embedded
in the PROCINFO structs with the offset to that setup function
relative to the base of the struct. This preserves the position
independent nature of that field, but uses a data item rather
than an instruction.
This is mainly done to prevent linker failures on large kernels,
where the setup function is out of reach for the branch.
Acked-by: Nicolas Pitre <nico@linaro.org>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mm/proc-arm1020e.S')
-rw-r--r-- | arch/arm/mm/proc-arm1020e.S | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/arm/mm/proc-arm1020e.S b/arch/arm/mm/proc-arm1020e.S index a6331d78601f..bff4c7f70fd6 100644 --- a/arch/arm/mm/proc-arm1020e.S +++ b/arch/arm/mm/proc-arm1020e.S | |||
@@ -465,7 +465,7 @@ arm1020e_crval: | |||
465 | 465 | ||
466 | .align | 466 | .align |
467 | 467 | ||
468 | .section ".proc.info.init", #alloc, #execinstr | 468 | .section ".proc.info.init", #alloc |
469 | 469 | ||
470 | .type __arm1020e_proc_info,#object | 470 | .type __arm1020e_proc_info,#object |
471 | __arm1020e_proc_info: | 471 | __arm1020e_proc_info: |
@@ -479,7 +479,7 @@ __arm1020e_proc_info: | |||
479 | PMD_BIT4 | \ | 479 | PMD_BIT4 | \ |
480 | PMD_SECT_AP_WRITE | \ | 480 | PMD_SECT_AP_WRITE | \ |
481 | PMD_SECT_AP_READ | 481 | PMD_SECT_AP_READ |
482 | b __arm1020e_setup | 482 | initfn __arm1020e_setup, __arm1020e_proc_info |
483 | .long cpu_arch_name | 483 | .long cpu_arch_name |
484 | .long cpu_elf_name | 484 | .long cpu_elf_name |
485 | .long HWCAP_SWP | HWCAP_HALF | HWCAP_THUMB | HWCAP_EDSP | 485 | .long HWCAP_SWP | HWCAP_HALF | HWCAP_THUMB | HWCAP_EDSP |