Thread (18 messages) 18 messages, 4 authors, 2013-08-19

[PATCH v3 4/5] ARM: tegra: set CPU reset handler with firmware op

From: Stephen Warren <hidden>
Date: 2013-08-14 21:40:37
Also in: linux-tegra, lkml

On 08/12/2013 08:29 PM, Alexandre Courbot wrote:
Use a firmware operation to set the CPU reset handler and only resort to
doing it ourselves if there is none defined.

This supports the booting of secondary CPUs on devices using a TrustZone
secure monitor.
quoted hunk ↗ jump to hunk
diff --git a/arch/arm/mach-tegra/reset.c b/arch/arm/mach-tegra/reset.c
+	err = call_firmware_op(set_cpu_boot_addr, 0, reset_address);
+	switch (err) {
+	case -ENOSYS:
+		tegra_cpu_reset_handler_set(reset_address);
+		/* pass-through */
+	case 0:
+		is_enabled = true;
+		break;
+	default:
+		pr_crit("Cannot set CPU reset handler: %d\n", err);
+		BUG();
+	}
Instead of trying and failing, does it make sense to register
tegra_cpu_reset_handler_set() as the set_cpu_boot_addr firmware op when
there is no firmware present? That would simplify all call-sites of any
firmware op.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help