From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tim Deegan Subject: Re: [PATCH 5/7] xen/arm: wake up secondary cpus Date: Wed, 24 Oct 2012 17:05:19 +0100 Message-ID: <20121024160519.GF39126@ocelot.phlegethon.org> References: <1351091027-20740-5-git-send-email-stefano.stabellini@eu.citrix.com> <20121024153809.GC39126@ocelot.phlegethon.org> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Stefano Stabellini Cc: "xen-devel@lists.xensource.com" , Ian Campbell List-Id: xen-devel@lists.xenproject.org At 16:59 +0100 on 24 Oct (1351097986), Stefano Stabellini wrote: > On Wed, 24 Oct 2012, Tim Deegan wrote: > > At 16:03 +0100 on 24 Oct (1351094625), Stefano Stabellini wrote: > > > Secondary cpus are held by the firmware until we send an IPI to them. > > > > > > Signed-off-by: Stefano Stabellini > > > --- > > > xen/arch/arm/head.S | 8 ++++++-- > > > xen/arch/arm/mode_switch.S | 31 +++++++++++++++++++++++++++++++ > > > 2 files changed, 37 insertions(+), 2 deletions(-) > > > > > > diff --git a/xen/arch/arm/head.S b/xen/arch/arm/head.S > > > index c784f4d..39c4774 100644 > > > --- a/xen/arch/arm/head.S > > > +++ b/xen/arch/arm/head.S > > > @@ -79,12 +79,12 @@ start: > > > beq boot_cpu /* If we're CPU 0, boot now */ > > > > > > /* Non-boot CPUs wait here to be woken up one at a time. */ > > > -1: wfe > > > - dsb > > > +1: dsb > > > ldr r0, =smp_up_cpu /* VA of gate */ > > > add r0, r0, r10 /* PA of gate */ > > > ldr r1, [r0] /* Which CPU is being booted? */ > > > teq r1, r12 /* Is it us? */ > > > + wfene > > > > Shouldn't that be wf_i_ne? > > Nope. We need wfe here, in fact the corresponding code is > xen/arch/arm/smpboot.c:make_cpus_ready that uses sev to wake the other > cpus up. The code running wfi on secondary cpus is actually in the > firmware. Ah, I see - thanks. Tim.