diff options
author | Arnd Bergmann <arnd@arndb.de> | 2014-03-16 13:04:54 -0400 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2014-03-21 20:04:28 -0400 |
commit | 1146b600044de64af0ef775025731eeef1fa2189 (patch) | |
tree | 8069908b9608874f4a249b2999311190528f9cfe /arch/arm/mach-sunxi | |
parent | 96c3a2506b1bf17bd4e8d1abe8220912925ca279 (diff) |
ARM: sunxi: fix build for THUMB2_KERNEL
Building an SMP kernel for the sunxi platform with THUMB2 instructions
fails with this error at the moment:
headsmp.S:7: Error: Thumb encoding does not support an immediate here -- `msr cpsr_fsxc,#0xd3'
Since the generic secondary_startup function already does
the same thing in a safe way, we can just drop the private
sunxi implementation and jump straight to secondary_startup.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Cc: Maxime Ripard <maxime.ripard@free-electrons.com>
Diffstat (limited to 'arch/arm/mach-sunxi')
-rw-r--r-- | arch/arm/mach-sunxi/Makefile | 2 | ||||
-rw-r--r-- | arch/arm/mach-sunxi/headsmp.S | 9 | ||||
-rw-r--r-- | arch/arm/mach-sunxi/platsmp.c | 2 |
3 files changed, 2 insertions, 11 deletions
diff --git a/arch/arm/mach-sunxi/Makefile b/arch/arm/mach-sunxi/Makefile index d9397202d6ec..27b168f121a1 100644 --- a/arch/arm/mach-sunxi/Makefile +++ b/arch/arm/mach-sunxi/Makefile | |||
@@ -1,2 +1,2 @@ | |||
1 | obj-$(CONFIG_ARCH_SUNXI) += sunxi.o | 1 | obj-$(CONFIG_ARCH_SUNXI) += sunxi.o |
2 | obj-$(CONFIG_SMP) += platsmp.o headsmp.o | 2 | obj-$(CONFIG_SMP) += platsmp.o |
diff --git a/arch/arm/mach-sunxi/headsmp.S b/arch/arm/mach-sunxi/headsmp.S deleted file mode 100644 index a10d494fb37b..000000000000 --- a/arch/arm/mach-sunxi/headsmp.S +++ /dev/null | |||
@@ -1,9 +0,0 @@ | |||
1 | #include <linux/linkage.h> | ||
2 | #include <linux/init.h> | ||
3 | |||
4 | .section ".text.head", "ax" | ||
5 | |||
6 | ENTRY(sun6i_secondary_startup) | ||
7 | msr cpsr_fsxc, #0xd3 | ||
8 | b secondary_startup | ||
9 | ENDPROC(sun6i_secondary_startup) | ||
diff --git a/arch/arm/mach-sunxi/platsmp.c b/arch/arm/mach-sunxi/platsmp.c index 7b141d8342a1..0c7dbce033cc 100644 --- a/arch/arm/mach-sunxi/platsmp.c +++ b/arch/arm/mach-sunxi/platsmp.c | |||
@@ -82,7 +82,7 @@ static int sun6i_smp_boot_secondary(unsigned int cpu, | |||
82 | spin_lock(&cpu_lock); | 82 | spin_lock(&cpu_lock); |
83 | 83 | ||
84 | /* Set CPU boot address */ | 84 | /* Set CPU boot address */ |
85 | writel(virt_to_phys(sun6i_secondary_startup), | 85 | writel(virt_to_phys(secondary_startup), |
86 | cpucfg_membase + CPUCFG_PRIVATE0_REG); | 86 | cpucfg_membase + CPUCFG_PRIVATE0_REG); |
87 | 87 | ||
88 | /* Assert the CPU core in reset */ | 88 | /* Assert the CPU core in reset */ |