1
0
mirror of https://gitlab.com/libvirt/libvirt.git synced 2024-12-23 21:34:54 +03:00

conf: parse and format virtio input bus in domain XML

To be used by the family of virtio input devices:

<input type='mouse' bus='virtio'/>
<input type='tablet' bus='virtio'/>
<input type='keyboard' bus='virtio'/>

https://bugzilla.redhat.com/show_bug.cgi?id=1231114
This commit is contained in:
Ján Tomko 2015-11-13 11:37:12 +01:00
parent 5c62d6c456
commit bebdfafb2b
6 changed files with 38 additions and 3 deletions

View File

@ -4801,6 +4801,9 @@ qemu-kvm -net nic,model=? /dev/null
&lt;devices&gt;
&lt;input type='mouse' bus='usb'/&gt;
&lt;input type='keyboard' bus='usb'/&gt;
&lt;input type='mouse' bus='virtio'/&gt;
&lt;input type='keyboard' bus='virtio'/&gt;
&lt;input type='tablet' bus='virtio'/&gt;
&lt;/devices&gt;
...</pre>
@ -4812,7 +4815,8 @@ qemu-kvm -net nic,model=? /dev/null
The tablet provides absolute cursor movement,
while the mouse uses relative movement. The optional
<code>bus</code> attribute can be used to refine the exact device type.
It takes values "xen" (paravirtualized), "ps2" and "usb".</dd>
It takes values "xen" (paravirtualized), "ps2" and "usb" or
(<span class="since">since 1.3.0</span>) "virtio".</dd>
</dl>
<p>

View File

@ -3592,6 +3592,7 @@
<value>ps2</value>
<value>usb</value>
<value>xen</value>
<value>virtio</value>
</choice>
</attribute>
</optional>

View File

@ -550,7 +550,8 @@ VIR_ENUM_IMPL(virDomainInputBus, VIR_DOMAIN_INPUT_BUS_LAST,
"ps2",
"usb",
"xen",
"parallels")
"parallels",
"virtio")
VIR_ENUM_IMPL(virDomainGraphics, VIR_DOMAIN_GRAPHICS_TYPE_LAST,
"sdl",
@ -22399,7 +22400,8 @@ virDomainDefFormatInternal(virDomainDefPtr def,
goto error;
for (n = 0; n < def->ninputs; n++)
if (def->inputs[n]->bus == VIR_DOMAIN_INPUT_BUS_USB &&
if ((def->inputs[n]->bus == VIR_DOMAIN_INPUT_BUS_USB ||
def->inputs[n]->bus == VIR_DOMAIN_INPUT_BUS_VIRTIO) &&
virDomainInputDefFormat(buf, def->inputs[n], flags) < 0)
goto error;

View File

@ -1297,6 +1297,7 @@ typedef enum {
VIR_DOMAIN_INPUT_BUS_USB,
VIR_DOMAIN_INPUT_BUS_XEN,
VIR_DOMAIN_INPUT_BUS_PARALLELS, /* pseudo device for VNC in containers */
VIR_DOMAIN_INPUT_BUS_VIRTIO,
VIR_DOMAIN_INPUT_BUS_LAST
} virDomainInputBus;

View File

@ -0,0 +1,26 @@
<domain type='qemu'>
<name>QEMUGuest1</name>
<uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
<memory unit='KiB'>219100</memory>
<currentMemory unit='KiB'>219100</currentMemory>
<vcpu placement='static'>1</vcpu>
<os>
<type arch='i686' machine='pc'>hvm</type>
<boot dev='hd'/>
</os>
<clock offset='utc'/>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>destroy</on_crash>
<devices>
<emulator>/usr/bin/qemu</emulator>
<controller type='usb' index='0'/>
<controller type='pci' index='0' model='pci-root'/>
<input type='mouse' bus='virtio'/>
<input type='keyboard' bus='virtio'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x0a' function='0x0'/>
</input>
<input type='tablet' bus='virtio'/>
<memballoon model='virtio'/>
</devices>
</domain>

View File

@ -632,6 +632,7 @@ mymain(void)
DO_TEST("video-virtio-gpu-device");
DO_TEST("video-virtio-gpu-virgl");
DO_TEST("virtio-input");
qemuTestDriverFree(&driver);