Hi With whatever i could trace out, for an i386 machine i think with SMP aware kernel (2.6.7) the code in i8259.c doesn't comes into picture. All the relevent code resides in files io_apic.c (in arch/i386/kernel dir) and the function for acknowleding interrupt is ack_edge_iopic_irq. (There was a corresponding entry for level type also) which basically write a 0 at APIC_BASE+APIC_EOI. Please correct me if my understanding is not right. Also.. If we have made a call to local_irq_disable, does the processor ignores "timer interrupt" as well i.e is timer interrupt a maskable interrupt. TIA sanjayk On Tue, 21 Sep 2004 Dhiman,Gaurav wrote : > > >For i8259A APIC, you can see all the functions for hardware interrupts >at following link: >http://lxr.linux.no/source/arch/i386/kernel/i8259.c?v=2.4.21#L150 > >For IO-APIC, you can find the corresponding function at: >http://lxr.linux.no/source/arch/i386/kernel/io_apic.c#L147 > > > >But I think for enabling, disabling, masking and acknowledging the first >16 interrupts, kernel always use the function defined in i8259.c. For >interrupts vectors numbers which are greater than 15 (that means >interrupts from 16 - 255), kernel uses the functions defined in >io_apic.c > > > >I might be wrong, do correct me if I am wrong. > > > >Regards, > >Gaurav > > > > _____ > > From: sanjayk [mailto:tousanjay@xxxxxxxxxxxxxx] >Sent: Tuesday, September 21, 2004 6:19 PM >To: kernelnewbies@xxxxxxxxxxxx >Cc: Dhiman, Gaurav >Subject: how to mask and ack irq > > > > > >please ignore this mail if it has appeared again. > >hi all >I am facing problem in identifying which >routine is called when > >desc->handler->ack() call is made from >do_IRQ function in irq.c (i386) > >AFAIK if I compile my kernel without SMP support >the corresponding routine reside in i8259.c by >the name mask_and_ack_irq > >But what routine is called when the kernel is compiled with SMP >support. > >TIA >sanjayk > > > > <http://clients.rediff.com/signature/track_sig.asp> >