IRQ problems on IBM 850

Gabriel Paubert paubert at iram.es
Thu Dec 9 20:14:06 EST 1999



On Wed, 8 Dec 1999, David Monro wrote:

> 
> Sorry to reply so late, but I went on holiday.
> 
> Gabriel Paubert wrote:
> > 
> > On Thu, 4 Nov 1999, Hollis R Blanchard wrote:
> > 
> [..]
> > 
> > Using interrupt 13 is strange, to say the least. It was reserved for FPU
> > errors on x86 processors. In your case obviously the interrupts are
> > expected (since you have a timeout) but have stayed masked for some
> > reason. We have to find where this happens. Some code paths might have an
> > unbalanced enable/disable_irq but I suspect that it will be hard to find.
> > 
> 
> Umm. Possible data point which may help here - I cannot cause my machine
> to do anything silly unless I hit two interrupt sources at the same
> time. I can compile kernels on the IDE disk (irq 13) till the cows come
> home if I don't have the ethernet enabled and don't play with the mouse
> too much. If I enable the ethernet (irq 15 I think), or play with the
> mouse a lot (irq 12), sooner or later I die. My (very uneducated) guess
> is that it has something to do with getting two interrupts in a very
> short space of time. I guess I should try thrashing one of the lower 8
> interrupts (serial mouse I guess would do it) and see if that can cause
> problems, or whether it is restricted to the second controller.

Ok, you are definitely on something. The problem is that on my machines I
only ever use one of the high (8-15) interrupts: the mouse. All the other
are routed through the OpenPIC...

Now we have to find where and how these interrutps become masked, this is
likely a stupid blunder.

Could you replace your arch/ppc/kernel/{irq,i8259}.c by the ones included
in the attached tarball ?

It adds a line in /proc/interrupts to check the state of the 8259
registers: 
[root at vcorr1 linux]# cat /proc/interrupts 
           CPU0       
  1:       4201   i8259         keyboard
  2:          0   i8259         82c59 secondary cascade
  4:        198   i8259         serial
 12:         48   i8259         PS/2 Mouse
 16:          0   OpenPIC       82c59 cascade
 18:    4705191   OpenPIC       DC21140 (eth0)
 19:     160631   OpenPIC       ncr53c8xx
BAD:          1
8259 IMR/ISR/IRR = efe9/0000/0040
                   ^^^^
that one is interesting to see if some interrupts become masked
forever. 

	Gabriel.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: testirq.tar.gz
Type: application/octet-stream
Size: 6569 bytes
Desc: Tarball to get more /proc info about i8259 state.
URL: <http://lists.ozlabs.org/pipermail/linuxppc-dev/attachments/19991209/5e81cf1d/attachment.obj>


More information about the Linuxppc-dev mailing list