spice
Table of Contents

spice vdagent打开qemu虚拟I/O串口virio serial port的过程

add at 2015-09-22

  1. linux内核virio控制台驱动发送VIRTIO_CONSOLE_PORT_OPEN消息给qemu
  2. qemu的spicevmc字符设备驱动调用qemu_spice_add_interface来注册spice-server的agent字符设备
  3. spice-server接着调用spicevmc驱动的状态改变回调函数,使其准备开始接收数据
  4. 状态回调函数发送CHR_EVENT_OPENED消息给virio控制台字符设备后端
  5. virio控制台字符设备后端发送VIRTIO_CONSOLE_PORT_OPEN给linux内核的virio控制台驱动 只有当上面的5步完成之后,virio控制台驱动才认为虚拟串口处于打开状态,能够进行读写

spice-vdagent使用

add at 2015-09-23

功能:

构成:

使用方法:

示例:

qemu-kvm -hda ubuntu.raw  -vnc :2 -m 4096 -smp 4 -spice port=1235,password=123  -device virtio-serial-pci,id=virtio-serial0,max_ports=16,bus=pci.0,addr=0x5 -chardev spicevmc,name=vdagent,id=vdagent -device virtserialport,nr=1,bus=virtio-serial0.0,chardev=vdagent,name=com.redhat.spice.0 -usbdevice tablet