> 3B4h is in I/O space.  And it's not in a BAR-mapped space.  When our
> PCI controller sees that address (and we've enabled VGA), it decodes a
> limited range of "legacy" I/O space addresses.  These are the only I/O
> space addresses we support.  All others are memory space.
>
> Since these legacy addresses are not allocated to a particular device,
> there are certainly concerns in a PC system about more than one device
> attempting to accept them.  I think the correct thing to do is have
> the first VGA device figure out that it was initialized first (there's
> a certain order in which a PC BIOS initializes devices, with the
> console gfx card being very early) and be the only one to enable the
> decode.  (Enabling the decode would be device-dependent, I would
> imagine.)

I don't know the exact details, but I'm fairly sure the system bios handles 
this.  ie. it only initializes the VGA bios for one card. Other devices are 
just setup as regular PCI devices, and it's up to the OS to "boot" secondary 
VGA devices. Many BIOS have a setting that lets you choose whether to prefer 
AGP or PCI VGA cards.

My guess is that there's a bit in the in the option ROM header that says "I'm 
a VGA card". Either that or it just goes off the PCI class.

Paul
_______________________________________________
Open-graphics mailing list
[email protected]
http://lists.duskglow.com/mailman/listinfo/open-graphics
List service provided by Duskglow Consulting, LLC (www.duskglow.com)

Reply via email to