svn commit: r234074 - in head/sys: amd64/amd64 i386/i386
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.
More information about the svn-src-all