summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-bcm/Makefile
diff options
context:
space:
mode:
authorAlex Elder <elder@linaro.org>2014-04-21 23:53:09 +0200
committerMatt Porter <mporter@linaro.org>2014-04-25 14:51:36 +0200
commit8b9c550e37ff4e4d0de2890a835f44a7813e3423 (patch)
tree07e846ee9fb1c09b820e67825558d6e107440044 /arch/arm/mach-bcm/Makefile
parentARM: bcm: tidy up a few includes (diff)
downloadlinux-8b9c550e37ff4e4d0de2890a835f44a7813e3423.tar.xz
linux-8b9c550e37ff4e4d0de2890a835f44a7813e3423.zip
ARM: bcm: use inline assembly for "smc" request
Move the code that implements the "smc" call into a C function that uses inline assembly. This allows us to make that function private, and enables us to get rid of "arch/arm/mach-bcm/bcm_kona_smc_asm.S". Rename what had been the "buffer_addr" argument to be "buffer_phys" so it's consistent with other usage in this file. Since it's now easy to do, verify that r12 contains SEC_EXIT_NORMAL upon completion of the SMC. There really isn't a good way to handle the abnormal completion of a secure monitor request. Since "bcm_kona_smc.h" is now only included from C files, eliminate the #ifndef __ASSEMBLY__. Signed-off-by: Alex Elder <elder@linaro.org> Reviewed-by: Tim Kryger <tim.kryger@linaro.org> Reviewed-by: Markus Mayer <markus.mayer@linaro.org> Reviewed-by: Matt Porter <mporter@linaro.org> Signed-off-by: Matt Porter <mporter@linaro.org>
Diffstat (limited to 'arch/arm/mach-bcm/Makefile')
-rw-r--r--arch/arm/mach-bcm/Makefile7
1 files changed, 4 insertions, 3 deletions
diff --git a/arch/arm/mach-bcm/Makefile b/arch/arm/mach-bcm/Makefile
index 51549814f7cd..d5b60feda8ad 100644
--- a/arch/arm/mach-bcm/Makefile
+++ b/arch/arm/mach-bcm/Makefile
@@ -20,9 +20,10 @@ obj-$(CONFIG_ARCH_BCM_21664) += board_bcm21664.o
obj-$(CONFIG_ARCH_BCM_MOBILE_L2_CACHE) += kona.o
# Support for secure monitor traps
-obj-$(CONFIG_ARCH_BCM_MOBILE_SMC) += bcm_kona_smc.o bcm_kona_smc_asm.o
-plus_sec := $(call as-instr,.arch_extension sec,+sec)
-AFLAGS_bcm_kona_smc_asm.o :=-Wa,-march=armv7-a$(plus_sec)
+obj-$(CONFIG_ARCH_BCM_MOBILE_SMC) += bcm_kona_smc.o
+ifeq ($(call as-instr,.arch_extension sec,as_has_sec),as_has_sec)
+CFLAGS_bcm_kona_smc.o += -Wa,-march=armv7-a+sec -DREQUIRES_SEC
+endif
# BCM2835
obj-$(CONFIG_ARCH_BCM2835) += board_bcm2835.o