Skip site navigation (1)Skip section navigation (2)
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>