[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <AANLkTimnuTcv+5cWNzvV-Z=1LHsAmTojDSBJMjjOs7K+@mail.gmail.com>
Date: Wed, 15 Dec 2010 12:35:18 +0000
From: Catalin Marinas <catalin.marinas@....com>
To: Jeff Ohlstein <johlstei@...eaurora.org>
Cc: David Brown <davidb@...eaurora.org>,
Daniel Walker <dwalker@...eaurora.org>,
linux-arm-msm@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
Brian Swetland <swetland@...gle.com>,
Dima Zavin <dima@...roid.com>,
Arve Hjønnevåg <arve@...roid.com>,
Bryan Huntsman <bryanh@...eaurora.org>,
Russell King <linux@....linux.org.uk>,
Steve Muckle <smuckle@...eaurora.org>
Subject: Re: [PATCH v5 5/5] msm: add SMP support for msm
On 14 December 2010 04:50, Jeff Ohlstein <johlstei@...eaurora.org> wrote:
> --- /dev/null
> +++ b/arch/arm/mach-msm/headsmp.S
[...]
> +ENTRY(msm_secondary_startup)
> + mrc p15, 0, r0, c0, c0, 5 @ MPIDR
> + and r0, r0, #15 @ What CPU am I
> + adr r4, 1f @ address of
> + ldmia r4, {r5, r6} @ load curr addr and pen_rel addr
> + sub r4, r4, r5 @ determine virtual/phys offsets
> + add r6, r6, r4 @ apply
> +pen:
> + wfe
> + dsb @ ensure subsequent access is
> + @ after event
As I wrote in a different e-mail, this DSB isn't actually needed as
the processor shouldn't speculate beyond the WFE. But it's harmless
anyway.
> --- /dev/null
> +++ b/arch/arm/mach-msm/platsmp.c
[...]
> +int boot_secondary(unsigned int cpu, struct task_struct *idle)
> +{
> + static int cold_boot_done;
> + unsigned long timeout;
> + printk(KERN_DEBUG "Starting secondary CPU %d\n", cpu);
> +
> + if (cold_boot_done == false) {
> + prepare_cold_cpu(cpu);
> + cold_boot_done = true;
> + }
> +
> + pen_release = cpu;
> + __cpuc_flush_dcache_area((void *)&pen_release, sizeof(pen_release));
> + outer_clean_range(__pa(&pen_release), __pa(&pen_release + 1));
> + __asm__("sev");
> + dsb();
What's the need for the dsb() here (one before SEV maybe)?
Also, do we need to add a "memory" clobber to the SEV asm, not sure
whether the compiler would try to reorder the code.
--
Catalin
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists