On Fri, Feb 01, 2013 at 08:22:33AM +1100, Benjamin Herrenschmidt wrote: > On Thu, 2013-01-31 at 12:49 +0200, Michael S. Tsirkin wrote: > > > OK but this appears behind a bridge. So the bridge configuration tells > > the root complex where to send accesses to the VGA. > > Sort-of, again the root complex isn't "sending" anything targeted here. > PCIe is point to point and any device is behind a bridge, real or > virtual. I think we are arguing about terminology here. root complex has a virtual bridge for each port, presumably it examines bridge control for each port to know which link to use for a VGA access. I say presumably because VGA enable bit in bridge control is not listed in spec (but as Alex says some real hardware has it implemented). > > But qemu currently puts devices directly on root bus. > > Sure, because qemu doesn't specifically model PCIe but something "else" > > > And as far as I can tell when we present devices directly on bus 0, we > > pretend these are integrated in the root complex. > > Right, it's a bit gross. > > > The spec seems to > > say explicitly that root complex integrated devices should not use legacy > > addresses or support hotplug. So I would be surprised if such one > > appears in real world. > > Sure but that doesn't change the fact that there's no point in treating > things differently between PCI and PCIe for the sake of address range > decoding. The high level model remains the same. Yes, and it's not by chance. > > Luckily guests do not seem to be worried as long as we use ACPI. > > Right, it all just looks like PCI to the guest anyway and is mostly > treated as such for the sake of routing and decoding (until you turn on > ARI but that's a different can of worms). Right, ARI only affects config cycles. > > > BTW, I've been working on vfio-pci support of VGA assignment which makes > > > use of the VGA arbiter in the host to manipulate the VGA Enable control > > > register, allowing us to select which device to access. The qemu side > > > is simply registering memory regions for the VGA areas and expecting to > > > be used with -vga none, but I'll adopt whatever strategy we choose for > > > hard coded address range support. Current base patches at the links > > > below. Thanks, > > > > > > Alex > > > > > > https://github.com/awilliam/qemu-vfio/commit/ea2befa59010a429dcf13c10dbccdf8b64e82fbd > > > https://github.com/awilliam/linux-vfio/commit/bae182d929229cbf1eaeb01e5fad4f77f81a4c61 > -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html