svn commit: r234074 - in head/sys: amd64/amd64 i386/i386

John Baldwin jhb at freebsd.org
Tue Apr 10 13:58:26 UTC 2012


On Monday, April 09, 2012 7:09:49 pm Marius Strobl wrote:
> On Mon, Apr 09, 2012 at 10:41:19PM +0000, Attilio Rao wrote:
> > Author: attilio
> > Date: Mon Apr  9 22:41:19 2012
> > New Revision: 234074
> > URL: http://svn.freebsd.org/changeset/base/234074
> > 
> > Log:
> >   BSP is not added to the mask of valid target CPUs for interrupts
> >   in set_apic_interrupt_ids(). Besides, set_apic_interrupts_ids() is not
> >   called in the !SMP case too.
> >   Fix this by:
> >   - Adding the BSP as an interrupt target directly in cpu_startup().
> >   - Remove an obsolete optimization where the BSP are skipped in
> >     set_apic_interrupt_ids().
> >   
> >   Reported by:	jh
> >   Reviewed by:	jhb
> >   MFC after:	3 days
> >   X-MFC:		r233961
> >   Pointy hat to:	me
> > 
> > Modified:
> >   head/sys/amd64/amd64/machdep.c
> >   head/sys/amd64/amd64/mp_machdep.c
> >   head/sys/i386/i386/machdep.c
> >   head/sys/i386/i386/mp_machdep.c
> > 
> > Modified: head/sys/amd64/amd64/machdep.c
> > 
==============================================================================
> > --- head/sys/amd64/amd64/machdep.c	Mon Apr  9 22:01:43 2012	(r234073)
> > +++ head/sys/amd64/amd64/machdep.c	Mon Apr  9 22:41:19 2012	(r234074)
> > @@ -295,6 +295,11 @@ cpu_startup(dummy)
> >  	vm_pager_bufferinit();
> >  
> >  	cpu_setregs();
> > +
> > +	/*
> > +	 * Add BSP as an interrupt target.
> > +	 */
> > +	intr_add_cpu(0);
> >  }
> 
> If I'm not mistaken, intr_add_cpu() is under #ifdef SMP, so it should be
> here as well.

Correct.  This is why I had put it in intr_machdep.c in the big #ifdef SMP 
block where all the interrupt target stuff lives.  Adding #ifdef's here is
fine as well though.

-- 
John Baldwin


More information about the svn-src-all mailing list