Re: [Qemu-devel] KVM call minutes 2013-01-29 - Port I/O

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux