On Wed, Dec 12, 2001 at 03:02:19AM -0800, Terry Lambert wrote: > How is setting a local register when an interrupt is triggered > antithetical to such cards working? I know of several network > cards where I've personally hacked on the driver that have such > a register. > > It's not possbile to take a shared interrupt and not run the ISR, > but it's possible for the ISR to check the register and decide on > that basis, rather than on data availability, that it will or will > not do work. > > I think that everyone now "gets" that PCI interrupts are like > signals, in that they are persistant conditions, so more than one > card asserting them doesn't change the fact that "an interrupt" > was asserted, and there's no way to tell _from the interrupt_ > which cards did or did not assert it in the first place. But we > are talking about an extra hardware register on the card that the > card sets when it asserts an interrupt, so an ISR can look to ask > the card "did you assert an interrupt?" and decide not to process > if the answer is "no". > > The Tigon II interrupt sharing in fact depends on this, or when > you had two Tigon II cards, you migh spend the rest of eternity in > the ISR.
I never understood why the PCI-bus is not a interupt vector design. -- B.Walter COSMO-Project http://www.cosmo-project.de [EMAIL PROTECTED] Usergroup [EMAIL PROTECTED] To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message

