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

Commit f0cb7737 authored by Paul Mundt's avatar Paul Mundt
Browse files

sh: Fix up the secondary CPU entry point for 32bit mode.



Presently the secondary CPU entry point is only aimed at 29bit phys mode,
causing it to point to a stray virtual address in 32bit mode. Fix it up
after consulting with our shiny new __in_29bit_mode().

Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
parent a6198a23
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -78,7 +78,10 @@ void __init plat_prepare_cpus(unsigned int max_cpus)

void plat_start_cpu(unsigned int cpu, unsigned long entry_point)
{
	if (__in_29bit_mode())
		__raw_writel(entry_point, RESET_REG(cpu));
	else
		__raw_writel(virt_to_phys(entry_point), RESET_REG(cpu));

	if (!(__raw_readl(STBCR_REG(cpu)) & STBCR_MSTP))
		__raw_writel(STBCR_MSTP, STBCR_REG(cpu));