[libvirt] [PATCH v3 0/6] improve setting video memory

Pavel Hrdina phrdina at redhat.com
Thu Nov 20 19:21:06 UTC 2014


As it was pointed out that QEMU needs that the video memory size should be
rounded to power of two this patch series introduces new macro to round number
to power of two. There are two special cases (more description in the commit
message).

This patch series also fixes few issues that I've found with using vram
attribute and possible some bugs (for example if you set vram for QXL to 0, we
pass the 0 to QEMU which is wrong and we shouldn't pass anything).

There were also wrong usage of primary 'qxl-vga' video device and secondary
'qxl' video device. We've been setting wrong primary/secondary parameters.

The main propose is to start using the vram attribute for other QEMU video
devices next to QXL and also introduce vgamem attribute to set the VGA
framebuffer for QXL video device.

v2: https://www.redhat.com/archives/libvir-list/2014-November/msg00525.html
v1: https://www.redhat.com/archives/libvir-list/2014-November/msg00024.html

Pavel Hrdina (6):
  internal: add macro to round value to the next closest power of 2
  video: cleanup usage of vram attribute and update documentation
  QXL: fix setting ram and vram values for QEMU QXL device
  caps: introduce new QEMU capability for vgamem_mb device property
  qemu-command: use vram attribute for all video devices
  qemu-command: introduce new vgamem attribute for QXL video device

 bootstrap.conf                                     |   1 +
 docs/formatdomain.html.in                          |  68 ++++---
 docs/schemas/domaincommon.rng                      |   5 +
 src/conf/domain_conf.c                             |  41 +++-
 src/conf/domain_conf.h                             |   4 +-
 src/internal.h                                     |   7 +
 src/qemu/qemu_capabilities.c                       |  33 ++++
 src/qemu/qemu_capabilities.h                       |   4 +
 src/qemu/qemu_command.c                            |  74 ++++++-
 src/qemu/qemu_domain.c                             |  18 ++
 src/xen/xen_driver.c                               |   2 +-
 tests/qemucapabilitiesdata/caps_1.2.2-1.caps       |   4 +
 tests/qemucapabilitiesdata/caps_1.2.2-1.replies    | 206 ++++++++++++++++++-
 tests/qemucapabilitiesdata/caps_1.3.1-1.caps       |   4 +
 tests/qemucapabilitiesdata/caps_1.3.1-1.replies    | 218 ++++++++++++++++++++-
 tests/qemucapabilitiesdata/caps_1.4.2-1.caps       |   4 +
 tests/qemucapabilitiesdata/caps_1.4.2-1.replies    | 218 ++++++++++++++++++++-
 tests/qemucapabilitiesdata/caps_1.5.3-1.caps       |   4 +
 tests/qemucapabilitiesdata/caps_1.5.3-1.replies    | 218 ++++++++++++++++++++-
 tests/qemucapabilitiesdata/caps_1.6.0-1.caps       |   4 +
 tests/qemucapabilitiesdata/caps_1.6.0-1.replies    | 218 ++++++++++++++++++++-
 tests/qemucapabilitiesdata/caps_1.6.50-1.caps      |   4 +
 tests/qemucapabilitiesdata/caps_1.6.50-1.replies   | 218 ++++++++++++++++++++-
 tests/qemucapabilitiesdata/caps_2.1.1-1.caps       |   4 +
 tests/qemucapabilitiesdata/caps_2.1.1-1.replies    | 218 ++++++++++++++++++++-
 ...qemuhotplug-console-compat-2+console-virtio.xml |   2 +-
 .../qemuxml2argv-console-compat-2.xml              |   2 +-
 .../qemuxml2argv-controller-order.xml              |   2 +-
 .../qemuxml2argv-graphics-listen-network.xml       |   2 +-
 .../qemuxml2argv-graphics-listen-network2.xml      |   2 +-
 .../qemuxml2argv-graphics-sdl-fullscreen.xml       |   2 +-
 .../qemuxml2argvdata/qemuxml2argv-graphics-sdl.xml |   2 +-
 .../qemuxml2argv-graphics-spice-agentmouse.xml     |   2 +-
 .../qemuxml2argv-graphics-spice-compression.args   |   2 +-
 .../qemuxml2argv-graphics-spice-compression.xml    |   4 +-
 .../qemuxml2argv-graphics-spice-qxl-vga.xml        |   4 +-
 .../qemuxml2argv-graphics-spice-sasl.args          |   4 +-
 .../qemuxml2argv-graphics-spice-sasl.xml           |   2 +-
 .../qemuxml2argv-graphics-spice-timeout.xml        |   2 +-
 .../qemuxml2argv-graphics-spice.args               |   4 +-
 .../qemuxml2argv-graphics-spice.xml                |   4 +-
 .../qemuxml2argv-graphics-vnc-policy.xml           |   2 +-
 .../qemuxml2argv-graphics-vnc-sasl.xml             |   2 +-
 .../qemuxml2argv-graphics-vnc-socket.xml           |   2 +-
 .../qemuxml2argv-graphics-vnc-tls.xml              |   2 +-
 .../qemuxml2argv-graphics-vnc-websocket.xml        |   2 +-
 .../qemuxml2argvdata/qemuxml2argv-graphics-vnc.xml |   2 +-
 .../qemuxml2argv-net-bandwidth.xml                 |   2 +-
 .../qemuxml2argv-pci-autoadd-addr.xml              |   2 +-
 .../qemuxml2argv-pci-autoadd-idx.xml               |   2 +-
 tests/qemuxml2argvdata/qemuxml2argv-pci-bridge.xml |   2 +-
 .../qemuxml2argv-pcihole64-q35.args                |   2 +-
 .../qemuxml2argv-pcihole64-q35.xml                 |   2 +-
 .../qemuxml2argvdata/qemuxml2argv-pseries-disk.xml |   2 +-
 tests/qemuxml2argvdata/qemuxml2argv-q35.args       |   2 +-
 tests/qemuxml2argvdata/qemuxml2argv-q35.xml        |   2 +-
 .../qemuxml2argv-serial-spiceport.args             |   2 +-
 .../qemuxml2argv-serial-spiceport.xml              |   2 +-
 .../qemuxml2argv-video-qxl-device-vgamem.args      |   6 +
 .../qemuxml2argv-video-qxl-device-vgamem.xml       |  29 +++
 .../qemuxml2argv-video-qxl-device.args             |   6 +
 .../qemuxml2argv-video-qxl-device.xml              |  29 +++
 .../qemuxml2argv-video-qxl-nodevice.args           |   5 +
 .../qemuxml2argv-video-qxl-nodevice.xml            |  29 +++
 .../qemuxml2argv-video-qxl-sec-device-vgamem.args  |   8 +
 .../qemuxml2argv-video-qxl-sec-device-vgamem.xml   |  32 +++
 .../qemuxml2argv-video-qxl-sec-device.args         |   7 +
 .../qemuxml2argv-video-qxl-sec-device.xml          |  32 +++
 .../qemuxml2argv-video-qxl-sec-nodevice.xml        |  32 +++
 .../qemuxml2argv-video-vga-device-vgamem.args      |   6 +
 .../qemuxml2argv-video-vga-device-vgamem.xml       |  29 +++
 .../qemuxml2argv-video-vga-device.args             |   6 +
 .../qemuxml2argv-video-vga-device.xml              |  29 +++
 .../qemuxml2argv-video-vga-nodevice.args           |   5 +
 .../qemuxml2argv-video-vga-nodevice.xml            |  29 +++
 tests/qemuxml2argvtest.c                           |  18 ++
 .../qemuxml2xmlout-graphics-listen-network2.xml    |   2 +-
 .../qemuxml2xmlout-graphics-spice-timeout.xml      |   2 +-
 .../qemuxml2xmlout-pci-autoadd-addr.xml            |   2 +-
 .../qemuxml2xmlout-pci-autoadd-idx.xml             |   2 +-
 tests/qemuxml2xmloutdata/qemuxml2xmlout-q35.xml    |   2 +-
 tests/utiltest.c                                   |  39 ++++
 tests/virt-aa-helper-test                          |   2 +-
 83 files changed, 2129 insertions(+), 134 deletions(-)
 create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-video-qxl-device-vgamem.args
 create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-video-qxl-device-vgamem.xml
 create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-video-qxl-device.args
 create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-video-qxl-device.xml
 create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-video-qxl-nodevice.args
 create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-video-qxl-nodevice.xml
 create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-video-qxl-sec-device-vgamem.args
 create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-video-qxl-sec-device-vgamem.xml
 create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-video-qxl-sec-device.args
 create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-video-qxl-sec-device.xml
 create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-video-qxl-sec-nodevice.xml
 create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-video-vga-device-vgamem.args
 create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-video-vga-device-vgamem.xml
 create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-video-vga-device.args
 create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-video-vga-device.xml
 create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-video-vga-nodevice.args
 create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-video-vga-nodevice.xml

-- 
2.0.4




More information about the libvir-list mailing list