DDB and SMP causes Unaligned Reference

Alan Robinson alan.robinson at fujitsu-siemens.com
Tue Jun 10 01:53:12 PDT 2003


On Fri, Jun 06, 2003 at 11:20:15AM -0700, Marcel Moolenaar wrote:
> On Fri, Jun 06, 2003 at 06:31:30PM +0200, Alan Robinson wrote:
> > 
> > The cr.iip points into swapctx (or savectx) which was called from
> > from interrupt() as follows....
> > 
> >         } else if (vector == ipi_vector[IPI_STOP]) {
> >                 u_int32_t mybit = PCPU_GET(cpumask);
> > 
> >                 CTR1(KTR_SMP, "IPI_STOP, cpuid=%d", PCPU_GET(cpuid));
> >                 savectx(PCPU_GET(pcb));
> 
> We don't set pc_pcb on ia64. The line above should read:
> 	savectx(curthread->td_pcb);
> 
Tried it.
> 
> Try it and let me know if it works. I'll commit it then.
> 
Works.
Works.
(It still causes the strange double entry into DDB)

It would also be a good idea to remove the unneeded pc_pcb line with its
incorrect comment from src/sys/ia64/include/pcpu.h

Alan


More information about the freebsd-ia64 mailing list