linux-stable/arch
Stefan Agner 5d47e129a7 ARM: trusted_foundations: do not use naked function
(commit 4ea7bdc6b5 upstream)

As documented in GCC naked functions should only use basic ASM
syntax. The extended ASM or mixture of basic ASM and "C" code is
not guaranteed. Currently this works because it was hard coded
to follow and check GCC behavior for arguments and register
placement.

Furthermore with clang using parameters in Extended asm in a
naked function is not supported:
  arch/arm/firmware/trusted_foundations.c:47:10: error: parameter
          references not allowed in naked functions
                : "r" (type), "r" (arg1), "r" (arg2)
                       ^

Use a regular function to be more portable. This aligns also with
the other SMC call implementations e.g. in qcom_scm-32.c and
bcm_kona_smc.c.

Cc: Dmitry Osipenko <digetx@gmail.com>
Cc: Stephen Warren <swarren@nvidia.com>
Cc: Thierry Reding <treding@nvidia.com>
Signed-off-by: Stefan Agner <stefan@agner.ch>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-12-01 09:42:49 +01:00
..
alpha arch/alpha, termios: implement BOTHER, IBSHIFT and termios2 2018-11-21 09:24:10 +01:00
arc ARC: build: Don't set CROSS_COMPILE in arch's Makefile 2018-10-20 09:48:53 +02:00
arm ARM: trusted_foundations: do not use naked function 2018-12-01 09:42:49 +01:00
arm64 arm64: percpu: Initialize ret in the default case 2018-11-27 16:10:47 +01:00
blackfin
c6x
cris bug.h: work around GCC PR82365 in BUG() 2018-05-30 07:52:00 +02:00
frv
h8300 h8300: remove extraneous __BIG_ENDIAN definition 2018-03-28 18:24:38 +02:00
hexagon hexagon: modify ffs() and fls() to return int 2018-10-10 08:54:25 +02:00
ia64 ia64/err-inject: Use get_user_pages_fast() 2018-05-30 07:52:11 +02:00
m32r
m68k m68k: fix "bad page state" oops on ColdFire boot 2018-08-24 13:09:11 +02:00
metag
microblaze microblaze: Fix simpleImage format generation 2018-08-03 07:50:40 +02:00
mips MIPS: OCTEON: cavium_octeon_defconfig: re-enable OCTEON USB driver 2018-11-27 16:10:50 +01:00
mn10300
nios2
openrisc openrisc: entry: Fix delay slot exception detection 2018-08-24 13:09:11 +02:00
parisc parisc: Fix exported address of os_hpmc handler 2018-11-13 11:14:46 -08:00
powerpc powerpc/memtrace: Remove memory in chunks 2018-11-21 09:24:04 +01:00
s390 s390/perf: Change CPUM_CF return code in event init function 2018-11-27 16:10:49 +01:00
score
sh sh: fix build failure for J2 cpu with SMP disabled 2018-06-21 04:02:54 +09:00
sparc sparc64: Make proc_id signed. 2018-11-13 11:14:50 -08:00
tile
um um: Give start_idle_thread() a return code 2018-11-27 16:10:46 +01:00
unicore32
x86 x86/ldt: Unmap PTEs for the slot before freeing LDT pages 2018-11-27 16:10:50 +01:00
xtensa xtensa: fix boot parameters address translation 2018-11-21 09:24:06 +01:00
.gitignore
Kconfig compiler.h: Allow arch-specific asm/compiler.h 2018-11-04 14:52:46 +01:00