On 19 Aug, this message from Ryan Nielsen echoed through cyberspace:
Michel Lanners wrote:
quoted
quoted
isa_io_base is set to the address of bus 0 !
so inl() and friends use wrong address for cards on bus 1.
That's expected (and broken) behaviour right now; I know how to correct
the problem, but I need to do some hacking to get it coded right.
What are you plannering ?
I got tulip working by #define _IO_BASE DRIVER_IO_BASE (ifdef) in asm/io.h
and define DRIVER_IO_BASE to a value from pci_io_base(bus) in tulip.c
Fixing IO space addresses in the kernel pci structs, so that any driver
referencing the pci structs gets the right kernel virtual address for
the ports without fiddling with _IO_BASE. In fact, it means adding an
offset to the address reported in the PCI device's config registers.
This offset id provided by the parent bus bridge.
Michel
-------------------------------------------------------------------------
Michel Lanners | " Read Philosophy. Study Art.
23, Rue Paul Henkes | Ask Questions. Make Mistakes.
L-1710 Luxembourg |
email mlan@cpu.lu |
http://www.cpu.lu/~mlan | Learn Always. "
[[ This message was sent via the linuxppc-dev mailing list. Replies are ]]
[[ not forced back to the list, so be sure to Cc linuxppc-dev if your ]]
[[ reply is of general interest. Please check http://lists.linuxppc.org/ ]]
[[ and http://www.linuxppc.org/ for useful information before posting. ]]