linux/arch/arm/mach-zx/headsmp.S
Arnd Bergmann 993198a641 ARM: zx: fix building with CONFIG_THUMB2_KERNEL
The newly added zx platform causes a build error when
CONFIG_THUMB2_KERNEL is enabled:

arch/arm/mach-zx/headsmp.S:16: Error: invalid immediate for address calculation (value = 0x00000004)

I'm assuming that the ROM code that is calling these entry
points runs in ARM mode, so there would be another problem
in the same file, and we can solve both problems at once
by adding a '.arm' statement that will make zx_resume_jump
and zx_secondary_startup both be built as ARM code.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Jun Nie <jun.nie@linaro.org>
Tested-by: Jun Nie <jun.nie@linaro.org>
2015-05-22 16:45:54 +02:00

34 lines
706 B
ArmAsm

/*
* Copyright 2014 Linaro Ltd.
* Copyright (C) 2014 ZTE Corporation.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
#include <linux/linkage.h>
.align 3
.arm
/* It runs from physical address */
ENTRY(zx_resume_jump)
adr r1, zx_secondary_startup_pa
ldr r0, [r1]
bx r0
ENDPROC(zx_resume_jump)
ENTRY(zx_secondary_startup_pa)
.word zx_secondary_startup_pa
ENTRY(zx_suspend_iram_sz)
.word . - zx_resume_jump
ENDPROC(zx_secondary_startup_pa)
ENTRY(zx_secondary_startup)
bl v7_invalidate_l1
b secondary_startup
ENDPROC(zx_secondary_startup)