# Enable tracing In virsh qemu-monitor-command --hmp trace-event usb_xhci_* on qemu-monitor-command --hmp info trace-events output goes to /var/log/libvirt/qemu/.log by default # 9pfs * Libvirt XML *mapped* is important. It uses extended attributes so the filesystem that needs to be mounted with *user_xattr* on the host filesystem and the folder needs to be writeable by qemu: mount -o remount,user_xattr /cache/ltstest chown libvirt-qemu /cache/ltstest The Guests fstab then uses: ltstest /ltstest 9p trans=virtio,version=9p2000.L,rw 0 0 After mounting you can write from the guest to the hosts fileystem: mount /ltstest cd /ltstest && touch a results on the host as extended attributes # attr -l a Attribute "virtfs.uid" has a 4 byte value for a Attribute "virtfs.gid" has a 4 byte value for a Attribute "virtfs.mode" has a 4 byte value for a For details on 9pfs see http://man.cat-v.org/plan_9/5/intro # Hot (un)plug Devices # ## PCI devices ## http://www.linux-kvm.org/page/Hotadd_pci_devices ## UARTs ## http://nairobi-embedded.org/qemu_character_devices.html ## Sound ## Devices are not hotpluggable via libvirt ([#1417464](https://bugzilla.redhat.com/show_bug.cgi?id=1417464)) but via QMP monitor: qemu-monitor-command '{ "execute": "device_add", "arguments": { "driver": "ES1370", "id": "snd1" }}' qemu-monitor-command '{ "execute": "device_del", "arguments": { "id": "snd1" }} qemu-monitor-command '{ "execute": "device_add", "arguments": { "driver": "AC97", "id": "snd2" }}' qemu-monitor-command '{ "execute": "device_del", "arguments": { "id": "snd2" }} [More details on QMP commands](https://git.qemu.org/?p=qemu.git;a=blob;f=qapi-schema.json) # Misc # * List all devices: qemu-system-x86_64 -device ? * Enabling the monitor on raw qemu $ qemu-system-i386 -qmp tcp:localhost:4444,server,nowait $ telnet localhost 4444 { "execute": "qmp_capabilities" } {"execute": "commands"}