Qemu/KVM虚拟化外设的几种方式:
1)全虚拟化 (Full Virtualized)
软件模拟各种硬件资源,总线,控制器,寄存器等;实行中断,I/O读写等操作;客户机的I/O操作,会被KVM模块捕获,KVM通知Qemu模拟器,完成相应的I/O操作。
2)半虚拟化 (Paravirtualized)
通过virt-IO,中断,I/O读写操作,由KVM内核模块,控制物理设备驱动完成;客户机的前端驱动,直接与内核模块的后端驱动沟通。
3)外设直通 (Host Device Pass-Through,Directed I/O)
需要硬件支持,CPU,主板芯片组,支持VT-D技术,软件层面,BIOS,操作系统需要Enable IO-MMU
目前只支持基于PCI总线接口的外设。