• Stephen Warren's avatar
    ARM: 7780/1: add missing linker section markup to head-common.S · 8c69d7af
    Stephen Warren authored
    Macro __INIT is used to place various code in head-common.S into the init
    section. This should be matched by a closing __FINIT. Also, add an
    explicit ".text" to ensure subsequent code is placed into the correct
    section; __FINIT is simply a closing marker to match __INIT and doesn't
    guarantee to revert to .text.
    
    This historically caused no problem, because macro __CPUINIT was used at
    the exact location where __FINIT was missing, which then placed following
    code into the cpuinit section. However, with commit 22f0a273 "init.h:
    remove __cpuinit sections from the kernel" applied, __CPUINIT becomes a
    no-op, thus leaving all this code in the init section, rather than the
    regular text section. This caused issues such as secondary CPU boot
    failures or crashes.
    Signed-off-by: default avatarStephen Warren <swarren@nvidia.com>
    Acked-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
    Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
    8c69d7af
head-common.S 5.17 KB