can someone explain...[ PCI interrupts]
jhb at freebsd.org
Wed Dec 7 12:41:55 PST 2005
On Wednesday 07 December 2005 01:07 pm, Scott Long wrote:
> M. Warner Losh wrote:
> > In message: <018e01c5fafe$c9154a20$642a15ac at smiley>
> > "Darren Pilgrim" <darren.pilgrim at bitfreak.org> writes:
> > : From: John Baldwin
> > :
> > : > The reason [for masking interrupts] is that PCI interrupts are level
> > : > triggered, so they won't "shut up" until the ISR has run and pacified
> > : > the PCI device.
> > :
> > : But PCI interrupts can be programmed either level- or edge-triggered,
> > : so wouldn't programming to edge-triggered interrupts solve the "they
> > : won't shut up" issue?
> > PCI interrupts are level. There's no way to program them otherwise.
> > Warner
> While electrically they are level, the APIC can be programmed to pass
> them on either level or edge. Once you get into MSI, the distinction
> becomes very muddy.
That's not for delivery, that's for how the APIC interprets the signals you
see. See my earlier e-mail why misprogramming the APIC would hose things.
MSI is a whole different ball of wax entirely in that regard.
John Baldwin <jhb at FreeBSD.org> <>< http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve" = http://www.FreeBSD.org
More information about the freebsd-current