Messages in this thread | | | Date | Tue, 10 Jan 2012 20:03:21 +0800 | Subject | [8259A] Why the irq_desc->handle_irq are set as handle_level_irq() while the ICW1 is set 0x11, which indicates edge mode? | From | Zhihua Che <> |
| |
hi, everyone
I'm reading kernel codes of version 3.1x and now focusing on interrupt subsystem. I find an interesting thing. In x86 architecture, init_8259A() is invoked by init_ISA_irqs() to initialize the chip and precisely, the ICW1 of both master and slave 8259A chip are set as 0x11 which indicates that the both chip are enabled with edge trigger mode. However, I'm wondering why the irq_desc->handle_irq fields of the total 16 IRQ descriptor are set as handle_level_irq() in init_ISA_irqs(). As far as I know, the handle_level_irq() is designed to handle level-mode interrupts. Please Let me know if I miss anything.
Harvey
| |