Commit eca55f4d9c1d918c2aa95fb8a73a34e2ba8a1b11

Authored by Marc Zyngier
Committed by David Brown
1 parent 47a6770ac6

ARM: msm: fix compilation flags for MSM_SCM

CONFIG_MSM_SCM uses the smc instruction, which with some
toolchains requires a ".arch_extension" directive.

Cc: David Brown <davidb@codeaurora.org>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: David Brown <davidb@codeaurora.org>

Showing 2 changed files with 5 additions and 0 deletions Side-by-side Diff

arch/arm/mach-msm/Makefile
... ... @@ -15,6 +15,8 @@
15 15 obj-$(CONFIG_MSM_SMD) += last_radio_log.o
16 16 obj-$(CONFIG_MSM_SCM) += scm.o scm-boot.o
17 17  
  18 +CFLAGS_scm.o :=$(call as-instr,.arch_extension sec,-DREQUIRES_SEC=1)
  19 +
18 20 obj-$(CONFIG_HOTPLUG_CPU) += hotplug.o
19 21 obj-$(CONFIG_SMP) += headsmp.o platsmp.o
20 22  
arch/arm/mach-msm/scm.c
... ... @@ -180,6 +180,9 @@
180 180 __asmeq("%1", "r0")
181 181 __asmeq("%2", "r1")
182 182 __asmeq("%3", "r2")
  183 +#ifdef REQUIRES_SEC
  184 + ".arch_extension sec\n"
  185 +#endif
183 186 "smc #0 @ switch to secure world\n"
184 187 : "=r" (r0)
185 188 : "r" (r0), "r" (r1), "r" (r2)