2020-11-04 19:52:54 +03:00
|
|
|
Arm Server Base System Architecture Reference board (``sbsa-ref``)
|
|
|
|
==================================================================
|
|
|
|
|
2021-07-26 17:23:36 +03:00
|
|
|
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
|
2020-11-04 19:52:54 +03:00
|
|
|
hardware. The `Server Base System Architecture
|
2021-04-28 16:13:16 +03:00
|
|
|
<https://developer.arm.com/documentation/den0029/latest>`_ defines a
|
2020-11-04 19:52:54 +03:00
|
|
|
minimum base line of hardware support and importantly how the firmware
|
2023-05-31 20:18:34 +03:00
|
|
|
reports that to any operating system.
|
2020-11-04 19:52:54 +03:00
|
|
|
|
|
|
|
It is intended to be a machine for developing firmware and testing
|
|
|
|
standards compliance with operating systems.
|
|
|
|
|
|
|
|
Supported devices
|
|
|
|
"""""""""""""""""
|
|
|
|
|
2023-05-31 20:18:34 +03:00
|
|
|
The ``sbsa-ref`` board supports:
|
2020-11-04 19:52:54 +03:00
|
|
|
|
|
|
|
- A configurable number of AArch64 CPUs
|
|
|
|
- GIC version 3
|
|
|
|
- System bus AHCI controller
|
2023-07-04 16:08:47 +03:00
|
|
|
- System bus XHCI controller
|
2020-11-04 19:52:54 +03:00
|
|
|
- CDROM and hard disc on AHCI bus
|
|
|
|
- E1000E ethernet card on PCIe bus
|
2023-05-24 14:33:07 +03:00
|
|
|
- Bochs display adapter on PCIe bus
|
2020-11-04 19:52:54 +03:00
|
|
|
- A generic SBSA watchdog device
|
|
|
|
|
2023-05-31 20:18:34 +03:00
|
|
|
|
|
|
|
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
|
|
|
|
|
2023-06-19 20:09:13 +03:00
|
|
|
Platform version
|
|
|
|
''''''''''''''''
|
|
|
|
|
2023-05-31 20:18:34 +03:00
|
|
|
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.
|
2023-06-19 20:09:13 +03:00
|
|
|
|
|
|
|
Platform version changes:
|
|
|
|
|
|
|
|
0.0
|
|
|
|
Devicetree holds information about CPUs, memory and platform version.
|
|
|
|
|
|
|
|
0.1
|
|
|
|
GIC information is present in devicetree.
|
|
|
|
|
|
|
|
0.2
|
|
|
|
GIC ITS information is present in devicetree.
|
2023-07-04 16:08:47 +03:00
|
|
|
|
|
|
|
0.3
|
|
|
|
The USB controller is an XHCI device, not EHCI
|