Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ce8403d4 authored by Olof Johansson's avatar Olof Johansson
Browse files

Merge tag 'tegra-for-4.19-firmware' of...

Merge tag 'tegra-for-4.19-firmware' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into next/soc

firmware: tegra: Changes for v4.19-rc1

This contains a single fix for the Trusted Foundations firmware
implementation, used on some Tegra20 and Tegra30 platforms.

* tag 'tegra-for-4.19-firmware' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux

:
  ARM: trusted_foundations: do not use naked function

Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
parents edc07c00 4ea7bdc6
Loading
Loading
Loading
Loading
+9 −5
Original line number Diff line number Diff line
@@ -31,21 +31,25 @@

static unsigned long cpu_boot_addr;

static void __naked tf_generic_smc(u32 type, u32 arg1, u32 arg2)
static void tf_generic_smc(u32 type, u32 arg1, u32 arg2)
{
	register u32 r0 asm("r0") = type;
	register u32 r1 asm("r1") = arg1;
	register u32 r2 asm("r2") = arg2;

	asm volatile(
		".arch_extension	sec\n\t"
		"stmfd	sp!, {r4 - r11, lr}\n\t"
		"stmfd	sp!, {r4 - r11}\n\t"
		__asmeq("%0", "r0")
		__asmeq("%1", "r1")
		__asmeq("%2", "r2")
		"mov	r3, #0\n\t"
		"mov	r4, #0\n\t"
		"smc	#0\n\t"
		"ldmfd	sp!, {r4 - r11, pc}"
		"ldmfd	sp!, {r4 - r11}\n\t"
		:
		: "r" (type), "r" (arg1), "r" (arg2)
		: "memory");
		: "r" (r0), "r" (r1), "r" (r2)
		: "memory", "r3", "r12", "lr");
}

static int tf_set_cpu_boot_addr(int cpu, unsigned long boot_addr)