This post is part
Someone asked me “you wrote about that SBSA Reference Platform but what it is?” so let me write something. What it is, what for and why at all.
What is SBSA Reference Platform?
The easiest answer would that SBSA Reference Platform is virtual AArch64 desktop system. Can be compared to modern PC motherboard.
You have one cpu socket where you can put one processor with several cpu cores available (amount limited only by speed of your computer). When it comes to cpu core model the options are:
- Cortex-A57 (armv8.0)
- Cortex-A72 (armv8.0)
- Neoverse-N1 (armv8.2, default option)
- Neoverse-V1 (armv8.4)
- Neoverse-N2 (armv9.0, not merged yet)
When it comes to peripherals then there are some of them integrated into motherboard:
- AHCI storage controller
- XHCI USB 3 controller
- Intel network controller
- Bochs graphics adapter
First two (AHCI, XHCI) are platform bus while rest are PCI Express devices (technically they are Root Complex Integrated EndPoints).
The goal is to have system composed with set of emulated peripherals without going into “virtio” virtual ones.
At the moment hardware complies (mostly) to SBSA level 3 specification. There are still failing tests in both BSA and SBSA ACS checks.
What for?
QEMU documentation for SBSA Reference Platform says that is intended to be a machine for developing firmware and testing standards compliance with operating systems.