[PATCH] Tweak re-routing of PCI interrupts
Bernd Walter
ticso at cicely12.cicely.de
Fri Jun 6 12:13:32 PDT 2003
On Fri, Jun 06, 2003 at 12:36:54PM -0600, M. Warner Losh wrote:
> In message: <XFMail.20030606141331.jhb at FreeBSD.org>
> John Baldwin <jhb at FreeBSD.org> writes:
> : I have a small tweak to the PCI code that re-routes PCI interrupts.
> : Basically, it does two things, 1) make the comment less ia64-specific
> : and 2) if the interrupt route returns an invalid IRQ (i.e. 255), then
> : we don't change the intline. In other words, if we can't route the
> : interrupt, we just assume that the firmware knows more than we do and
> : go with the value it stuck in the register. 1) is a no-brainer, but
> : I wonder what people think about 2). Patch below:
>
> I think #2 isn't so good. #1 is a no-brainer :-)
>
> : #if ...
> ...
> : + irq = PCIB_ROUTE_INTERRUPT(pcib, dev, cfg->intpin);
> : + if (PCI_INTERRUPT_VALID(irq))
> : + cfg->intline = irq;
> : + else
> : #endif
> : + irq = cfg->intline;
> : + resource_list_add(rl, SYS_RES_IRQ, 0, irq, irq, 1);
> : }
> : }
>
> The part I don't like is that if we can't route an interrupt, we
> assume that the interrupt that was written there before is good and
> routed. This strikes me as an unwise assumption. Also, we haven't
Unless you find a reliable way to ask the BIOS how the board is wired,
whatelse would you do than trust the inline register?
> recorded our info in the underlying pci register. Don't know if that
> will matter for other OSes that are booted after we are.
--
B.Walter BWCT http://www.bwct.de
ticso at bwct.de info at bwct.de
More information about the freebsd-current
mailing list