Arm Server Base System Architecture Reference board (sbsa-ref)

While the virt board is a generic board platform that doesn’t match any real hardware the sbsa-ref board intends to look like real hardware. The Server Base System Architecture defines a minimum base line of hardware support and importantly how the firmware reports that to any operating system.

It is intended to be a machine for developing firmware and testing standards compliance with operating systems.

Supported devices

The sbsa-ref board supports:

  • A configurable number of AArch64 CPUs
  • GIC version 3
  • System bus AHCI controller
  • System bus EHCI controller
  • CDROM and hard disc on AHCI bus
  • E1000E ethernet card on PCIe bus
  • Bochs display adapter on PCIe bus
  • A generic SBSA watchdog device

Board to firmware interface

sbsa-ref is a static system that reports a very minimal devicetree to the firmware for non-discoverable information about system components. This includes both internal hardware and parts affected by the qemu command line (i.e. CPUs and memory). As a result it must have a firmware specifically built to expect a certain hardware layout (as you would in a real machine).

DeviceTree information

The devicetree provided by the board model to the firmware is not intended to be a complete compliant DT. It currently reports:

  • CPUs
  • memory
  • platform version
  • GIC addresses

The platform version is only for informing platform firmware about what kind of sbsa-ref board it is running on. It is neither a QEMU versioned machine type nor a reflection of the level of the SBSA/SystemReady SR support provided.

The machine-version-major value is updated when changes breaking fw compatibility are introduced. The machine-version-minor value is updated when features are added that don’t break fw compatibility.