Date: Wed, 7 Dec 2005 15:33:02 -0500 From: John Baldwin <jhb@freebsd.org> To: freebsd-current@freebsd.org Cc: darren.pilgrim@bitfreak.org, current@freebsd.org, "M. Warner Losh" <imp@bsdimp.com> Subject: Re: can someone explain...[ PCI interrupts] Message-ID: <200512071533.04396.jhb@freebsd.org> In-Reply-To: <439724E0.3020102@samsco.org> References: <018e01c5fafe$c9154a20$642a15ac@smiley> <20051207.105722.60788677.imp@bsdimp.com> <439724E0.3020102@samsco.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wednesday 07 December 2005 01:07 pm, Scott Long wrote: > M. Warner Losh wrote: > > In message: <018e01c5fafe$c9154a20$642a15ac@smiley> > > > > "Darren Pilgrim" <darren.pilgrim@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@FreeBSD.org> <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve" = http://www.FreeBSD.org
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200512071533.04396.jhb>