39 lines
784 B
Plaintext
39 lines
784 B
Plaintext
# 게스트가 하드웨어에 닿는 갈래는 셋이고 깊이가 다르다
|
|
# 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"
|