Re: RE: how to mask and ack irq

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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>
>

[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux