Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 18 Apr 2003 14:37:55 -0400 (EDT)
From:      John Baldwin <jhb@FreeBSD.org>
To:        "Cagle, John (ISS-Houston)" <john.cagle@hp.com>
Cc:        freebsd-smp@freebsd.org
Subject:   RE: PCI devices behind bridges in APIC Full Table mode
Message-ID:  <XFMail.20030418143755.jhb@FreeBSD.org>
In-Reply-To: <C50AB9511EE59B49B2A503CB7AE1ABD10440E4B3@cceexc19.americas.cpqcorp.net>

next in thread | previous in thread | raw e-mail | index | archive | help

On 18-Apr-2003 Cagle, John (ISS-Houston) wrote:
> With 4.8-stable, I'm having a problem with IRQ routing when a device is
> behind a PCI-to-PCI bridge in a PCI slot (like a dual-port NIC), when
> using APIC "full-table" mode.  It appears that the kernel is not looking
> at the mptable to determine the proper interrupt pin routing for these
> devices.
> 
> Does anyone know if FreeBSD has support for this?  Can someone direct me
> to the area of the kernel to examine?

Eyuck.  The APIC PCI interrupt routing is a hack in 4.x (and still is in
current as well).  It is spread between sys/i386/i386/mpapic.c and this
evilness in sys/pci/pci.c:

static struct pci_devinfo *
pci_readcfg(pcicfgregs *probe)
{
...
#ifdef APIC_IO
                if (cfg->intpin != 0) {
                        int airq;

                        airq = pci_apic_irq(cfg->bus, cfg->slot, cfg->intpin);
                ...
#endif /* APIC_IO */

-- 

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.20030418143755.jhb>