Port-sparc64 archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: lost interrupt on Blade 100/150 with "newer" OBP




Rather than look at the differences in code bases it might be easier to just debug the problem.
The last time I try to build a kdbg kernel for sparc64 doesn't work for me. The serial port wasn't buildable with kdbg or simply don't work (can't remember in detail). I asked on the list and got reply it is not working.
So If you have some newer information about this, please go ahead...
What you can do is do something to trigger the interrupt at the IDE driver, then examine the interrupt diagnostic registers to see which interrupt is in the pending state. This will tell you what the mondo for that interrupt really is. Then by comparing that to the results of OF_mapintr() you can probably find and fix the bug.
as I already try to explain, in OF_mapintr and all functions which are called by mapintr are the same - based on OpenBSD 3.3. So this can't be the problem. Maybe there are side effects. But this isn't so trivial. (at least for me)

But never the less I found some code, wich is strange to me. I missing some va_ends in OF_interpret function of Sparcs openfirmware.c. I compared the function to openbsd at it looks different. There are several va_ends. I don't have a specification for openfirmware interface, but I think it is odd to do a va_start without completing the call with va_end. For me it is like malloc/new <-> free/delete. At least a comment should be added, if it is really ok.

Best Regards
Stephan


Home | Main Index | Thread Index | Old Index