domain_conf: always set primary video device as primary

We always place primary video device at first place, to make it easier
to create a qemu command or format an xml, but we should also set the
primary boolean for primary video device to 'true'.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
This commit is contained in:
Pavel Hrdina 2016-02-23 13:00:24 +01:00
parent ea48397b01
commit 119cd06ef7
35 changed files with 48 additions and 41 deletions

View File

@ -11938,7 +11938,7 @@ virDomainVideoDefParseXML(xmlNodePtr node,
if ((primary = virXMLPropString(cur, "primary")) != NULL) {
if (STREQ(primary, "yes"))
def->primary = 1;
def->primary = true;
VIR_FREE(primary);
}
@ -16074,6 +16074,10 @@ virDomainDefParseXML(xmlDocPtr xml,
goto error;
}
}
/* if not specified by user mark the first video as primary */
if (n && !primaryVideo)
def->videos[0]->primary = true;
VIR_FREE(nodes);
/* For backwards compatibility, if no <video> tag is set but there

View File

@ -3280,13 +3280,12 @@ qemuBuildSoundCodecStr(virDomainSoundDefPtr sound,
static char *
qemuBuildDeviceVideoStr(virDomainDefPtr def,
virDomainVideoDefPtr video,
virQEMUCapsPtr qemuCaps,
bool primary)
virQEMUCapsPtr qemuCaps)
{
virBuffer buf = VIR_BUFFER_INITIALIZER;
const char *model;
if (primary) {
if (video->primary) {
model = qemuDeviceVideoTypeToString(video->type);
if (!model || STREQ(model, "")) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
@ -3347,8 +3346,10 @@ qemuBuildDeviceVideoStr(virDomainDefPtr def,
virBufferAsprintf(&buf, ",vram_size=%u", video->vram * 1024);
}
if ((primary && virQEMUCapsGet(qemuCaps, QEMU_CAPS_QXL_VGA_VGAMEM)) ||
(!primary && virQEMUCapsGet(qemuCaps, QEMU_CAPS_QXL_VGAMEM))) {
if ((video->primary &&
virQEMUCapsGet(qemuCaps, QEMU_CAPS_QXL_VGA_VGAMEM)) ||
(!video->primary &&
virQEMUCapsGet(qemuCaps, QEMU_CAPS_QXL_VGAMEM))) {
/* QEMU accepts mebibytes for vgamem_mb. */
virBufferAsprintf(&buf, ",vgamem_mb=%u", video->vgamem / 1024);
}
@ -8225,7 +8226,8 @@ qemuBuildCommandLine(virConnectPtr conn,
for (i = 0; i < def->nvideos; i++) {
char *str;
virCommandAddArg(cmd, "-device");
if (!(str = qemuBuildDeviceVideoStr(def, def->videos[i], qemuCaps, !i)))
if (!(str = qemuBuildDeviceVideoStr(def, def->videos[i],
qemuCaps)))
goto error;
virCommandAddArg(cmd, str);
@ -8337,7 +8339,8 @@ qemuBuildCommandLine(virConnectPtr conn,
virCommandAddArg(cmd, "-device");
if (!(str = qemuBuildDeviceVideoStr(def, def->videos[i], qemuCaps, false)))
if (!(str = qemuBuildDeviceVideoStr(def, def->videos[i],
qemuCaps)))
goto error;
virCommandAddArg(cmd, str);

View File

@ -91,7 +91,7 @@
<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
</sound>
<video>
<model type='cirrus' vram='16384' heads='1'/>
<model type='cirrus' vram='16384' heads='1' primary='yes'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
</video>
<memballoon model='virtio'>

View File

@ -88,7 +88,7 @@
<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
</sound>
<video>
<model type='cirrus' vram='16384' heads='1'/>
<model type='cirrus' vram='16384' heads='1' primary='yes'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
</video>
<memballoon model='virtio'>

View File

@ -32,7 +32,7 @@
<listen type='network' network='Bobsnetwork'/>
</graphics>
<video>
<model type='cirrus' vram='16384' heads='1'/>
<model type='cirrus' vram='16384' heads='1' primary='yes'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
</video>
<memballoon model='virtio'>

View File

@ -33,7 +33,7 @@
<listen type='network' network='Bobsnetwork'/>
</graphics>
<video>
<model type='cirrus' vram='16384' heads='1'/>
<model type='cirrus' vram='16384' heads='1' primary='yes'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
</video>
<memballoon model='virtio'>

View File

@ -31,7 +31,7 @@
<input type='keyboard' bus='ps2'/>
<graphics type='sdl' display=':0.1' xauth='/root/.Xauthority' fullscreen='yes'/>
<video>
<model type='cirrus' vram='16384' heads='1'/>
<model type='cirrus' vram='16384' heads='1' primary='yes'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
</video>
<memballoon model='none'/>

View File

@ -31,7 +31,7 @@
<input type='keyboard' bus='ps2'/>
<graphics type='sdl' display=':0.1' xauth='/root/.Xauthority'/>
<video>
<model type='vga' vram='16384' heads='1'/>
<model type='vga' vram='16384' heads='1' primary='yes'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
</video>
<memballoon model='none'/>

View File

@ -37,7 +37,7 @@
<streaming mode='filter'/>
</graphics>
<video>
<model type='qxl' ram='65536' vram='32768' vgamem='8192' heads='1'/>
<model type='qxl' ram='65536' vram='32768' vgamem='8192' heads='1' primary='yes'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
</video>
<video>

View File

@ -34,7 +34,7 @@
<channel name='inputs' mode='insecure'/>
</graphics>
<video>
<model type='qxl' ram='65536' vram='32768' vgamem='8192' heads='1'/>
<model type='qxl' ram='65536' vram='32768' vgamem='8192' heads='1' primary='yes'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
</video>
<video>

View File

@ -82,7 +82,7 @@
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</sound>
<video>
<model type='vga' vram='16384' heads='1'/>
<model type='vga' vram='16384' heads='1' primary='yes'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
</video>
<memballoon model='virtio'>

View File

@ -41,7 +41,7 @@
<filetransfer enable='no'/>
</graphics>
<video>
<model type='qxl' ram='65536' vram='32768' vgamem='8192' heads='1'/>
<model type='qxl' ram='65536' vram='32768' vgamem='8192' heads='1' primary='yes'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
</video>
<video>

View File

@ -33,7 +33,7 @@
<listen type='address' address='127.0.0.1'/>
</graphics>
<video>
<model type='cirrus' vram='16384' heads='1'/>
<model type='cirrus' vram='16384' heads='1' primary='yes'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
</video>
<memballoon model='none'/>

View File

@ -33,7 +33,7 @@
<listen type='address' address='127.0.0.1'/>
</graphics>
<video>
<model type='cirrus' vram='16384' heads='1'/>
<model type='cirrus' vram='16384' heads='1' primary='yes'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
</video>
<memballoon model='none'/>

View File

@ -24,7 +24,7 @@
<listen type='address' address='127.0.0.1'/>
</graphics>
<video>
<model type='cirrus' vram='16384' heads='1'/>
<model type='cirrus' vram='16384' heads='1' primary='yes'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
</video>
<memballoon model='none'/>

View File

@ -33,7 +33,7 @@
<listen type='address' address='2001:1:2:3:4:5:1234:1234'/>
</graphics>
<video>
<model type='cirrus' vram='16384' heads='1'/>
<model type='cirrus' vram='16384' heads='1' primary='yes'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
</video>
<memballoon model='none'/>

View File

@ -124,7 +124,7 @@
<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
</sound>
<video>
<model type='cirrus' vram='16384' heads='1'/>
<model type='cirrus' vram='16384' heads='1' primary='yes'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
</video>
<memballoon model='virtio'>

View File

@ -68,7 +68,7 @@
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</sound>
<video>
<model type='vga' vram='16384' heads='1'/>
<model type='vga' vram='16384' heads='1' primary='yes'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
</video>
<memballoon model='virtio'>

View File

@ -57,7 +57,7 @@
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</sound>
<video>
<model type='vga' vram='16384' heads='1'/>
<model type='vga' vram='16384' heads='1' primary='yes'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
</video>
<memballoon model='virtio'>

View File

@ -71,7 +71,7 @@
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
<video>
<model type='cirrus' vram='16384' heads='1'/>
<model type='cirrus' vram='16384' heads='1' primary='yes'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
</video>
<memballoon model='virtio'>

View File

@ -76,7 +76,7 @@
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
<video>
<model type='cirrus' vram='16384' heads='1'/>
<model type='cirrus' vram='16384' heads='1' primary='yes'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
</video>
<memballoon model='virtio'>

View File

@ -241,7 +241,7 @@
<listen type='address' address='127.0.0.1'/>
</graphics>
<video>
<model type='cirrus' vram='16384' heads='1'/>
<model type='cirrus' vram='16384' heads='1' primary='yes'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
</video>
<memballoon model='virtio'>

View File

@ -45,7 +45,7 @@
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
<video>
<model type='qxl' ram='65536' vram='32768' vgamem='8192' heads='1'/>
<model type='qxl' ram='65536' vram='32768' vgamem='8192' heads='1' primary='yes'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
</video>
<memballoon model='none'/>

View File

@ -83,7 +83,7 @@
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
<video>
<model type='qxl' ram='65536' vram='32768' vgamem='8192' heads='1'/>
<model type='qxl' ram='65536' vram='32768' vgamem='8192' heads='1' primary='yes'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
</video>
<memballoon model='none'/>

View File

@ -53,7 +53,7 @@
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
<video>
<model type='qxl' ram='65536' vram='32768' vgamem='8192' heads='1'/>
<model type='qxl' ram='65536' vram='32768' vgamem='8192' heads='1' primary='yes'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
</video>
<memballoon model='none'/>

View File

@ -37,7 +37,7 @@
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
<video>
<model type='qxl' ram='65536' vram='32768' vgamem='8192' heads='1'/>
<model type='qxl' ram='65536' vram='32768' vgamem='8192' heads='1' primary='yes'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
</video>
<memballoon model='none'/>

View File

@ -80,7 +80,7 @@
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
<video>
<model type='qxl' ram='65536' vram='32768' vgamem='8192' heads='1'/>
<model type='qxl' ram='65536' vram='32768' vgamem='8192' heads='1' primary='yes'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
</video>
<memballoon model='none'/>

View File

@ -80,7 +80,7 @@
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
<video>
<model type='qxl' ram='65536' vram='32768' vgamem='8192' heads='1'/>
<model type='qxl' ram='65536' vram='32768' vgamem='8192' heads='1' primary='yes'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
</video>
<memballoon model='none'/>

View File

@ -50,7 +50,7 @@
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
<video>
<model type='qxl' ram='65536' vram='32768' vgamem='8192' heads='1'/>
<model type='qxl' ram='65536' vram='32768' vgamem='8192' heads='1' primary='yes'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
</video>
<memballoon model='none'/>

View File

@ -50,7 +50,7 @@
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
<video>
<model type='qxl' ram='65536' vram='32768' vgamem='8192' heads='1'/>
<model type='qxl' ram='65536' vram='32768' vgamem='8192' heads='1' primary='yes'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
</video>
<memballoon model='none'/>

View File

@ -42,7 +42,7 @@
<listen type='address' address='0.0.0.0'/>
</graphics>
<video>
<model type='cirrus' vram='8192' heads='1'/>
<model type='cirrus' vram='8192' heads='1' primary='yes'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
</video>
<memballoon model='virtio'>

View File

@ -41,7 +41,7 @@
<listen type='address' address='127.0.0.1'/>
</graphics>
<video>
<model type='qxl' ram='65536' vram='65536' vgamem='8192' heads='1'/>
<model type='qxl' ram='65536' vram='65536' vgamem='8192' heads='1' primary='yes'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
</video>
<memballoon model='virtio'>

View File

@ -30,7 +30,7 @@
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
<video>
<model type='virtio' heads='1'/>
<model type='virtio' heads='1' primary='yes'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
</video>
<memballoon model='virtio'>

View File

@ -33,7 +33,7 @@
<gl enable='yes'/>
</graphics>
<video>
<model type='virtio' heads='1'>
<model type='virtio' heads='1' primary='yes'>
<acceleration accel3d='yes'/>
</model>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>

View File

@ -30,7 +30,7 @@
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
<video>
<model type='virtio' heads='1'>
<model type='virtio' heads='1' primary='yes'>
<acceleration accel3d='yes'/>
</model>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>