[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]


On Wed, Sep 13, 2000 at 06:10:40AM -0700, ramesh subhash wrote:
> 	Presently i am writing a driver for a data aquisition card
> on LINUX ker ver 2.0.31. Are the physical interrupt lines directly
> mapped to irq numbers(cat /proc/interrupts).
> 1> If so how are they mapped?.
> 2> If more than one device can share a irq line , how is it     
> implemented.
> 3> Whether the kernel takes care of more than one device if the irq line is
> shared or whether the driver writer has to take care about that.
> >From Sreeprakash.

You need to get hold of a PC hardware book - my recommendation is
the "indispensable PC hardware book" and read up about PIC (programmable
interrupt controller) and APIC (Advanced PIC).

Basically, the processor has a single interrupt pin. The controller has
registers corresponding to each IRQ. The registers can be programmed
to remap different physical interrupt lines to different IRQs. In the
case of PCI, the software does the mapping.

About shared interrupts, the OS provides certain infrastructure to implement
shared interrupts. When the interrupt is asserted on a shared interrupt
line, each device driver sharing that IRQ is polled to see if the
interrupt happened on that device.