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 recorded our info in the underlying pci register. Don't know if that will matter for other OSes that are booted after we are. WarnerReceived on Fri Jun 06 2003 - 09:37:10 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:10 UTC