Date: Sun, 03 Jun 2001 00:34:44 -0700 From: Mike Smith <msmith@freebsd.org> To: Andrew Gallatin <gallatin@cs.duke.edu> Cc: John Baldwin <jhb@FreeBSD.ORG>, alpha@FreeBSD.ORG Subject: Re: PCI Interrupt Routing Broken on my Miata Message-ID: <200106030734.f537Yic04556@mass.dis.org> In-Reply-To: Your message of "Thu, 31 May 2001 14:22:18 EDT." <15126.35802.41704.920301@grasshopper.cs.duke.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
> > OK, it turns out that its not as simple as I thought.. > pcib_route_interrupt() doesn't using my hack. I had a feeling my hack > was too simple. If pcib_route_interrupt isn't calling your hack, you've just inserted it at the wrong level. The PCI host bridge code should implement this method; if you've inserted it in the nexus, then it's probably not working right. Note that the PC faces exactly the same issues that the Alpha does; intline registers uninitialised or with bogus values, so the same approach should work on both platforms. It makes sense to me to use the platform structure to hold the switch function; just make sure that when you set it up, you give it a hose arg as well, for reasons that should be obvious. Please don't call it "nonsense". I prefer "garbage", myself. 8) > I think what we'll need to do to make all platforms work is to: > > a) Undo the breakage I just introduced > > b) Undo the platform changes that msmith made earlier this year when > this intr routing nonsense was introduced. By this, I mean that the > platform.pci_intr_map and all its implementations come back exactly as > they are in -stable > > c) Have all the chipset read_config routines call > alpha_platform_assign_pciintr() in the case of a read of INTLINE > alpha_platform_assign_pciintr() conses up cfgregs & calls the relavent > platform routine, or returns 255 > > > d) Have have alpha_pci_route_interrupt() call > alpha_platform_assign_pciintr(). > > Opinions? > > Drew > > > To Unsubscribe: send mail to majordomo@FreeBSD.org > with "unsubscribe freebsd-alpha" in the body of the message -- ... every activity meets with opposition, everyone who acts has his rivals and unfortunately opponents also. But not because people want to be opponents, rather because the tasks and relationships force people to take different points of view. [Dr. Fritz Todt] V I C T O R Y N O T V E N G E A N C E To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-alpha" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200106030734.f537Yic04556>