Arm 服务器基础系统架构参考板(sbsa-ref)
sbsa-ref 板旨在模拟真实硬件的形态(而 virt 是不对应任何真实硬件的通用板平台)。
硬件部分由两项规范定义:
Arm 基础启动要求 (BBR)规范定义固件如何向操作系统报告这些信息。
此机器用于开发固件,以及通过操作系统测试标准符合性。
支持的设备
sbsa-ref 板支持:
数量可配置的 AArch64 CPU
GIC 第 3 版
系统总线 AHCI 控制器
系统总线 XHCI 控制器
AHCI 总线上的 CD-ROM 和硬盘
PCIe 总线上的 E1000E 以太网卡
PCIe 总线上的 Bochs 显示适配器
通用 SBSA 看门狗设备
板与固件之间的接口
sbsa-ref 是静态系统,通过非常精简的设备树向固件报告系统组件中无法自动发现的信息。这既包括内部硬件,也包括受 QEMU 命令行影响的部分(即 CPU 和内存)。因此,必须使用针对特定硬件布局构建的固件,与真实机器一样。
注意
QEMU 使用极简设备树,向客户机 EL3 固件提供硬件平台的最少信息。这不是 Linux 设备树,甚至也不是固件设备树。
这些信息由 QEMU 传递,用于描述受 QEMU 命令行影响、而硬件平台原本可通过其他机制在运行时发现的信息。
最终,此设备树可能会被对模拟 SCP 的 IPC 调用替代。
设备树信息
设备树报告:
CPU
内存
平台版本
GIC 地址
CPU 和内存的 NUMA 节点 ID
CPU 拓扑信息
平台版本
平台版本仅用于告知平台固件,它运行在哪种 sbsa-ref 板上。它既不是 QEMU 的版本化机器类型,也不反映所提供的 SBSA/SystemReady SR 支持级别。
引入破坏固件兼容性的变更时,更新 machine-version-major 值;添加不破坏固件兼容性的功能时,更新 machine-version-minor 值。
平台版本变化:
- 0.0
设备树包含 CPU、内存和平台版本信息。
- 0.1
设备树包含 GIC 信息。
- 0.2
设备树包含 GIC ITS 信息。
- 0.3
USB 控制器为 XHCI 设备,而不是 EHCI。
- 0.4
设备树包含 CPU 拓扑信息。