master
rst 94 lines 2.97 KB
Raw
1 Arm Server Base System Architecture Reference board (``sbsa-ref``)
2 ==================================================================
3
4 The ``sbsa-ref`` board intends to look like real hardware (while the ``virt``
5 board is a generic board platform that doesn't match any real hardware).
6
7 The 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
12 The `Arm Base Boot Requirements <https://developer.arm.com/documentation/den0044/>`__ (BBR)
13 specification defines how the firmware reports that to any operating system.
14
15 It is intended to be a machine for developing firmware and testing
16 standards compliance with operating systems.
17
18 Supported devices
19 """""""""""""""""
20
21 The ``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
33 Board to firmware interface
34 """""""""""""""""""""""""""
35
36 ``sbsa-ref`` is a static system that reports a very minimal devicetree to the
37 firmware for non-discoverable information about system components. This
38 includes 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
40 to expect a certain hardware layout (as you would in a real machine).
41
42 Note
43 ''''
44
45 QEMU provides the guest EL3 firmware with minimal information about hardware
46 platform using minimalistic devicetree. This is not a Linux devicetree. It is
47 not even a firmware devicetree.
48
49 It is information passed from QEMU to describe the information a hardware
50 platform would have other mechanisms to discover at runtime, that are affected
51 by the QEMU command line.
52
53 Ultimately this devicetree may be replaced by IPC calls to an emulated SCP.
54
55 DeviceTree information
56 ''''''''''''''''''''''
57
58 The devicetree reports:
59
60 - CPUs
61 - memory
62 - platform version
63 - GIC addresses
64 - NUMA node id for CPUs and memory
65 - CPU topology information
66
67 Platform version
68 ''''''''''''''''
69
70 The platform version is only for informing platform firmware about
71 what kind of ``sbsa-ref`` board it is running on. It is neither
72 a QEMU versioned machine type nor a reflection of the level of the
73 SBSA/SystemReady SR support provided.
74
75 The ``machine-version-major`` value is updated when changes breaking
76 fw compatibility are introduced. The ``machine-version-minor`` value
77 is updated when features are added that don't break fw compatibility.
78
79 Platform version changes:
80
81 0.0
82 Devicetree holds information about CPUs, memory and platform version.
83
84 0.1
85 GIC information is present in devicetree.
86
87 0.2
88 GIC ITS information is present in devicetree.
89
90 0.3
91 The USB controller is an XHCI device, not EHCI.
92
93 0.4
94 CPU topology information is present in devicetree.