El Wed, Apr 11, 2007 at 04:15:16PM +0530 Sikandar Khan ha dit: > Hi All, > > Plese help me in understanding the below text > > Regardless of the kind of circuit that caused the interrupt, all I/O > interrupt handlers perform the same four basic actions: > > 1. Save the IRQ value and the register's contents on the Kernel Mode > stack. > > 2. Send an acknowledgment to the PIC that is servicing the IRQ line, thus > allowing it to issue further interrupts. > > 3. "Execute the interrupt service routines (ISRs) associated with all the > devices that share the IRQ." > > 4. Terminate by jumping to the ret_from_intr( ) address. > > What does the point 3 mean ? > > The kernel can recognise which isr to run based on the device id .Does the > kernel run all the ISRs associated with the shared IRQs and based on the > device id run only the one matching it . Can any one explain this in more > detail ? the kernel doesn't know the device id of the device that generated the interrupt. it invokes all ISRs that share the line, passing the their respective device id and it's the device drivers responsability to figure out whether its associated device generated the interrupt or not. for more information have a look at the thread "how the interrupt handler(ISR) knows the source of interrupt ?" opened the 27/03/07 on this list. -- Matthias Kaehlcke Linux Application Developer Barcelona You can't separate peace from freedom because no one can be at peace unless he has his freedom (Malcolm X) .''`. using free software / Debian GNU/Linux | http://debian.org : :' : `. `'` gpg --keyserver pgp.mit.edu --recv-keys 47D8E5D4 `- -- To unsubscribe from this list: send an email with "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx Please read the FAQ at http://kernelnewbies.org/FAQ