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 拓扑信息。