>> We need a way to use multiple ioBases from inside xfree to fix the problem. >> The best solution will be to disable ISA I/O for now and get a better fix >> later on. > >No, that's not the solution. The solution is to get the kernel to return >the *correct* iobase for the sepecific devfn, right now it returns one for >any and all pci devices. Since these strange UniN boards have multiple >bases, it should take into consideration the devfn (which it currently >ignores totally). > >Michel, find out your 2 (or 3?) iobases and try each one (hardcode it in >X, set it for ioBase_phys) and see which one works. When you find the >right one, add that to the kernel syscall, or find a generic way to find >the mask which sets those on that bus apart from others.
What kernel is this ? The kernel syscall is supposed to return the proper iobase for the card and does indeed handle uninorth properly, at least on 2.4. I have to check what's up with 2.2 (didn't play with it for a long time). The "ultimate" fix is however to implement davem /proc stuff properly. However, this would probably require more hacking as even internally, the PPC kernel is currently unable to properly do inx/outx-like IOs on anything but the external PCI bus. Ben.