Date: Sat, 07 Jun 2003 11:06:50 -0400 (EDT) From: John Baldwin <jhb@FreeBSD.org> To: John Baldwin <jhb@FreeBSD.org> Cc: cvs-all@FreeBSD.org Subject: RE: cvs commit: src/sys/dev/pci pci.c Message-ID: <XFMail.20030607110650.jhb@FreeBSD.org> In-Reply-To: <XFMail.20030607110134.jhb@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On 07-Jun-2003 John Baldwin wrote: > > On 07-Jun-2003 John Baldwin wrote: >> jhb 2003/06/07 08:00:19 PDT >> >> FreeBSD src repository >> >> Modified files: >> sys/dev/pci pci.c >> Log: >> - Adjust the comment about re-routing PCI interrupts to be less >> ia64-specific. >> - When trying to re-route interrupts, don't change cfg->intline if the >> re-route fails by returning an invalid vector. This fixes machines >> without any way of routing interrupts such as older PC's without a >> $PIR table. >> >> We do not currently write the new intline value back to the hardware, but >> we should. That will likely be added in a later commit. > > I committed this now to fix machines w/o $PIR tables. I will try to work > on a patch to write the new interrupt back to the hardware. Looks like this: Index: pci.c =================================================================== RCS file: /home/ncvs/src/sys/dev/pci/pci.c,v retrieving revision 1.217 diff -u -r1.217 pci.c --- pci.c 7 Jun 2003 15:00:19 -0000 1.217 +++ pci.c 7 Jun 2003 15:06:25 -0000 @@ -806,9 +806,10 @@ * have. */ irq = PCIB_ROUTE_INTERRUPT(pcib, dev, cfg->intpin); - if (PCI_INTERRUPT_VALID(irq)) + if (PCI_INTERRUPT_VALID(irq)) { + pci_write_config(dev, PCIR_INTLINE, irq, 1); cfg->intline = irq; - else + } else #endif irq = cfg->intline; resource_list_add(rl, SYS_RES_IRQ, 0, irq, irq, 1); -- 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?XFMail.20030607110650.jhb>