Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 14 Jun 2004 21:49:09 +0200 (CEST)
From:      Barry Bouwsma <freebsd-misuser@remove-NOSPAM-to-reply.NOSPAM.dyndns.dk>
To:        Hackers Haven <freebsd-hackers@freebsd.org>
Subject:   Re: pci_cfgintr: can't route an interrupt ...
Message-ID:  <200406141949.i5EJn8n01266@Mail.NOSPAM.DynDNS.dK>
References:  <200312230007.hBN07lr03615@NOSPAM.spam.NOSPAM.spam.NOSPAM.dyndns.dk> <XFMail.20031223110716.jhb@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
This message is ancient, but I finally got things (sort of) working
just now.  More context can be found in the first message in this thread


On Tue, 23 Dec 2003, John Baldwin wrote:
> On 23-Dec-2003 Barry Bouwsma wrote:
> 
> > There was a thread about this in this list back in late may of 2003.
> > I recently found a mainboard which exhibits this problem with one particular
> > card I have -- a combi OHCI+EHCI USB card with firewire, and an on-card
> > HiNT PCI-PCI bridge.

> FreeBSD-4 is not going to route interrupts correctly across an onboard
> PCI-PCI bridge or any devices behind it.  FreeBSD-5 will, but 4.x will
> not.  Try disabling PNP OS in your BIOS if you have it set to get the
> BIOS to route all the interrupts if possible.

Well, I decided to take the easy way out.  I saw nothing in the BIOS of
this particular machine that would make any difference (no PNP OS choice).
Rather than using an older machine whose BIOS does assign interrupts to
every controller, or buying a newer machine, or using 5.x, I decided to
try to hack in parts of -current into 4.x to make it work.

And I had some success.  But the hacks really aren't worthy of public
sharing, since, for starters, the assign_interrupt_method kept wanting
to give me irq 6 -- the floppy controller irq which is assigned later
in the boot.  Certainly my fault.  I have a handful of ideas for what
could be wrong here.

But I hacked around this by overriding the irq to something reasonable,
and that worked, although I had to set the values precisely for things
to work (intpin b to irq 11; intpin c to irq 10).  And work it did,
and I was overjoyed.  Problems were observed elsewhere, as expected.
But finally I could access devices on these two controllers.


Unfortunately, I don't know what I'm doing enough to have created
a clean patch that Just Works with 4.x, which is what I had hoped
to offer in a message like this one, to be able to share and enjoy.

sorry,
barry bouwsma



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200406141949.i5EJn8n01266>