QEMU x86架构的Machine:Q35 vs. I440FX
本文内容转载自:Qemu X86架构的Machine Type。
QEMU支持的X86架构非常少,在Q35出现之前,就只有诞生于1996年的I440FX/PIIX一个架构。Intel不断推出新的芯片组, 加入了PCIe、AHCI等等。I440FX已经无法满足需求,为此,在 KVM Forum 2012 上,Jason Baron带来了 A New Chipset For Qemu - Intel’s Q35。
1. Q35 vs. I440FX
Q35是Intel在2007年9月推出的芯片组。
Topology of I440FX/PIIX4 Vs. Q35
- Q35 has IOMMU
- Q35 has PCIe
- Q35 has Super I/O chip with LPC interconnect
- Q35 has 12 USB ports
- Q35 SATA vs. PATA
IRQ Routing I440FX/PIIX4 Vs. Q35
- Q35 PIRQ has 8 pins - PIRQ A-H
- Q35 has two PIC modes – legacy PIC vs I/O APIC
- Q35 runs in I/O APIC mode
- Slots 0-24 are mapped to PIRQ E-H round robin
- PCIe Bus to PIRQ mappings can be programmed
- Slots 25-31
- Q35 has 8 PCI IRQ vectors available, I440FX/PIIX4 only 2
I440FX/PIIX4 vs. Q35 devices
- AHCI vs. Legacy IDE
- PCI addresses
- Populate slots using flags
- Default slots
2. i440fx/PIIX架构
Intel 440FX是北桥芯片,用于连接主板上的高速设备。向上可以连接多个处理器;向下则主要提供了连接DRAM的接口和连接PCI总线的接口(通过PCI Host Bridge), 通过该PCI root port扩展出整个PCI设备树,包括PIIX南桥芯片。
PIIX是南桥芯片,用于连接主板上的低速设备,主要包括IDE控制器、DMA控制器,USB控制器, SMBus总线控制器,X-Bus控制器,USB控制,PIT(Programmable Interval Timer), RTC(Real Time Clock,实时时钟), PIC(可编程中断控制器)等,并且提供ISA bridge连接ISA总线,用于连接更多的低速设备。
3. Q35架构
北桥为GMCH(Graphics and Memory Controller Hub),南桥为ICH9(I/O Controller Hub)。CPU 通过前端总线(FSB)连接到GMCH;GMCH连接内存,显卡,高速PCIe接口等;南桥芯片则为USB,低速PCI / SATA 等提供接入。
4. list QEMU supported machines
1 | kvm@kvm:~$ qemu-system-x86_64 -machine help |
参考资料: