1Arm Server Base System Architecture Reference board (``sbsa-ref``) 2================================================================== 3 4The ``sbsa-ref`` board intends to look like real hardware (while the ``virt`` 5board is a generic board platform that doesn't match any real hardware). 6 7The hardware part is defined by two specifications: 8 9 - `Base System Architecture <https://developer.arm.com/documentation/den0094/>`__ (BSA) 10 - `Server Base System Architecture <https://developer.arm.com/documentation/den0029/>`__ (SBSA) 11 12The `Arm Base Boot Requirements <https://developer.arm.com/documentation/den0044/>`__ (BBR) 13specification defines how the firmware reports that to any operating system. 14 15It is intended to be a machine for developing firmware and testing 16standards compliance with operating systems. 17 18Supported devices 19""""""""""""""""" 20 21The ``sbsa-ref`` board supports: 22 23 - A configurable number of AArch64 CPUs 24 - GIC version 3 25 - System bus AHCI controller 26 - System bus XHCI controller 27 - CDROM and hard disc on AHCI bus 28 - E1000E ethernet card on PCIe bus 29 - Bochs display adapter on PCIe bus 30 - A generic SBSA watchdog device 31 32 33Board to firmware interface 34""""""""""""""""""""""""""" 35 36``sbsa-ref`` is a static system that reports a very minimal devicetree to the 37firmware for non-discoverable information about system components. This 38includes both internal hardware and parts affected by the qemu command line 39(i.e. CPUs and memory). As a result it must have a firmware specifically built 40to expect a certain hardware layout (as you would in a real machine). 41 42Note 43'''' 44 45QEMU provides the guest EL3 firmware with minimal information about hardware 46platform using minimalistic devicetree. This is not a Linux devicetree. It is 47not even a firmware devicetree. 48 49It is information passed from QEMU to describe the information a hardware 50platform would have other mechanisms to discover at runtime, that are affected 51by the QEMU command line. 52 53Ultimately this devicetree may be replaced by IPC calls to an emulated SCP. 54 55DeviceTree information 56'''''''''''''''''''''' 57 58The devicetree reports: 59 60 - CPUs 61 - memory 62 - platform version 63 - GIC addresses 64 - NUMA node id for CPUs and memory 65 66Platform version 67'''''''''''''''' 68 69The platform version is only for informing platform firmware about 70what kind of ``sbsa-ref`` board it is running on. It is neither 71a QEMU versioned machine type nor a reflection of the level of the 72SBSA/SystemReady SR support provided. 73 74The ``machine-version-major`` value is updated when changes breaking 75fw compatibility are introduced. The ``machine-version-minor`` value 76is updated when features are added that don't break fw compatibility. 77 78Platform version changes: 79 800.0 81 Devicetree holds information about CPUs, memory and platform version. 82 830.1 84 GIC information is present in devicetree. 85 860.2 87 GIC ITS information is present in devicetree. 88 890.3 90 The USB controller is an XHCI device, not EHCI. 91