1Arm Server Base System Architecture Reference board (``sbsa-ref``) 2================================================================== 3 4While the ``virt`` board is a generic board platform that doesn't match 5any real hardware the ``sbsa-ref`` board intends to look like real 6hardware. The `Server Base System Architecture 7<https://developer.arm.com/documentation/den0029/latest>`_ defines a 8minimum base line of hardware support and importantly how the firmware 9reports that to any operating system. 10 11It is intended to be a machine for developing firmware and testing 12standards compliance with operating systems. 13 14Supported devices 15""""""""""""""""" 16 17The ``sbsa-ref`` board supports: 18 19 - A configurable number of AArch64 CPUs 20 - GIC version 3 21 - System bus AHCI controller 22 - System bus XHCI controller 23 - CDROM and hard disc on AHCI bus 24 - E1000E ethernet card on PCIe bus 25 - Bochs display adapter on PCIe bus 26 - A generic SBSA watchdog device 27 28 29Board to firmware interface 30""""""""""""""""""""""""""" 31 32``sbsa-ref`` is a static system that reports a very minimal devicetree to the 33firmware for non-discoverable information about system components. This 34includes both internal hardware and parts affected by the qemu command line 35(i.e. CPUs and memory). As a result it must have a firmware specifically built 36to expect a certain hardware layout (as you would in a real machine). 37 38DeviceTree information 39'''''''''''''''''''''' 40 41The devicetree provided by the board model to the firmware is not intended 42to be a complete compliant DT. It currently reports: 43 44 - CPUs 45 - memory 46 - platform version 47 - GIC addresses 48 49Platform version 50'''''''''''''''' 51 52The platform version is only for informing platform firmware about 53what kind of ``sbsa-ref`` board it is running on. It is neither 54a QEMU versioned machine type nor a reflection of the level of the 55SBSA/SystemReady SR support provided. 56 57The ``machine-version-major`` value is updated when changes breaking 58fw compatibility are introduced. The ``machine-version-minor`` value 59is updated when features are added that don't break fw compatibility. 60 61Platform version changes: 62 630.0 64 Devicetree holds information about CPUs, memory and platform version. 65 660.1 67 GIC information is present in devicetree. 68 690.2 70 GIC ITS information is present in devicetree. 71 720.3 73 The USB controller is an XHCI device, not EHCI 74