# 게스트가 하드웨어에 닿는 갈래는 셋이고 깊이가 다르다 # Question: 게스트의 CPU 실행·virtio I/O·직접 할당한 장치는 각각 어디까지 내려가고 호스트 유저공간을 지나는가 direction: down n0: "QEMU" { shape: rectangle } n1: "VFIO" { shape: rectangle } n2: "물리 PCI 장치" { shape: rectangle } n3: "IOMMU" { shape: rectangle } n4: "KVM" { shape: rectangle } n5: "물리 CPU" { shape: rectangle } n6: "게스트 코드" { shape: rectangle } n7: "게스트 virtio 드라이버" { shape: rectangle } n8: "vhost" { shape: rectangle } n0 -> n1: "장치 fd" n1 -> n2: "vfio-pci 결합" n2 -> n3: "DMA" n0 -> n4: "KVM_RUN" n4 -> n5: "VM entry" n5 -> n6: "VMX non-root" n0 -> n7: "virtqueue" n0 -> n8: "제어 ioctl"