QEMU X86架构机器类型之pc-i440fx-piix

328 阅读3分钟

关注微信公众号:Linux内核拾遗

文章来源:mp.weixin.qq.com/s/UfLogb4gb…

QEMU机器类型(Machine Type)是 QEMU(Quick EMUlator)中用于定义虚拟机硬件配置的参数。不同的 Machine Type 表示不同的硬件架构和设备组合,它们决定了虚拟机所能模拟的硬件特性和功能。

可以通过qemu-system-x86_64 -machine help来查看当前QEMU版本支持的机器类型列表:

image-20240611232906120

pc-i440fx和q35是x86架构下常见的两种标准PC配置:

  • pc-i440fx: 基于旧的 i440FX 芯片组和 PIIX3/PIIX4 南桥芯片,适合旧操作系统。
  • q35: 基于较新的 Q35 芯片组,支持 PCI Express,适合现代操作系统。

本文将重点介绍pc-i440fx机器类型,其中pc-i440fx-2.x 表示具体版本的 i440FX 配置,适用于特定版本的模拟需求。

QEMU本身支持的X86架构非常少,在Q35出现之前,就只有诞生于1996年的i440FX + PIIX一个架构。

  • Intel i440FX 芯片组:i440FX 是 Intel 推出的经典芯片组,主要用于支持 Pentium Pro 处理器。支持 PCI 总线架构,提供了对 64MB 以上内存的支持,改进了内存和 I/O 的性能。
  • PIIX3 和 PIIX4 南桥芯片:PIIX(PCI ISA IDE Xcelerator)是 Intel 的南桥芯片,用于连接低速外设。它提供了对 IDE 控制器、USB 控制器和其他低速总线接口的支持。

下面是 I440FX + PIIX4 的整体架构图:

I440FX转存失败,建议直接上传图片文件

总体而言,QEMU中的pc-i440fx模拟了以下的经典虚拟机硬件组件配置:

  1. 主桥和桥接器

    1. i440FX PCI host bridge:PCI主桥,支持 PCI 总线。
    2. PIIX3 PCI to ISA bridge:连接低速外设,支持ISA总线设备。
  2. 图形显示

    • Cirrus CLGD 5446 PCI VGA 卡:支持包括非标准模式在内的硬件级别显示。

    • 虚拟 VGA 卡:带有 Bochs VESA 扩展的虚拟 VGA 卡。

  3. 输入设备

    • PS/2 鼠标和键盘:标准的 PS/2 接口输入设备。
  4. 存储设备

    • 2 个 PCI IDE 接口:支持硬盘和 CD-ROM 驱动器。

    • 软盘驱动器:经典的软盘驱动支持。

  5. 网络设备

    • PCI 和 ISA 网络适配器:用于网络连接的虚拟网卡。
  6. 串口通信

    • 串行端口:虚拟串行通信接口。
  7. 远程管理

    • IPMI BMC:内部或外部的虚拟智能平台管理接口(IPMI)基本管理控制器(BMC)。
  8. 声卡设备

    • Creative SoundBlaster 16 声卡:经典的16位声卡。

    • ENSONIQ AudioPCI ES1370 声卡:兼容 ENSONIQ 的 PCI 声卡。

    • Intel 82801AA AC97 音频兼容声卡:AC97 标准的声卡。

    • Intel HD Audio 控制器和 HDA 编码器:现代的高清音频支持。

    • Adlib (OPL2) - Yamaha YM3812 兼容芯片:经典的 Adlib 声卡芯片。

    • Gravis Ultrasound GF1 声卡:经典的 GF1 声卡。

    • CS4231A 兼容声卡:经典的 CS4231A 声卡。

    • PC 扬声器:支持标准的 PC 扬声器声音。

  9. USB 控制器

    • PCI UHCI、OHCI、EHCI 或 XHCI USB 控制器:支持不同版本的 USB 标准。

    • 虚拟 USB-1.1 hub:用于连接多个虚拟 USB 设备的集线器。

参考阅读

www.qemu.org/docs/master…

关注微信公众号:Linux内核拾遗

文章来源:mp.weixin.qq.com/s/UfLogb4gb…