From: Benjamin H. <be...@ke...> - 2003-03-25 09:51:33
|
On Tue, 2003-03-25 at 09:57, Bryan Rittmeyer wrote: > wow. inside of open_pic.c, I bet it's code like this > > while (openpic_read(addr) & OPENPIC_ACTIVITY); > > that's showing up. That's interesting. You are raising again an old debate of wether to disable the IRQ during handling on openpic or not, I beleive we don't need to disable it on this PIC, but we do this for "safety" reasons. In fact, I think our openpic_ack_irq() should do something like if (edge) openpic_eoi(); and our openpic_end_irq() something like if (level) openpic_eoi(); Also, the fact that PIC access is slow is a generic "feature" of such chips, I also think we could actually be smarter and only soft-disable IRQs with a flag in the descriptor, and hard disable them if and only if they actually occur while disabled. Ben. |