Hi Ethan, Keith, I played some more with Ethan's MP patch over the weekend. I still have major problems on the i386. It's been an interesting tour of the code.
The real problem is the non-maskable part of the non- maskable IPI. When there are multiple processors hitting breakpoints at the same time, you never know how much of the initial entry code the slave processor got to execute before it was hit by the NMI. I have a couple of ideas in the works. First, I wonder about having the kdb_ipi() check if it has interrupted a breakpoint entry. If it has, it could just set a flag and return. I might do this with a stack trace back or by setting a flag early in the breakpoint handling (e.g. entry.S). I also wonder about using a normal interrupt rather than the NMI. Ethan, I'm curious if you're using an NMI on the Sparc. Jim Houston - Concurrent Computer Corp.
