PCI rework

Michael Lorenz macallan at netbsd.org
Tue May 2 14:02:33 PDT 2006


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hello,

>>>>> there's a good reason not to do it: Many PCI devices put mappable
>>>>> memory addresses in config space outside the standard PCI BARs.  
>>>>> What
>>>>> you really need is an interface to read from PCI config space and 
>>>>> an
>>>>> interface to map physicall addresses on the pci bus into memory.  
>>>>> Some
>>>>> standard helper functions to decode the standard BARs is certainly
>>>>> desirable.
>>>>
>>>> Excluding legacy VGA memory, can you name any?
>>
>> Wacky (embedded) VGAs. The IGS 1682 for instance maps blitter 
>> registers
>> to a fixed IO address which doesn't show up in any BAR. In fact this
>> chip has only one BAR, for the framebuffer.
>
> I believe that drivers for devices like this are "on their own" with 
> the
> current code already.  That is, they have to use something other than
> xf86MapPciMem even in the current code.  If that's not the case, then
> we'll need to add something to support those types of devices.

You asked for an example, you got one ;)

> Of course, I don't see a driver for that device any. :P

I might want to write one at some point. NetBSD runs on several 
machines with onboard IGS graphics chips ( JavaStation Krups, Digital 
Shark, Netwinder etc. ) which have no real X support right now. 
Currently we're using wsfb with OS-supplied hardware cursor support on 
the Krups but that's kind of suboptimal.

And something else - some machines might have more than one PCI host 
bridges and these might map their IO ranges to different physical 
addresses. An example for this is the PowerMac 9500 or any other old 
world Mac with more than one bandit. Might be worth keeping in mind 
when redesigning the PCI interface.

have fun
Michael
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (Darwin)

iQEVAwUBRFfI6cpnzkX8Yg2nAQK5ngf+Ohuo7OApvFh2kGCDpVrmxyrdDOC3HOwg
fJn535tsHbQSERKZ7CgSu0L4mgmmiNm85P9V/q523Ng/crB6JrdHXZ/9G1n6oZEt
VkMau40O4MP9ofhccGBKBLsvExbfEEIlud3CgGunncS1jUDNv4glvpGJgvvpcUgw
jdPMk3CxNbX2PW8C4IjMaYdTnhmZsLhAQDmacjX+yKAoHTXtOLqCOVL7lu6ZiIxB
7IhIAd/DTzFxFmmG3lK43igX4FDwOJYZQP6yNQuyGMcLmvFLPcUJCgo2f5LUuiXO
BwaerXclNU3sXX1DhPMxSvCvvJqxHe0PK+TxEhNc21ogmbN8ii4HUg==
=7Bky
-----END PGP SIGNATURE-----




More information about the xorg mailing list