Subject: Re: PCI memory space mapping on RD94/JC94
To: Shuichiro URATA <ur@a-r.org>
From: Simon Burge <simonb@wasabisystems.com>
List: port-arc
Date: 06/24/2001 19:20:59
Shuichiro URATA wrote:

> At Sat, 23 Jun 2001 00:35:33 +0900 (JST),
> Izumi Tsutsui wrote:
> > 
> > Maybe we have to fixup PCI? (with sys/dev/pci/pciconf.c ?)

From what I understand, arc doesn't use pciconf.c - that's only used
when you have the PCI_NETBSD_CONFIGURE option in your kernel config.

> I think just disabling expansion ROM is enough.

Very weird...  I'm seeing similar lossage on the PowerPC 405GP based
"walnut" port with the sip driver (I don't have an siop to test with).
I've confirmed that at least the tlp driver works with memory mapped
register I/O, so it's not a generic memory mapped problem.  On that
port, we use pciconf.c to set up PCI, and the expansion ROM _isn't_
overlapping with anything at all, yet disabling expansion ROM setup in
pciconf.c for all PCI devices allows the sip driver to work!

I'm not that PCI savvy - is the expansion ROM expected to contain x86
code, and hence is useless on other architectures (unless they supply
an x86 emulator like Alpha SRM does for vga initialisation)?

Also, given that at least (some?) sip's and siop's are affected, I'm
wondering if disabling all ROM mapping is the simplest answer (for the
walnut port).

It also begs the questions of why this works on some architectures and
not others, and what the expansion ROM mapping looks like on those
architectures where it does and doesn't work.

Simon.
--
Simon Burge                            <simonb@wasabisystems.com>
NetBSD CDs, Support and Service:    http://www.wasabisystems.com/