<br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Actually it should work because in devices\device.c is the set_vga_bridge_bits() function. This function<br>

scans all the devices for PCI_BASE_CLASS_DISPLAY and PCI_CLASS_DISPLAY_OTHER. So<br>
I guess 00.02.00 or 00.03.00 should be assigned with the PCI_BRIDGE_CTL_VGA as it will be the<br>
first found.</blockquote><div>Setting up VGA for PCI: 07:00.0<br>
Setting PCI_BRIDGE_CTL_VGA for bridge PCI: 03:04.0<br>
Setting PCI_BRIDGE_CTL_VGA for bridge PCI: 02:00.0<br>
Setting PCI_BRIDGE_CTL_VGA for bridge PCI: 00:03.0<br>
Setting PCI_BRIDGE_CTL_VGA for bridge PCI_DOMAIN: 0000<br>
Setting PCI_BRIDGE_CTL_VGA for bridge Root Device<br>
Allocating resources...<br><br>00:03.0 is on the list, so it will be the one assigned.<br> <br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

Now in the PCIe init function, the code pointed by Myles would be correct. Actually the device with<br>
PCI_BRIDGE_CTL_VGA set gets BCTRL.VGAEN flag set.<br>
<br>
I think it should be ok, right?</blockquote><div>I just looked in pci_device.c, and the code there sets the bits in pci_enable_resources() instead of init().  I'm not sure why that is, but you might want to follow that lead for consistency.<br>
<br>Thanks,<br>Myles<br></div></div><br>