break;
case VIR_DOMAIN_CHR_TYPE_DEV:
- virBufferAsprintf(&buf, "%s,id=%s,path=%s",
+ virBufferAsprintf(&buf, "%s,id=%s,path=",
STRPREFIX(alias, "parallel") ? "parport" : "tty",
- charAlias, dev->data.file.path);
+ charAlias);
+ virQEMUBuildBufferEscapeComma(&buf, dev->data.file.path);
break;
case VIR_DOMAIN_CHR_TYPE_FILE:
break;
case VIR_DOMAIN_CHR_TYPE_PIPE:
- virBufferAsprintf(&buf, "pipe,id=%s,path=%s", charAlias,
- dev->data.file.path);
+ virBufferAsprintf(&buf, "pipe,id=%s,path=", charAlias);
+ virQEMUBuildBufferEscapeComma(&buf, dev->data.file.path);
break;
case VIR_DOMAIN_CHR_TYPE_STDIO:
-no-acpi \
-boot c \
-usb \
+-chardev tty,id=charserial0,path=/dev/ttyS2,,foo \
+-device isa-serial,chardev=charserial0,id=serial0 \
+-chardev pipe,id=charchannel0,path=/tmp/guestfwd,,foo \
+-netdev user,guestfwd=tcp:10.0.2.1:4600-chardev:charchannel0,id=user-channel0 \
-vnc unix:/tmp/lib/domain--1-foo=1,,bar=2/vnc.sock \
-spice unix,addr=/tmp/lib/domain--1-foo=1,,bar=2/spice.sock \
-vga cirrus \
<graphics type='spice'>
<listen type='socket'/>
</graphics>
+ <serial type='dev'>
+ <source path='/dev/ttyS2,foo'/>
+ </serial>
+ <channel type='pipe'>
+ <source path='/tmp/guestfwd,foo'/>
+ <target type='guestfwd' address='10.0.2.1' port='4600'/>
+ </channel>
</devices>
</domain>
QEMU_CAPS_NAME_GUEST,
QEMU_CAPS_DEVICE_CIRRUS_VGA,
QEMU_CAPS_SPICE,
- QEMU_CAPS_SPICE_UNIX);
+ QEMU_CAPS_SPICE_UNIX,
+ QEMU_CAPS_DEVICE_ISA_SERIAL);
DO_TEST("debug-threads", QEMU_CAPS_NAME_DEBUG_THREADS);
DO_TEST("master-key", QEMU_CAPS_OBJECT_SECRET);