993198a641
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>
34 lines
706 B
ArmAsm
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)
|