[PATCH 1/2] ARM: vexpress/TC2: basic PM support

Nicolas Pitre nicolas.pitre at linaro.org
Mon Jun 10 16:21:24 EDT 2013


On Mon, 10 Jun 2013, Sudeep KarkadaNagesha wrote:

> On 07/06/13 07:39, Nicolas Pitre wrote:
> > This is the MCPM backend for the Virtual Express A15x2 A7x3 CoreTile
> > aka TC2.  This provides cluster management for SMP secondary boot and
> > CPU hotplug.
> > 
> > Signed-off-by: Nicolas Pitre <nico at linaro.org>
> > ---
> >  arch/arm/mach-vexpress/Kconfig  |   9 ++
> >  arch/arm/mach-vexpress/Makefile |   1 +
> >  arch/arm/mach-vexpress/tc2_pm.c | 243 ++++++++++++++++++++++++++++++++++++++++
> >  3 files changed, 253 insertions(+)
> >  create mode 100644 arch/arm/mach-vexpress/tc2_pm.c
> > 
> [...]
> > +/*
> > + * Enable cluster-level coherency, in preparation for turning on the MMU.
> > + */
> > +static void __naked tc2_pm_power_up_setup(unsigned int affinity_level)
> > +{
> > +	asm volatile (" \n"
> > +"	cmp	r0, #1 \n"
> > +"	beq	cci_enable_port_for_self \n"
> > +"	bx	lr ");
> You may need Thumb2 if-then(IT) instruction to support longer branch
> range here when compiled in THUMB2 mode.
> "       it      eq \n"

Yeah, I noticed, and therefore reworked it in my follow-up patch as 
follows:

	cmp	r0, #1
	bxne	lr
	b	cci_enable_port_for_self \n"


Nicolas



More information about the linux-arm-kernel mailing list