Skip site navigation (1)Skip section navigation (2)
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>