Hello, On May 6, 2008, at 10:57, Izumi Tsutsui wrote:
macallan%NetBSD.org@localhost wrote:Yes, it's the ohare PIC handler. Please build a kernel with options OHARE_DEBUG and try again.It dumps: --- ohare interrupt fuckup pending: 0000a000 ohare interrupt fuckup pending: 0000a000 ohare interrupt fuckup pending: 0000a000 ohare interrupt fuckup pending: 0000a000 ohare interrupt fuckup pending: 0000a000 ohare interrupt fuckup pending: 0000a000 ohare interrupt fuckup pending: 0000a000 ohare interrupt fuckup pending: 0000a000 :
Ok, that's 2 intersupts pending, so at least it's semi-sane.
Please try this pseudo-patch too, it should bypass the priority code and simply return interrupts from left to right:This one seems to survive even after copying whole pkgsrc tree from NFS to wd0.
That confirms it - the priority ordering code is busted. I'll attach another patch that should fix it. Just in case it also detects this condition and does something sane, like complaining and simply returning the leftmost interrupt bit without attempting to order anything.
have fun Michael
Attachment:
ohare.patch
Description: Binary data
Attachment:
PGP.sig
Description: This is a digitally signed message part