Hi,
>> 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?
Yes.
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)
Highly unlikely. Also libvirt will switch over to use -device for vga
cards, which will make this a moot point.
>> 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?
libvirt has started using -device for vga cards, to be able to place
them in any pci slot. IIRC it's used for qemu 1.1+ or 1.2+. That works
fine for all vga cards except qxl. The bug which broke it for qxl will
be fixed in 1.6 (and probably 1.5.3 too).
cheers,
Gerd