On 03/15/2013 12:33 PM, Eric Blake wrote: > This reverts commit 5ac846e42e5b7e0475f6aa9cc1e0b0c8dac84d44. Ping - this really needs to go in 1.0.4. > > After further discussions with Alon Levy, I learned the following: > > The use of '-vga qxl' vs. '-device qxl-vga' is completely orthogonal > to whether ram_size can be exposed. Downstream distros are interested > in backporting support for multi-head qxl, but this can be done in > one of two ways: > 1. Support one head per PCI device. If you do this, then it makes > sense to have full control over the PCI address of each device. For > full control, you need '-device qxl-vga' instead of '-vga qxl'. > 2. Support multiple heads through a single PCI device. If you do > this, then you need to allocate more RAM to that PCI device (enough > ram to cover the multiple screens). Here, the device is hard-coded > to 0:0:2.0, both in qemu and libvirt code. > > Apparently, backporting ram_size changes to allow multiple heads in > a single device is much easier than backporting multiple device > support. Furthermore, the presence or absence of qxl-vga.surfaces > is no different than the presence or absence of qxl-vga.ram_size; > both properties can be applied regardless of whether you have one > PCI device (-vga qxl) or multiple (-device qxl-vga), so this property > is NOT a good witness of whether '-device qxl-vga' support has been > backported. > > Downstream RHEL will NOT be using this patch; and worse, leaving this > patch in risks doing the wrong thing if compiling upstream libvirt > on RHEL, so the best course of action is to revert it. That means > that libvirt will go back to only using '-device qxl-vga' for qemu >> = 1.2, but this is just fine because we know of no distros that plan > on backporting multiple PCI address support to any older version of > qemu. Meanwhile, downstream can still use ram_size to pack multiple > heads through a single PCI device. > --- > src/qemu/qemu_capabilities.c | 7 ------- > tests/qemuhelpdata/qemu-1.2.0-device | 16 ---------------- > tests/qemuhelpdata/qemu-kvm-0.12.1.2-rhel62-beta-device | 10 ---------- > tests/qemuhelpdata/qemu-kvm-1.2.0-device | 16 ---------------- > 4 files changed, 49 deletions(-) > > diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c > index 519d2c5..9a1b781 100644 > --- a/src/qemu/qemu_capabilities.c > +++ b/src/qemu/qemu_capabilities.c > @@ -1387,10 +1387,6 @@ static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsUsbHost[] = { > { "bootindex", QEMU_CAPS_USB_HOST_BOOTINDEX }, > }; > > -static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsQxlVga[] = { > - { "surfaces", QEMU_CAPS_DEVICE_VIDEO_PRIMARY }, > -}; > - > struct virQEMUCapsObjectTypeProps { > const char *type; > struct virQEMUCapsStringFlags *props; > @@ -1424,8 +1420,6 @@ static struct virQEMUCapsObjectTypeProps virQEMUCapsObjectProps[] = { > ARRAY_CARDINALITY(virQEMUCapsObjectPropsUsbRedir) }, > { "usb-host", virQEMUCapsObjectPropsUsbHost, > ARRAY_CARDINALITY(virQEMUCapsObjectPropsUsbHost) }, > - { "qxl-vga", virQEMUCapsObjectPropsQxlVga, > - ARRAY_CARDINALITY(virQEMUCapsObjectPropsQxlVga) }, > }; > > > @@ -1623,7 +1617,6 @@ virQEMUCapsExtractDeviceStr(const char *qemu, > "-device", "usb-redir,?", > "-device", "ide-drive,?", > "-device", "usb-host,?", > - "-device", "qxl-vga,?", > NULL); > /* qemu -help goes to stdout, but qemu -device ? goes to stderr. */ > virCommandSetErrorBuffer(cmd, &output); > diff --git a/tests/qemuhelpdata/qemu-1.2.0-device b/tests/qemuhelpdata/qemu-1.2.0-device > index 027d99a..5613e00 100644 > --- a/tests/qemuhelpdata/qemu-1.2.0-device > +++ b/tests/qemuhelpdata/qemu-1.2.0-device > @@ -208,19 +208,3 @@ usb-host.bootindex=int32 > usb-host.pipeline=on/off > usb-host.port=string > usb-host.full-path=on/off > -qxl-vga.ram_size=uint32 > -qxl-vga.vram_size=uint32 > -qxl-vga.revision=uint32 > -qxl-vga.debug=uint32 > -qxl-vga.guestdebug=uint32 > -qxl-vga.cmdlog=uint32 > -qxl-vga.ram_size_mb=uint32 > -qxl-vga.vram_size_mb=uint32 > -qxl-vga.vram64_size_mb=uint32 > -qxl-vga.vgamem_mb=uint32 > -qxl-vga.surfaces=int32 > -qxl-vga.addr=pci-devfn > -qxl-vga.romfile=string > -qxl-vga.rombar=uint32 > -qxl-vga.multifunction=on/off > -qxl-vga.command_serr_enable=on/off > diff --git a/tests/qemuhelpdata/qemu-kvm-0.12.1.2-rhel62-beta-device b/tests/qemuhelpdata/qemu-kvm-0.12.1.2-rhel62-beta-device > index 5eab539..ee0fd78 100644 > --- a/tests/qemuhelpdata/qemu-kvm-0.12.1.2-rhel62-beta-device > +++ b/tests/qemuhelpdata/qemu-kvm-0.12.1.2-rhel62-beta-device > @@ -118,13 +118,3 @@ virtio-net-pci.addr=pci-devfn > virtio-net-pci.romfile=string > virtio-net-pci.rombar=uint32 > virtio-net-pci.multifunction=on/off > -qxl-vga.ram_size=uint32 > -qxl-vga.vram_size=uint32 > -qxl-vga.revision=uint32 > -qxl-vga.debug=uint32 > -qxl-vga.guestdebug=uint32 > -qxl-vga.cmdlog=uint32 > -qxl-vga.addr=pci-devfn > -qxl-vga.romfile=string > -qxl-vga.rombar=uint32 > -qxl-vga.multifunction=on/off > diff --git a/tests/qemuhelpdata/qemu-kvm-1.2.0-device b/tests/qemuhelpdata/qemu-kvm-1.2.0-device > index ebc27f0..879a049 100644 > --- a/tests/qemuhelpdata/qemu-kvm-1.2.0-device > +++ b/tests/qemuhelpdata/qemu-kvm-1.2.0-device > @@ -220,19 +220,3 @@ usb-host.bootindex=int32 > usb-host.pipeline=on/off > usb-host.port=string > usb-host.full-path=on/off > -qxl-vga.ram_size=uint32 > -qxl-vga.vram_size=uint32 > -qxl-vga.revision=uint32 > -qxl-vga.debug=uint32 > -qxl-vga.guestdebug=uint32 > -qxl-vga.cmdlog=uint32 > -qxl-vga.ram_size_mb=uint32 > -qxl-vga.vram_size_mb=uint32 > -qxl-vga.vram64_size_mb=uint32 > -qxl-vga.vgamem_mb=uint32 > -qxl-vga.surfaces=int32 > -qxl-vga.addr=pci-devfn > -qxl-vga.romfile=string > -qxl-vga.rombar=uint32 > -qxl-vga.multifunction=on/off > -qxl-vga.command_serr_enable=on/off > -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
Attachment:
signature.asc
Description: OpenPGP digital signature
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list