aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/misc/Makefile1
-rw-r--r--drivers/misc/tzic.c8
2 files changed, 8 insertions, 1 deletions
diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile
index b7291cf..881a9af 100644
--- a/drivers/misc/Makefile
+++ b/drivers/misc/Makefile
@@ -88,4 +88,5 @@ obj-$(CONFIG_SLP_LOWMEM_NOTIFY) += slp_lowmem_notify.o
obj-$(CONFIG_MACH_M0_CTC) += cw_tty.o
# Secure OS Mobicore Interface
+CFLAGS_tzic.o :=$(call as-instr,.arch_extension sec,-DREQUIRES_SEC=1)
obj-$(CONFIG_MOBICORE_SUPPORT) += tzic.o
diff --git a/drivers/misc/tzic.c b/drivers/misc/tzic.c
index e1da409..6a5e3ba 100644
--- a/drivers/misc/tzic.c
+++ b/drivers/misc/tzic.c
@@ -42,7 +42,9 @@ u32 exynos_smc1(u32 cmd, u32 arg1, u32 arg2, u32 arg3)
register u32 reg3 __asm__("r3") = arg3;
__asm__ volatile (
- ".arch_extension sec\n"
+#ifdef REQUIRES_SEC
+ ".arch_extension sec\n"
+#endif
"smc 0\n"
: "+r"(reg0), "+r"(reg1), "+r"(reg2), "+r"(reg3)
);
@@ -65,7 +67,9 @@ int exynos_smc_read_oemflag(u32 ctrl_word, u32 *val)
reg2 = idx;
__asm__ volatile (
+#ifdef REQUIRES_SEC
".arch_extension sec\n"
+#endif
"smc 0\n"
:"+r" (reg0), "+r"(reg1),
"+r"(reg2), "+r"(reg3)
@@ -79,7 +83,9 @@ int exynos_smc_read_oemflag(u32 ctrl_word, u32 *val)
reg2 = idx;
__asm__ volatile (
+#ifdef REQUIRES_SEC
".arch_extension sec\n"
+#endif
"smc 0\n"
:"+r" (reg0), "+r"(reg1), "+r"(reg2),
"+r"(reg3)