On 08/03/2013 01:32 PM, Laine Stump wrote:
>>
>> 1) Is this difference intentional, or a bug?
> The vga simply goes into the first free slot. That happens to be #2
> with i440fx and #1 with q35.
It sounds like it's a safe bet to assume that -vga will put the device
on slot 2 for pc machinetypes and slot 1 for q35, no matter what other
devices there are, since -vga is always initialized first. Correct? Do
you see any chance that might change in the future? (e.g. due to some
other new device that needs to be initialized even before vga)
Any future qemu will be new enough to not require the use of -vga, so we
only have to worry about the behavior of 1.5 and earlier with regards to
placement of -vga.
>
>> 2) If it's intentional, will the device always be at slot 1 (and trigger
>> an error if something else is also placed at slot 1), or is it just
>> picking the first unused slot? (that would *not* be good, because we
>> must be able to predict what device is in which slot and prevent them
>> from changing from run to run).
> The vga is the very first (pci) device being created (when selecting via
> -vga), so it gets the slots mentioned above no matter what, even though
> simply picking the first unused slot.
>
>> 3) Does the qxl multihead support really require that the device be at
>> slot 2 (as stated in the above bugzilla commend)? Or is that just a
>> misunderstanding/overstatement?
> It's not required at all. The problem is that on older qemu versions
> (pre-memory-api basically) it was impossible to create functional vga
> devices via -device due to an initialization order issue. Which implies
> you have to use -vga instead, which in turn implies the vga ends up in
> slot #2. On i440fx, but q35 didn't exist yet back then ;)
Are you saying that it's still required to use -vga instead of -device
qxl-vga for pc machinetype? Or that it was needed at one time, but that
is no longer the case? If the latter, is there a reliable way to make
the decision whether or not we need to use -vga?
Regarding the decision on whether to use -device or -vga, our hands are
tied. With qemu 1.5 or earlier, we HAVE to use -vga, where spice
initialization had a bug such that use of -device would not display the
mouse. That bug has been fixed for qemu 1.6, so for qemu 1.6, we prefer
to use -device.
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library
http://libvirt.org