On Fri, 2007-08-31 at 15:26 -0400, Tom Sylla wrote: > [...] > 'setpci' is a common linux tool that will do it. You need to set bit 0 > of offset 30h in config space for that card. Then you can read from > the memory location reported by lspci.
I see. So it is OK the alter the PCI config behind the kernel's back, in other words? > You could also just read the > shadowed version in the c000 segment. Since I have three cards in this machine, though, I don't think there is any way for me to know which one is shadowed there at the moment, right? Generally, I wonder how the X server manages this thing. If I'm not mistaken, some drivers routinely call into its card's VGA BIOS to do various things whose real interfaces are undocumented. But the VGA BIOS must reasonably expect to be able to access the card through the VGA registers, as it cannot know where the card's PCI resources have been mapped, right? Therefore, I guess that the X driver has to tell the card to start decoding VGA addresses before running the BIOS code and then tell it to stop again after the BIOS code returns (if it didn't tell it to stop, it would never work with several cards in a system). But when running more than one X server (I currently run three servers, one for each card), there has to be some mutual exclusion device to make sure that only one card decodes VGA addresses at a time. I think I will try and look through some X drivers for hints on how it is done. Fredrik Tolf _______________________________________________ Open-graphics mailing list [email protected] http://lists.duskglow.com/mailman/listinfo/open-graphics List service provided by Duskglow Consulting, LLC (www.duskglow.com)
