On Thu, Oct 21, 2010 at 7:08 PM, Scott Duplichan <[email protected]> wrote: > -----Original Message----- > From: [email protected] > [mailto:[email protected]] On Behalf Of Marc > Jones > Sent: Thursday, October 21, 2010 07:47 PM > To: Scott Duplichan > Cc: [email protected] > Subject: Re: [coreboot] how to prevent legacy resource conflict with multiple > VGA cards > > ]On Thu, Oct 21, 2010 at 4:18 PM, Scott Duplichan <[email protected]> wrote: > ]> Hello, > ]> > ]> I have Win7 working well with mahogany_fam10 if I use a PCI > ]> video card. However, Device manager complains that it is unable > ]> to find enough free resources for the UMA graphics controller. > ]> Running an AMI legacy BIOS shows the problem can be solved by > ]> enabling the PCI command register memory and I/O enable bits > ]> for only the graphics card that you are using. Is there a way > ]> to make coreboot do this, and if not, any suggestions on where > ]> best to implement such a feature? > ] > ]Scott, > ] > ]I think that you can define the device you want disabled in > ]devicetree.cb and set it to off. > ] > ]Marc > ]-- > ]http://se-eng.com > > > Hello Marc, > > Thanks for the suggestion. What I am really looking for is the > special handling that a commercial BIOS does for legacy video > devices. Say you have a typical desktop UMA board. If you add a > PCI video card, Windows resource manager will not report any > resource conflicts. The same is not true for coreboot+seabios. > When you add the PCI video card, Windows device manager reports > a resource conflict. > > One detail I forgot to mention in the original email. What is > the exact resource conflict? Coreboot does properly assign > unique bar values for both video devices. However, the PCI class > code tells the OS that in addition to the bars, both video > devices decode memory range a0000-bffff, I/O 3b0-3bb, and I/O > 3c0-3df. So there really is a conflict, and using the pci > command register to turn off memory and I/O decoding for all but > one video card solves the problem.
To disable the command register should be to set the device to off. I think that you really want is the legacy video bit in the device and bridge, VGA pallet snoop and VGA enable in the command register. As far as I know, this isn't something we have had to handle previously. I think that the right way is to add a resource ( like IORESOURCE), but I don't have any implementation ideas beyond that (like how to mark a specific one as the VGA resource.) Maybe Myles or Stefan can comment? Marc -- http://se-eng.com -- coreboot mailing list: [email protected] http://www.coreboot.org/mailman/listinfo/coreboot

