-device '{"driver":"pcie-root-port","port":8,"chassis":1,"id":"pci.1","bus":"pcie.0","multifunction":true,"addr":"0x1"}' \
-device '{"driver":"pcie-pci-bridge","id":"pci.2","bus":"pci.1","addr":"0x0"}' \
-device '{"driver":"pcie-root-port","port":9,"chassis":3,"id":"pci.3","bus":"pcie.0","addr":"0x1.0x1"}' \
--add-fd set=0,fd=XXXXXXX,opaque=serial0-log \
+-add-fd set=0,fd=@serial0-log-fd@,opaque=serial0-log \
-chardev pty,id=charserial0,logfile=/dev/fdset/0,logappend=on \
-device '{"driver":"pci-serial","chardev":"charserial0","id":"serial0","bus":"pci.2","addr":"0x1"}' \
-audiodev '{"id":"audio1","driver":"none"}' \
-device '{"driver":"virtio-net-pci","netdev":"hostnet0","id":"net0","mac":"52:54:00:53:45:a5","bus":"pci.1","addr":"0x0"}' \
-chardev pty,id=charserial0 \
-serial chardev:charserial0 \
--chardev socket,id=charchannel0,fd=XXXXXXX,server=on,wait=off \
+-chardev socket,id=charchannel0,fd=@channel0-fd@,server=on,wait=off \
-device '{"driver":"virtserialport","bus":"virtio-serial0.0","nr":1,"chardev":"charchannel0","id":"channel0","name":"org.qemu.guest_agent.0"}' \
-device '{"driver":"usb-tablet","id":"input0","bus":"usb.0","port":"1"}' \
-device '{"driver":"usb-kbd","id":"input1","bus":"usb.0","port":"2"}' \
-device '{"driver":"virtio-net-device","netdev":"hostnet0","id":"net0","mac":"52:54:00:09:a4:37"}' \
-chardev pty,id=charserial0 \
-serial chardev:charserial0 \
--chardev socket,id=charchannel0,fd=XXXXXXX,server=on,wait=off \
+-chardev socket,id=charchannel0,fd=@channel0-fd@,server=on,wait=off \
-device '{"driver":"virtserialport","bus":"virtio-serial0.0","nr":1,"chardev":"charchannel0","id":"channel0","name":"org.qemu.guest_agent.0"}' \
-audiodev '{"id":"audio1","driver":"none"}' \
-device '{"driver":"virtio-balloon-device","id":"balloon0"}' \
-device '{"driver":"virtio-net-pci","netdev":"hostnet0","id":"net0","mac":"52:54:00:09:a4:37","bus":"pci.1","addr":"0x0"}' \
-chardev pty,id=charserial0 \
-serial chardev:charserial0 \
--chardev socket,id=charchannel0,fd=XXXXXXX,server=on,wait=off \
+-chardev socket,id=charchannel0,fd=@channel0-fd@,server=on,wait=off \
-device '{"driver":"virtserialport","bus":"virtio-serial0.0","nr":1,"chardev":"charchannel0","id":"channel0","name":"org.qemu.guest_agent.0"}' \
-audiodev '{"id":"audio1","driver":"none"}' \
-device '{"driver":"virtio-balloon-pci","id":"balloon0","bus":"pci.5","addr":"0x0"}' \
-no-shutdown \
-boot strict=on \
-device '{"driver":"piix3-usb-uhci","id":"usb","bus":"pci.0","addr":"0x1.0x2"}' \
--chardev socket,id=charchannel0,fd=XXXXXXX,server=on,wait=off \
+-chardev socket,id=charchannel0,fd=@channel0-fd@,server=on,wait=off \
-netdev '{"type":"user","guestfwd":[{"str":"tcp:10.0.2.1:4600-chardev:charchannel0"}],"id":"channel0"}' \
-chardev socket,id=charchannel1,path=/tmp/guestfwd-connect.socket \
-netdev '{"type":"user","guestfwd":[{"str":"tcp:10.0.2.1:4601-chardev:charchannel1"}],"id":"channel1"}' \
-boot strict=on \
-device '{"driver":"piix3-usb-uhci","id":"usb","bus":"pci.0","addr":"0x1.0x2"}' \
-device '{"driver":"virtio-serial-pci","id":"virtio-serial0","bus":"pci.0","addr":"0x2"}' \
--chardev socket,id=charchannel0,fd=XXXXXXX,server=on,wait=off \
+-chardev socket,id=charchannel0,fd=@channel0-fd@,server=on,wait=off \
-device '{"driver":"virtserialport","bus":"virtio-serial0.0","nr":1,"chardev":"charchannel0","id":"channel0","name":"org.qemu.guest_agent.0"}' \
--chardev socket,id=charchannel1,fd=XXXXXXX,server=on,wait=off \
+-chardev socket,id=charchannel1,fd=@channel1-fd@,server=on,wait=off \
-device '{"driver":"virtserialport","bus":"virtio-serial0.0","nr":2,"chardev":"charchannel1","id":"channel1","name":"org.qemu.guest_agent.1"}' \
--chardev socket,id=charchannel2,fd=XXXXXXX,server=on,wait=off \
+-chardev socket,id=charchannel2,fd=@channel2-fd@,server=on,wait=off \
-device '{"driver":"virtserialport","bus":"virtio-serial0.0","nr":3,"chardev":"charchannel2","id":"channel2","name":"org.qemu.guest_agent.2"}' \
--chardev socket,id=charchannel3,fd=XXXXXXX,server=on,wait=off \
+-chardev socket,id=charchannel3,fd=@channel3-fd@,server=on,wait=off \
-device '{"driver":"virtserialport","bus":"virtio-serial0.0","nr":4,"chardev":"charchannel3","id":"channel3","name":"org.qemu.guest_agent.3"}' \
--chardev socket,id=charchannel4,fd=XXXXXXX,server=on,wait=off \
+-chardev socket,id=charchannel4,fd=@channel4-fd@,server=on,wait=off \
-device '{"driver":"virtserialport","bus":"virtio-serial0.0","nr":5,"chardev":"charchannel4","id":"channel4","name":"org.qemu.guest_agent.4"}' \
--chardev socket,id=charchannel5,fd=XXXXXXX,server=on,wait=off \
+-chardev socket,id=charchannel5,fd=@channel5-fd@,server=on,wait=off \
-device '{"driver":"virtserialport","bus":"virtio-serial0.0","nr":6,"chardev":"charchannel5","id":"channel5","name":"org.qemu.guest_agent.5"}' \
--chardev socket,id=charchannel6,fd=XXXXXXX,server=on,wait=off \
+-chardev socket,id=charchannel6,fd=@channel6-fd@,server=on,wait=off \
-device '{"driver":"virtserialport","bus":"virtio-serial0.0","nr":7,"chardev":"charchannel6","id":"channel6","name":"org.qemu.guest_agent.6"}' \
--chardev socket,id=charchannel7,fd=XXXXXXX,server=on,wait=off \
+-chardev socket,id=charchannel7,fd=@channel7-fd@,server=on,wait=off \
-device '{"driver":"virtserialport","bus":"virtio-serial0.0","nr":8,"chardev":"charchannel7","id":"channel7","name":"org.qemu.guest_agent.7"}' \
--chardev socket,id=charchannel8,fd=XXXXXXX,server=on,wait=off \
+-chardev socket,id=charchannel8,fd=@channel8-fd@,server=on,wait=off \
-device '{"driver":"virtserialport","bus":"virtio-serial0.0","nr":9,"chardev":"charchannel8","id":"channel8","name":"org.qemu.guest_agent.8"}' \
--chardev socket,id=charchannel9,fd=XXXXXXX,server=on,wait=off \
+-chardev socket,id=charchannel9,fd=@channel9-fd@,server=on,wait=off \
-device '{"driver":"virtserialport","bus":"virtio-serial0.0","nr":10,"chardev":"charchannel9","id":"channel9","name":"org.qemu.guest_agent.9"}' \
-audiodev '{"id":"audio1","driver":"none"}' \
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
-device '{"driver":"virtio-serial-pci","id":"virtio-serial1","bus":"pci.0","addr":"0xa"}' \
-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","read-only":false}' \
-device '{"driver":"ide-hd","bus":"ide.0","unit":0,"drive":"libvirt-1-storage","id":"ide0-0-0","bootindex":1}' \
--chardev socket,id=charchannel0,fd=XXXXXXX,server=on,wait=off \
+-chardev socket,id=charchannel0,fd=@channel0-fd@,server=on,wait=off \
-device '{"driver":"virtserialport","bus":"virtio-serial0.0","nr":1,"chardev":"charchannel0","id":"channel0","name":"org.qemu.guest_agent.0"}' \
--chardev socket,id=charchannel1,fd=XXXXXXX,server=on,wait=off \
+-chardev socket,id=charchannel1,fd=@channel1-fd@,server=on,wait=off \
-device '{"driver":"virtserialport","bus":"virtio-serial0.0","nr":2,"chardev":"charchannel1","id":"channel1"}' \
--chardev socket,id=charchannel2,fd=XXXXXXX,server=on,wait=off \
+-chardev socket,id=charchannel2,fd=@channel2-fd@,server=on,wait=off \
-device '{"driver":"virtserialport","bus":"virtio-serial0.0","nr":3,"chardev":"charchannel2","id":"channel2","name":"ble"}' \
--chardev socket,id=charchannel3,fd=XXXXXXX,server=on,wait=off \
+-chardev socket,id=charchannel3,fd=@channel3-fd@,server=on,wait=off \
-device '{"driver":"virtserialport","bus":"virtio-serial0.0","nr":4,"chardev":"charchannel3","id":"channel3","name":"fdsa"}' \
-audiodev '{"id":"audio1","driver":"none"}' \
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
-device '{"driver":"virtio-serial-pci","id":"virtio-serial0","bus":"pci.0","addr":"0x3"}' \
-chardev '{"id":"charparallel0","backend":{"type":"parallel","data":{"device":"/dev/parport0"}}}' \
-device '{"driver":"isa-parallel","chardev":"charparallel0","id":"parallel0"}' \
--add-fd set=0,fd=XXXXXXX,opaque=channel0-log \
+-add-fd set=0,fd=@channel0-log-fd@,opaque=channel0-log \
-chardev '{"id":"charchannel0","backend":{"type":"null","data":{"logfile":"/dev/fdset/0","logappend":true}}}' \
-device '{"driver":"virtserialport","bus":"virtio-serial0.0","nr":1,"chardev":"charchannel0","id":"channel0","name":"chardev-null"}' \
--add-fd set=1,fd=XXXXXXX,opaque=channel1-log \
+-add-fd set=1,fd=@channel1-log-fd@,opaque=channel1-log \
-chardev '{"id":"charchannel1","backend":{"type":"vc","data":{"logfile":"/dev/fdset/1","logappend":true}}}' \
-device '{"driver":"virtserialport","bus":"virtio-serial0.0","nr":2,"chardev":"charchannel1","id":"channel1","name":"chardev-vc"}' \
-chardev '{"id":"charchannel2","backend":{"type":"pty","data":{}}}' \
-device '{"driver":"virtserialport","bus":"virtio-serial0.0","nr":3,"chardev":"charchannel2","id":"channel2","name":"chardev-pty"}' \
-chardev '{"id":"charchannel3","backend":{"type":"stdio","data":{}}}' \
-device '{"driver":"virtserialport","bus":"virtio-serial0.0","nr":4,"chardev":"charchannel3","id":"channel3","name":"chardev-stdio"}' \
--add-fd set=2,fd=XXXXXXX,opaque=channel4-source \
+-add-fd set=2,fd=@channel4-fd@,opaque=channel4-source \
-chardev '{"id":"charchannel4","backend":{"type":"file","data":{"out":"/dev/fdset/2","append":true}}}' \
-device '{"driver":"virtserialport","bus":"virtio-serial0.0","nr":5,"chardev":"charchannel4","id":"channel4","name":"chardev-file"}' \
-chardev '{"id":"charchannel5","backend":{"type":"pipe","data":{"device":"/path/to/pipe"}}}' \
-device '{"driver":"virtserialport","bus":"virtio-serial0.0","nr":6,"chardev":"charchannel5","id":"channel5","name":"chardev-pipe"}' \
-chardev '{"id":"charchannel6","backend":{"type":"serial","data":{"device":"/path/to/device"}}}' \
-device '{"driver":"virtserialport","bus":"virtio-serial0.0","nr":7,"chardev":"charchannel6","id":"channel6","name":"chardev-dev"}' \
--chardev '{"id":"charchannel7","backend":{"type":"socket","data":{"addr":{"type":"fd","data":{"str":"XXXXXXX"}},"server":true,"wait":false}}}' \
+-chardev '{"id":"charchannel7","backend":{"type":"socket","data":{"addr":{"type":"fd","data":{"str":"@channel7-fd@"}},"server":true,"wait":false}}}' \
-device '{"driver":"virtserialport","bus":"virtio-serial0.0","nr":8,"chardev":"charchannel7","id":"channel7","name":"chardev-unix-listen"}' \
-chardev '{"id":"charchannel8","backend":{"type":"socket","data":{"addr":{"type":"unix","data":{"path":"/path/to/unix-listen"}},"server":false,"reconnect":2}}}' \
-device '{"driver":"virtserialport","bus":"virtio-serial0.0","nr":9,"chardev":"charchannel8","id":"channel8","name":"chardev-unix-connect"}' \
-device '{"driver":"virtio-serial-pci","id":"virtio-serial0","bus":"pci.0","addr":"0x3"}' \
-chardev '{"id":"charparallel0","backend":{"type":"parallel","data":{"device":"/dev/parport0"}}}' \
-device '{"driver":"isa-parallel","chardev":"charparallel0","id":"parallel0"}' \
--add-fd set=0,fd=XXXXXXX,opaque=channel0-log \
+-add-fd set=0,fd=@channel0-log-fd@,opaque=channel0-log \
-chardev '{"id":"charchannel0","backend":{"type":"null","data":{"logfile":"/dev/fdset/0","logappend":true}}}' \
-device '{"driver":"virtserialport","bus":"virtio-serial0.0","nr":1,"chardev":"charchannel0","id":"channel0","name":"chardev-null"}' \
--add-fd set=1,fd=XXXXXXX,opaque=channel1-log \
+-add-fd set=1,fd=@channel1-log-fd@,opaque=channel1-log \
-chardev '{"id":"charchannel1","backend":{"type":"vc","data":{"logfile":"/dev/fdset/1","logappend":true}}}' \
-device '{"driver":"virtserialport","bus":"virtio-serial0.0","nr":2,"chardev":"charchannel1","id":"channel1","name":"chardev-vc"}' \
-chardev '{"id":"charchannel2","backend":{"type":"pty","data":{}}}' \
-device '{"driver":"virtserialport","bus":"virtio-serial0.0","nr":3,"chardev":"charchannel2","id":"channel2","name":"chardev-pty"}' \
-chardev '{"id":"charchannel3","backend":{"type":"stdio","data":{}}}' \
-device '{"driver":"virtserialport","bus":"virtio-serial0.0","nr":4,"chardev":"charchannel3","id":"channel3","name":"chardev-stdio"}' \
--add-fd set=2,fd=XXXXXXX,opaque=channel4-source \
+-add-fd set=2,fd=@channel4-fd@,opaque=channel4-source \
-chardev '{"id":"charchannel4","backend":{"type":"file","data":{"out":"/dev/fdset/2","append":true}}}' \
-device '{"driver":"virtserialport","bus":"virtio-serial0.0","nr":5,"chardev":"charchannel4","id":"channel4","name":"chardev-file"}' \
-chardev '{"id":"charchannel5","backend":{"type":"pipe","data":{"device":"/path/to/pipe"}}}' \
-device '{"driver":"virtserialport","bus":"virtio-serial0.0","nr":6,"chardev":"charchannel5","id":"channel5","name":"chardev-pipe"}' \
-chardev '{"id":"charchannel6","backend":{"type":"serial","data":{"device":"/path/to/device"}}}' \
-device '{"driver":"virtserialport","bus":"virtio-serial0.0","nr":7,"chardev":"charchannel6","id":"channel6","name":"chardev-dev"}' \
--chardev '{"id":"charchannel7","backend":{"type":"socket","data":{"addr":{"type":"fd","data":{"str":"XXXXXXX"}},"server":true,"wait":false}}}' \
+-chardev '{"id":"charchannel7","backend":{"type":"socket","data":{"addr":{"type":"fd","data":{"str":"@channel7-fd@"}},"server":true,"wait":false}}}' \
-device '{"driver":"virtserialport","bus":"virtio-serial0.0","nr":8,"chardev":"charchannel7","id":"channel7","name":"chardev-unix-listen"}' \
-chardev '{"id":"charchannel8","backend":{"type":"socket","data":{"addr":{"type":"unix","data":{"path":"/path/to/unix-listen"}},"server":false,"reconnect-ms":2000}}}' \
-device '{"driver":"virtserialport","bus":"virtio-serial0.0","nr":9,"chardev":"charchannel8","id":"channel8","name":"chardev-unix-connect"}' \
-device '{"driver":"virtio-serial-pci","id":"virtio-serial0","bus":"pci.0","addr":"0x3"}' \
-chardev parallel,id=charparallel0,path=/dev/parport0 \
-device '{"driver":"isa-parallel","chardev":"charparallel0","id":"parallel0"}' \
--add-fd set=0,fd=XXXXXXX,opaque=channel0-log \
+-add-fd set=0,fd=@channel0-log-fd@,opaque=channel0-log \
-chardev null,id=charchannel0,logfile=/dev/fdset/0,logappend=on \
-device '{"driver":"virtserialport","bus":"virtio-serial0.0","nr":1,"chardev":"charchannel0","id":"channel0","name":"chardev-null"}' \
--add-fd set=1,fd=XXXXXXX,opaque=channel1-log \
+-add-fd set=1,fd=@channel1-log-fd@,opaque=channel1-log \
-chardev vc,id=charchannel1,logfile=/dev/fdset/1,logappend=on \
-device '{"driver":"virtserialport","bus":"virtio-serial0.0","nr":2,"chardev":"charchannel1","id":"channel1","name":"chardev-vc"}' \
-chardev pty,id=charchannel2 \
-device '{"driver":"virtserialport","bus":"virtio-serial0.0","nr":3,"chardev":"charchannel2","id":"channel2","name":"chardev-pty"}' \
-chardev stdio,id=charchannel3 \
-device '{"driver":"virtserialport","bus":"virtio-serial0.0","nr":4,"chardev":"charchannel3","id":"channel3","name":"chardev-stdio"}' \
--add-fd set=2,fd=XXXXXXX,opaque=channel4-source \
+-add-fd set=2,fd=@channel4-fd@,opaque=channel4-source \
-chardev file,id=charchannel4,path=/dev/fdset/2,append=on \
-device '{"driver":"virtserialport","bus":"virtio-serial0.0","nr":5,"chardev":"charchannel4","id":"channel4","name":"chardev-file"}' \
-chardev pipe,id=charchannel5,path=/path/to/pipe \
-device '{"driver":"virtserialport","bus":"virtio-serial0.0","nr":6,"chardev":"charchannel5","id":"channel5","name":"chardev-pipe"}' \
-chardev serial,id=charchannel6,path=/path/to/device \
-device '{"driver":"virtserialport","bus":"virtio-serial0.0","nr":7,"chardev":"charchannel6","id":"channel6","name":"chardev-dev"}' \
--chardev socket,id=charchannel7,fd=XXXXXXX,server=on,wait=off \
+-chardev socket,id=charchannel7,fd=@channel7-fd@,server=on,wait=off \
-device '{"driver":"virtserialport","bus":"virtio-serial0.0","nr":8,"chardev":"charchannel7","id":"channel7","name":"chardev-unix-listen"}' \
-chardev socket,id=charchannel8,path=/path/to/unix-listen,reconnect=2 \
-device '{"driver":"virtserialport","bus":"virtio-serial0.0","nr":9,"chardev":"charchannel8","id":"channel8","name":"chardev-unix-connect"}' \
-device '{"driver":"virtio-serial-pci","id":"virtio-serial0","bus":"pci.0","addr":"0x3"}' \
-chardev parallel,id=charparallel0,path=/dev/parport0 \
-device '{"driver":"isa-parallel","chardev":"charparallel0","id":"parallel0"}' \
--add-fd set=0,fd=XXXXXXX,opaque=channel0-log \
+-add-fd set=0,fd=@channel0-log-fd@,opaque=channel0-log \
-chardev null,id=charchannel0,logfile=/dev/fdset/0,logappend=on \
-device '{"driver":"virtserialport","bus":"virtio-serial0.0","nr":1,"chardev":"charchannel0","id":"channel0","name":"chardev-null"}' \
--add-fd set=1,fd=XXXXXXX,opaque=channel1-log \
+-add-fd set=1,fd=@channel1-log-fd@,opaque=channel1-log \
-chardev vc,id=charchannel1,logfile=/dev/fdset/1,logappend=on \
-device '{"driver":"virtserialport","bus":"virtio-serial0.0","nr":2,"chardev":"charchannel1","id":"channel1","name":"chardev-vc"}' \
-chardev pty,id=charchannel2 \
-device '{"driver":"virtserialport","bus":"virtio-serial0.0","nr":3,"chardev":"charchannel2","id":"channel2","name":"chardev-pty"}' \
-chardev stdio,id=charchannel3 \
-device '{"driver":"virtserialport","bus":"virtio-serial0.0","nr":4,"chardev":"charchannel3","id":"channel3","name":"chardev-stdio"}' \
--add-fd set=2,fd=XXXXXXX,opaque=channel4-source \
+-add-fd set=2,fd=@channel4-fd@,opaque=channel4-source \
-chardev file,id=charchannel4,path=/dev/fdset/2,append=on \
-device '{"driver":"virtserialport","bus":"virtio-serial0.0","nr":5,"chardev":"charchannel4","id":"channel4","name":"chardev-file"}' \
-chardev pipe,id=charchannel5,path=/path/to/pipe \
-device '{"driver":"virtserialport","bus":"virtio-serial0.0","nr":6,"chardev":"charchannel5","id":"channel5","name":"chardev-pipe"}' \
-chardev serial,id=charchannel6,path=/path/to/device \
-device '{"driver":"virtserialport","bus":"virtio-serial0.0","nr":7,"chardev":"charchannel6","id":"channel6","name":"chardev-dev"}' \
--chardev socket,id=charchannel7,fd=XXXXXXX,server=on,wait=off \
+-chardev socket,id=charchannel7,fd=@channel7-fd@,server=on,wait=off \
-device '{"driver":"virtserialport","bus":"virtio-serial0.0","nr":8,"chardev":"charchannel7","id":"channel7","name":"chardev-unix-listen"}' \
-chardev socket,id=charchannel8,path=/path/to/unix-listen,reconnect-ms=2000 \
-device '{"driver":"virtserialport","bus":"virtio-serial0.0","nr":9,"chardev":"charchannel8","id":"channel8","name":"chardev-unix-connect"}' \
-no-shutdown \
-boot strict=on \
-device '{"driver":"piix3-usb-uhci","id":"usb","bus":"pci.0","addr":"0x1.0x2"}' \
--add-fd set=0,fd=XXXXXXX,opaque=serial0-source \
+-add-fd set=0,fd=@serial0-fd@,opaque=serial0-source \
-chardev file,id=charserial0,path=/dev/fdset/0,append=on \
-device '{"driver":"isa-serial","chardev":"charserial0","id":"serial0","index":0}' \
-chardev socket,id=charserial1,path=/tmp/serial.sock \
-boot strict=on \
-device '{"driver":"piix3-usb-uhci","id":"usb","bus":"pci.0","addr":"0x1.0x2"}' \
-device '{"driver":"virtio-serial-pci","id":"virtio-serial0","bus":"pci.0","addr":"0x2"}' \
--chardev socket,id=charconsole0,fd=XXXXXXX,server=on,wait=off \
+-chardev socket,id=charconsole0,fd=@console0-fd@,server=on,wait=off \
-device '{"driver":"virtconsole","chardev":"charconsole0","id":"console0"}' \
-chardev socket,id=charconsole1,path=/tmp/connect.socket \
-device '{"driver":"virtconsole","chardev":"charconsole1","id":"console1"}' \
-device '{"driver":"virtio-net-pci","netdev":"hostnet0","id":"net0","mac":"52:54:00:9a:e6:c6","bus":"pci.1","addr":"0x0"}' \
-chardev pty,id=charserial0 \
-serial chardev:charserial0 \
--chardev socket,id=charchannel0,fd=XXXXXXX,server=on,wait=off \
+-chardev socket,id=charchannel0,fd=@channel0-fd@,server=on,wait=off \
-device '{"driver":"virtserialport","bus":"virtio-serial0.0","nr":1,"chardev":"charchannel0","id":"channel0","name":"org.qemu.guest_agent.0"}' \
-audiodev '{"id":"audio1","driver":"none"}' \
-device '{"driver":"virtio-balloon-pci","id":"balloon0","bus":"pci.4","addr":"0x0"}' \
-device '{"driver":"virtio-net-pci","netdev":"hostnet0","id":"net0","mac":"52:54:00:9a:e6:c6","bus":"pci.1","addr":"0x0"}' \
-chardev pty,id=charserial0 \
-device '{"driver":"isa-serial","chardev":"charserial0","id":"serial0","index":0}' \
--chardev socket,id=charchannel0,fd=XXXXXXX,server=on,wait=off \
+-chardev socket,id=charchannel0,fd=@channel0-fd@,server=on,wait=off \
-device '{"driver":"virtserialport","bus":"virtio-serial0.0","nr":1,"chardev":"charchannel0","id":"channel0","name":"org.qemu.guest_agent.0"}' \
-audiodev '{"id":"audio1","driver":"none"}' \
-global ICH9-LPC.noreboot=off \
-device '{"driver":"virtio-net-pci","netdev":"hostnet0","id":"net0","mac":"52:54:00:09:a4:37","bus":"pci.1","addr":"0x0"}' \
-chardev pty,id=charserial0 \
-serial chardev:charserial0 \
--chardev socket,id=charchannel0,fd=XXXXXXX,server=on,wait=off \
+-chardev socket,id=charchannel0,fd=@channel0-fd@,server=on,wait=off \
-device '{"driver":"virtserialport","bus":"virtio-serial0.0","nr":1,"chardev":"charchannel0","id":"channel0","name":"org.qemu.guest_agent.0"}' \
-device '{"driver":"usb-tablet","id":"input0","bus":"usb.0","port":"1"}' \
-device '{"driver":"usb-kbd","id":"input1","bus":"usb.0","port":"2"}' \
-device '{"driver":"virtio-net-pci","netdev":"hostnet0","id":"net0","mac":"52:54:00:09:a4:37","bus":"pci.1","addr":"0x0"}' \
-chardev pty,id=charserial0 \
-serial chardev:charserial0 \
--chardev socket,id=charchannel0,fd=XXXXXXX,server=on,wait=off \
+-chardev socket,id=charchannel0,fd=@channel0-fd@,server=on,wait=off \
-device '{"driver":"virtserialport","bus":"virtio-serial0.0","nr":1,"chardev":"charchannel0","id":"channel0","name":"org.qemu.guest_agent.0"}' \
-audiodev '{"id":"audio1","driver":"none"}' \
-device '{"driver":"virtio-balloon-pci","id":"balloon0","bus":"pci.5","addr":"0x0"}' \
-device '{"driver":"ccid-card-emulated","backend":"certificates","cert1":"cert1,foo","cert2":"cert2","cert3":"cert3","db":"/etc/pki/nssdb,foo","id":"smartcard0","bus":"ccid0.0"}' \
-chardev serial,id=charserial0,path=/dev/ttyS2,,foo \
-device '{"driver":"isa-serial","chardev":"charserial0","id":"serial0","index":1}' \
--add-fd set=0,fd=XXXXXXX,opaque=serial1-source \
+-add-fd set=0,fd=@serial1-fd@,opaque=serial1-source \
-chardev file,id=charserial1,path=/dev/fdset/0,append=on \
-device '{"driver":"isa-serial","chardev":"charserial1","id":"serial1","index":0}' \
-chardev pipe,id=charchannel0,path=/tmp/guestfwd,,foo \
-no-shutdown \
-boot strict=on \
-device '{"driver":"piix3-usb-uhci","id":"usb","bus":"pci.0","addr":"0x1.0x2"}' \
--chardev socket,id=charparallel0,fd=XXXXXXX,server=on,wait=off \
+-chardev socket,id=charparallel0,fd=@parallel0-fd@,server=on,wait=off \
-device '{"driver":"isa-parallel","chardev":"charparallel0","id":"parallel0"}' \
-chardev socket,id=charparallel1,path=/tmp/parport1.socket \
-device '{"driver":"isa-parallel","chardev":"charparallel1","id":"parallel1"}' \
-device '{"driver":"virtio-net-pci","netdev":"hostnet0","id":"net0","mac":"52:54:00:a2:44:92","bus":"pci.0","addr":"0x1"}' \
-chardev pty,id=charserial0 \
-device '{"driver":"spapr-vty","chardev":"charserial0","id":"serial0","reg":805306368}' \
--chardev socket,id=charchannel0,fd=XXXXXXX,server=on,wait=off \
+-chardev socket,id=charchannel0,fd=@channel0-fd@,server=on,wait=off \
-device '{"driver":"virtserialport","bus":"virtio-serial0.0","nr":1,"chardev":"charchannel0","id":"channel0","name":"org.qemu.guest_agent.0"}' \
-device '{"driver":"usb-tablet","id":"input0","bus":"usb.0","port":"1"}' \
-device '{"driver":"usb-kbd","id":"input1","bus":"usb.0","port":"2"}' \
-device '{"driver":"virtio-net-pci","netdev":"hostnet0","id":"net0","mac":"52:54:00:09:a4:37","bus":"pci.0","addr":"0x1"}' \
-chardev pty,id=charserial0 \
-device '{"driver":"spapr-vty","chardev":"charserial0","id":"serial0","reg":805306368}' \
--chardev socket,id=charchannel0,fd=XXXXXXX,server=on,wait=off \
+-chardev socket,id=charchannel0,fd=@channel0-fd@,server=on,wait=off \
-device '{"driver":"virtserialport","bus":"virtio-serial0.0","nr":1,"chardev":"charchannel0","id":"channel0","name":"org.qemu.guest_agent.0"}' \
-audiodev '{"id":"audio1","driver":"none"}' \
-device '{"driver":"virtio-balloon-pci","id":"balloon0","bus":"pci.0","addr":"0x5"}' \
-device '{"driver":"virtio-net-pci","netdev":"hostnet0","id":"net0","mac":"52:54:00:9a:e6:c6","bus":"pci.1","addr":"0x0"}' \
-chardev pty,id=charserial0 \
-device '{"driver":"isa-serial","chardev":"charserial0","id":"serial0","index":0}' \
--chardev socket,id=charchannel0,fd=XXXXXXX,server=on,wait=off \
+-chardev socket,id=charchannel0,fd=@channel0-fd@,server=on,wait=off \
-device '{"driver":"virtserialport","bus":"virtio-serial0.0","nr":1,"chardev":"charchannel0","id":"channel0","name":"org.qemu.guest_agent.0"}' \
-chardev spicevmc,id=charchannel1,name=vdagent \
-device '{"driver":"virtserialport","bus":"virtio-serial0.0","nr":2,"chardev":"charchannel1","id":"channel1","name":"com.redhat.spice.0"}' \
-device '{"driver":"virtio-net-pci","netdev":"hostnet0","id":"net0","mac":"52:54:00:09:a4:37","bus":"pci.1","addr":"0x0"}' \
-chardev pty,id=charserial0 \
-serial chardev:charserial0 \
--chardev socket,id=charchannel0,fd=XXXXXXX,server=on,wait=off \
+-chardev socket,id=charchannel0,fd=@channel0-fd@,server=on,wait=off \
-device '{"driver":"virtserialport","bus":"virtio-serial0.0","nr":1,"chardev":"charchannel0","id":"channel0","name":"org.qemu.guest_agent.0"}' \
-device '{"driver":"usb-tablet","id":"input0","bus":"usb.0","port":"1"}' \
-device '{"driver":"usb-kbd","id":"input1","bus":"usb.0","port":"2"}' \
-device '{"driver":"virtio-net-device","netdev":"hostnet0","id":"net0","mac":"52:54:00:09:a4:37"}' \
-chardev pty,id=charserial0 \
-serial chardev:charserial0 \
--chardev socket,id=charchannel0,fd=XXXXXXX,server=on,wait=off \
+-chardev socket,id=charchannel0,fd=@channel0-fd@,server=on,wait=off \
-device '{"driver":"virtserialport","bus":"virtio-serial0.0","nr":1,"chardev":"charchannel0","id":"channel0","name":"org.qemu.guest_agent.0"}' \
-audiodev '{"id":"audio1","driver":"none"}' \
-device '{"driver":"virtio-balloon-device","id":"balloon0"}' \
-device '{"driver":"virtio-net-pci","netdev":"hostnet0","id":"net0","mac":"52:54:00:09:a4:37","bus":"pci.1","addr":"0x0"}' \
-chardev pty,id=charserial0 \
-serial chardev:charserial0 \
--chardev socket,id=charchannel0,fd=XXXXXXX,server=on,wait=off \
+-chardev socket,id=charchannel0,fd=@channel0-fd@,server=on,wait=off \
-device '{"driver":"virtserialport","bus":"virtio-serial0.0","nr":1,"chardev":"charchannel0","id":"channel0","name":"org.qemu.guest_agent.0"}' \
-audiodev '{"id":"audio1","driver":"none"}' \
-device '{"driver":"virtio-balloon-pci","id":"balloon0","bus":"pci.5","addr":"0x0"}' \
-device '{"driver":"virtio-blk-ccw","devno":"fe.0.0000","drive":"libvirt-1-format","id":"virtio-disk0","bootindex":1}' \
-netdev '{"type":"user","id":"hostnet0"}' \
-device '{"driver":"virtio-net-ccw","netdev":"hostnet0","id":"net0","mac":"52:54:00:09:1a:29","devno":"fe.0.0001"}' \
--chardev socket,id=charchannel0,fd=XXXXXXX,server=on,wait=off \
+-chardev socket,id=charchannel0,fd=@channel0-fd@,server=on,wait=off \
-device '{"driver":"virtserialport","bus":"virtio-serial0.0","nr":1,"chardev":"charchannel0","id":"channel0","name":"org.qemu.guest_agent.0"}' \
-chardev pty,id=charconsole0 \
-device '{"driver":"sclpconsole","chardev":"charconsole0","id":"console0"}' \
-device '{"driver":"virtio-blk-ccw","devno":"fe.0.0000","drive":"libvirt-1-format","id":"virtio-disk0","bootindex":1}' \
-netdev '{"type":"user","id":"hostnet0"}' \
-device '{"driver":"virtio-net-ccw","netdev":"hostnet0","id":"net0","mac":"52:54:00:09:a4:37","devno":"fe.0.0001"}' \
--chardev socket,id=charchannel0,fd=XXXXXXX,server=on,wait=off \
+-chardev socket,id=charchannel0,fd=@channel0-fd@,server=on,wait=off \
-device '{"driver":"virtserialport","bus":"virtio-serial0.0","nr":1,"chardev":"charchannel0","id":"channel0","name":"org.qemu.guest_agent.0"}' \
-chardev pty,id=charconsole0 \
-device '{"driver":"sclpconsole","chardev":"charconsole0","id":"console0"}' \
-device '{"driver":"piix3-usb-uhci","id":"usb","bus":"pci.0","addr":"0x1.0x2"}' \
-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","read-only":false}' \
-device '{"driver":"ide-hd","bus":"ide.0","unit":0,"drive":"libvirt-1-storage","id":"ide0-0-0","bootindex":1}' \
--add-fd set=0,fd=XXXXXXX,opaque=serial0-source \
+-add-fd set=0,fd=@serial0-fd@,opaque=serial0-source \
-chardev file,id=charserial0,path=/dev/fdset/0,append=on \
-device '{"driver":"isa-serial","chardev":"charserial0","id":"serial0","index":0}' \
-audiodev '{"id":"audio1","driver":"none"}' \
-device '{"driver":"piix3-usb-uhci","id":"usb","bus":"pci.0","addr":"0x1.0x2"}' \
-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","read-only":false}' \
-device '{"driver":"ide-hd","bus":"ide.0","unit":0,"drive":"libvirt-1-storage","id":"ide0-0-0","bootindex":1}' \
--add-fd set=0,fd=XXXXXXX,opaque=serial0-source \
--add-fd set=1,fd=XXXXXXX,opaque=serial0-log \
+-add-fd set=0,fd=@serial0-fd@,opaque=serial0-source \
+-add-fd set=1,fd=@serial0-log-fd@,opaque=serial0-log \
-chardev file,id=charserial0,path=/dev/fdset/0,append=on,logfile=/dev/fdset/1,logappend=on \
-device '{"driver":"isa-serial","chardev":"charserial0","id":"serial0","index":0}' \
-audiodev '{"id":"audio1","driver":"none"}' \
-device '{"driver":"ide-hd","bus":"ide.0","unit":0,"drive":"libvirt-1-storage","id":"ide0-0-0","bootindex":1}' \
-chardev pty,id=charserial0 \
-device '{"driver":"isa-serial","chardev":"charserial0","id":"serial0","index":0}' \
--add-fd set=0,fd=XXXXXXX,opaque=serial1-source \
+-add-fd set=0,fd=@serial1-fd@,opaque=serial1-source \
-chardev file,id=charserial1,path=/dev/fdset/0,append=on \
-device '{"driver":"isa-serial","chardev":"charserial1","id":"serial1","index":1}' \
-audiodev '{"id":"audio1","driver":"none"}' \
-device '{"driver":"piix3-usb-uhci","id":"usb","bus":"pci.0","addr":"0x1.0x2"}' \
-chardev socket,id=charserial0,path=/tmp/serial.sock \
-device '{"driver":"isa-serial","chardev":"charserial0","id":"serial0","index":0}' \
--chardev socket,id=charserial1,fd=XXXXXXX,server=on,wait=off \
+-chardev socket,id=charserial1,fd=@serial1-fd@,server=on,wait=off \
-device '{"driver":"isa-serial","chardev":"charserial1","id":"serial1","index":1}' \
-audiodev '{"id":"audio1","driver":"none"}' \
-device '{"driver":"virtio-balloon-pci","id":"balloon0","bus":"pci.0","addr":"0x2"}' \
-boot strict=on \
-device '{"driver":"piix3-usb-uhci","id":"usb","bus":"pci.0","addr":"0x1.0x2"}' \
-device '{"driver":"usb-ccid","id":"ccid0","bus":"usb.0","port":"1"}' \
--chardev socket,id=charsmartcard0,fd=XXXXXXX,server=on,wait=off \
+-chardev socket,id=charsmartcard0,fd=@smartcard0-fd@,server=on,wait=off \
-device '{"driver":"ccid-card-passthru","chardev":"charsmartcard0","id":"smartcard0","bus":"ccid0.0"}' \
-audiodev '{"id":"audio1","driver":"none"}' \
-device '{"driver":"virtio-balloon-pci","id":"balloon0","bus":"pci.0","addr":"0x2"}' \
-audiodev '{"id":"audio1","driver":"none"}' \
-chardev socket,id=charredir0,path=/tmp/connect.socket \
-device '{"driver":"usb-redir","chardev":"charredir0","id":"redir0","bus":"usb.0","port":"1"}' \
--chardev socket,id=charredir1,fd=XXXXXXX,server=on,wait=off \
+-chardev socket,id=charredir1,fd=@redir1-fd@,server=on,wait=off \
-device '{"driver":"usb-redir","chardev":"charredir1","id":"redir1","bus":"usb.0","port":"2"}' \
-device '{"driver":"virtio-balloon-pci","id":"balloon0","bus":"pci.0","addr":"0x2"}' \
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
-device '{"driver":"isa-serial","chardev":"charserial0","id":"serial0","index":0}' \
-chardev pty,id=charserial1 \
-device '{"driver":"isa-serial","chardev":"charserial1","id":"serial1","index":1}' \
--chardev socket,id=charchannel0,fd=XXXXXXX,server=on,wait=off \
+-chardev socket,id=charchannel0,fd=@channel0-fd@,server=on,wait=off \
-device '{"driver":"virtserialport","bus":"virtio-serial0.0","nr":1,"chardev":"charchannel0","id":"channel0","name":"org.qemu.guest_agent.0"}' \
-audiodev '{"id":"audio1","driver":"none"}' \
-vnc 127.0.0.1:0,audiodev=audio1 \
-device '{"driver":"piix3-usb-uhci","id":"usb","bus":"pci.0","addr":"0x1.0x2"}' \
-audiodev '{"id":"audio1","driver":"none"}' \
-device '{"driver":"virtio-balloon-pci","id":"balloon0","bus":"pci.0","addr":"0x2"}' \
--chardev socket,id=charrng0,fd=XXXXXXX,server=on,wait=off \
+-chardev socket,id=charrng0,fd=@rng0-fd@,server=on,wait=off \
-object '{"qom-type":"rng-egd","id":"objrng0","chardev":"charrng0"}' \
-device '{"driver":"virtio-rng-pci","rng":"objrng0","id":"rng0","bus":"pci.0","addr":"0x3"}' \
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
-device '{"driver":"virtio-net-pci","netdev":"hostnet0","id":"net0","mac":"52:54:00:4c:e3:86","bus":"pci.0","addr":"0x3"}' \
-chardev pty,id=charserial0 \
-device '{"driver":"isa-serial","chardev":"charserial0","id":"serial0","index":0}' \
--chardev socket,id=charchannel0,fd=XXXXXXX,server=on,wait=off \
+-chardev socket,id=charchannel0,fd=@channel0-fd@,server=on,wait=off \
-device '{"driver":"virtserialport","bus":"virtio-serial0.0","nr":1,"chardev":"charchannel0","id":"channel0","name":"org.qemu.guest_agent.0"}' \
-device '{"driver":"usb-tablet","id":"input0","bus":"usb.0","port":"1"}' \
-audiodev '{"id":"audio1","driver":"none"}' \
-device '{"driver":"virtio-net-pci","netdev":"hostnet0","id":"net0","mac":"52:54:00:09:a4:37","bus":"pci.0","addr":"0x2"}' \
-chardev pty,id=charserial0 \
-device '{"driver":"isa-serial","chardev":"charserial0","id":"serial0","index":0}' \
--chardev socket,id=charchannel0,fd=XXXXXXX,server=on,wait=off \
+-chardev socket,id=charchannel0,fd=@channel0-fd@,server=on,wait=off \
-device '{"driver":"virtserialport","bus":"virtio-serial0.0","nr":1,"chardev":"charchannel0","id":"channel0","name":"org.qemu.guest_agent.0"}' \
-audiodev '{"id":"audio1","driver":"none"}' \
-device '{"driver":"virtio-balloon-pci","id":"balloon0","bus":"pci.0","addr":"0x6"}' \
-device '{"driver":"virtio-net-pci","netdev":"hostnet0","id":"net0","mac":"52:54:00:d2:70:0b","bus":"pci.1","addr":"0x0"}' \
-chardev pty,id=charserial0 \
-device '{"driver":"isa-serial","chardev":"charserial0","id":"serial0","index":0}' \
--chardev socket,id=charchannel0,fd=XXXXXXX,server=on,wait=off \
+-chardev socket,id=charchannel0,fd=@channel0-fd@,server=on,wait=off \
-device '{"driver":"virtserialport","bus":"virtio-serial0.0","nr":1,"chardev":"charchannel0","id":"channel0","name":"org.qemu.guest_agent.0"}' \
-device '{"driver":"usb-tablet","id":"input0","bus":"usb.0","port":"1"}' \
-audiodev '{"id":"audio1","driver":"none"}' \
-device '{"driver":"virtio-net-pci","netdev":"hostnet0","id":"net0","mac":"52:54:00:09:a4:37","bus":"pci.1","addr":"0x0"}' \
-chardev pty,id=charserial0 \
-device '{"driver":"isa-serial","chardev":"charserial0","id":"serial0","index":0}' \
--chardev socket,id=charchannel0,fd=XXXXXXX,server=on,wait=off \
+-chardev socket,id=charchannel0,fd=@channel0-fd@,server=on,wait=off \
-device '{"driver":"virtserialport","bus":"virtio-serial0.0","nr":1,"chardev":"charchannel0","id":"channel0","name":"org.qemu.guest_agent.0"}' \
-audiodev '{"id":"audio1","driver":"none"}' \
-global ICH9-LPC.noreboot=off \
break;
case VIR_DOMAIN_CHR_TYPE_FILE:
- fakesourcefd = 1750;
-
- if (fcntl(fakesourcefd, F_GETFD) != -1)
- abort();
-
charpriv->sourcefd = qemuFDPassNew(devalias, priv);
+ if (fakesourcefd == -1)
+ fakesourcefd = virTestMakeDummyFD(g_strdup_printf("@%s-fd@", devalias));
qemuFDPassAddFD(charpriv->sourcefd, &fakesourcefd, "-source");
break;
case VIR_DOMAIN_CHR_TYPE_UNIX:
if (chardev->data.nix.listen) {
g_autofree char *name = g_strdup_printf("%s-source", devalias);
+
if (fakesourcefd == -1)
- fakesourcefd = 1729;
+ fakesourcefd = virTestMakeDummyFD(g_strdup_printf("@%s-fd@", devalias));
charpriv->directfd = qemuFDPassDirectNew(name, &fakesourcefd);
}
}
if (chardev->logfile) {
- int fd = 1751;
-
- if (fcntl(fd, F_GETFD) != -1)
- abort();
+ int fd = virTestMakeDummyFD(g_strdup_printf("@%s-log-fd@", devalias));
charpriv->logfd = qemuFDPassNew(devalias, priv);
-
qemuFDPassAddFD(charpriv->logfd, &fd, "-log");
}