Alphastation 200 (and others) PCI-PCI bridge fix

Michael Kukat michael at unixiron.org
Mon Jun 28 09:14:35 PDT 2004


Hi again,

On Mon, 28 Jun 2004, Bernd Walter wrote:
> The IRQs on the AS200 should be shareable as on every PCI architecture.

- implemented

> We already have generic code to do interrupt routing over bridges.
> See Rev 1.14 in dec_axppci_33.c for a example on how to use it.
> It's quite simple to do - getting someone with hardware to test is the
> biggest challenge.

- scheduled for soon, need to upgrade to 5.x first

my current state is attached. This is now tested with the ANA-62044, which
really uses 4 IRQs through the bridge. Following configuration:

ANA-62044 in slot 3 of AlphaStation 200, leading to the following IRQ layout:

onboard de0 - IRQ 5
sf0 - IRQ 15
sf1 - IRQ 14
sf2 - IRQ 5
sf3 - IRQ 15

(maybe i confused IRQ 14/15 :)

Tested:

load on sf0 and sf1, on de0 and sf2 and on sf0 and sf3, thus meaning all
combinations of single IRQ, shared on-card and shared on 2 different devices.

Test was done by simply running ping -f through the machine acting as router,
and running ping -f from 2 external hosts onto the alpha in parallel. All tests
ran through without any problems, peak load was about 20000 interrupts/s
(sf0/sf3).

So... this hack can be considered stable and might especially help 4.x-users.

I'll try to re-use this interrupt shareable flag handling in the newer version
using the new routing devmethod functionality. Didn't find a better way to
implement it. And usually sharing IRQs between "ISA devices" is not common :)

...Michael

-- 
http://www.unixiron.org/    Home Powered by: (Net|Open|Free)BSD IRIX NonStop-UX
Solaris AIX HP-UX Tru64 MUNIX Ultrix VMS SINIX Dolphin_Unix OpenStep MacOS A/UX


More information about the freebsd-alpha mailing list