The platform contract is as important as the CPU itself for Neoverse's success. Graviton wouldn't exist at hyperscale if AWS had to maintain a bespoke kernel image.
| Spec | What it defines | Who consumes it |
|---|---|---|
| SBSA | Minimum architectural features the SoC must have (GICv3, SMMUv3, PCIe, timers, PMU) | Silicon designer |
| SBBR | Boot requirements — UEFI 2.7+, PSCI, ACPI tables, SMBIOS | Firmware + bootloader team |
| BSA | Base System Architecture — the SBSA successor covering all Arm platforms (not only server) | Silicon designer (newer IoT / automotive) |
| BBR | Base Boot Requirements — BSA companion | Firmware |
| ACS | Architecture Compliance Suite — software tests that run on the SoC to prove compliance | Validation + certification |
| SystemReady | Certification program that bundles BSA + BBR + ACS into tiers (SR, ES, IR, LS) | OEM, OS distributor |
Think of it as three layers: SBSA/BSA says what the silicon must have; SBBR/BBR says what the firmware must expose; SystemReady is the stamp that says "a distro can boot unmodified on this box".
| Level | Year | Key additions |
|---|---|---|
| SBSA 3 | 2016 | GICv3 + ITS · SMMUv2 · PCIe Gen 3 · 64-bit AArch64 only · EL2 virtualization · Armv8.1-A |
| SBSA 4 | 2018 | SMMUv3 · PCIe PASID + ATS · Armv8.2-A baseline · PMUv3 events · RAS architecture · DIT |
| SBSA 5 | 2019 | MPAM v1 optional · Armv8.4-A features (secure-EL2, nested virt) · Enhanced RAS · Activity Monitors (AMU) |
| SBSA 6 | 2021 | Armv8.5-A: BTI / MTE / SSBS · SPE required · TRBE · Counter virtualization |
| SBSA 7 | 2023 | Armv9.0-A baseline: SVE2 mandatory · RME / CCA optional · CXL 2.0 · MPAM v1 mandatory |
Each level is cumulative. Graviton 2 is SBSA 4. Graviton 3 is SBSA 5. Cobalt 100 and Graviton 4 are SBSA 6+. CSS V3 / N3 targets SBSA 7.
SBSA levels are the way Arm disciplines the ecosystem: every generation of Neoverse bumps at least one level, which in turn forces OS distributions to keep pace — and forces silicon vendors to add features that would otherwise be optional.
Not to lock vendors in — GICv3 is architectural, many vendors' own implementations conform. But SBSA specifies programming interfaces so Linux drivers are shared.
Deep dive on GIC, SMMU, DynamIQ DSU, MPAM/CoreSight in the Arm System IP series.
// Boot flow on a SystemReady-SR Arm server:
// (x86-like, except EL3 secure monitor below UEFI)
BL1 (ROM loader) → in ROM
BL2 (image loader) → DRAM bring-up
BL31 (EL3, TF-A) → PSCI, SDEI, SMCCC services
BL32 (optional S-EL1 TEE) → OP-TEE if present
BL33 (UEFI, EDK2) → Boot Manager, ACPI tables
UEFI -> grub-aa64.efi -> vmlinuz + initrd
// Linux sees: ACPI tables, PSCI over SMC, GICv3, SMMUv3
// No per-vendor DTB; device description is ACPI.
A decade ago every Arm dev board booted differently (U-Boot with per-SoC defconfig, NAND-specific). BSA gives IoT device OEMs the same "distro boots unmodified" experience servers already have.
BSA + BBR = UEFI/ACPI on Arm. Ubuntu's single arm64 ISO boots on any certified box, exactly like the x86-64 ISO boots on any PC. Same tool-chain (grub, systemd-boot, sb-sign).
| Tier | Scope | Target | Example platforms |
|---|---|---|---|
| SR (Server) | Full SBSA + SBBR; Linux distro boots unmodified | Data centre servers | Graviton, Ampere Altra, Azure Cobalt |
| ES (Embedded Server) | SBSA-like for edge servers (5G base station, network appliance) | Telco, CDN | Marvell Octeon 10, ECS-style DPUs |
| IR (IoT Ready) | BSA + BBR + U-Boot compat; slimmer — fits a Raspberry Pi class SoC | Gateways, IoT hubs | NXP i.MX 8M Plus, Rockchip RK3588 |
| LS (LinuxBoot Server) | SR-equivalent but LinuxBoot flavoured firmware (kernel-as-loader), no UEFI at runtime | Hyperscaler custom platforms | OCP / internal designs |
| Devicetree (legacy) | Devicetree-based boards that don't do ACPI | Embedded, older SoCs | Hundreds of board types |
All SystemReady tiers run the Arm ACS (Architecture Compliance Suite) — a set of ~2500 automated tests that must pass before a vendor claims certification. Published pass lists are at arm.com/SystemReady.
| Table | Contents |
|---|---|
| MADT | GICv3 distributor / redistributor / ITS locations + CPU IDs |
| GTDT | Generic Timer + Watchdog base addresses, secure/nonsecure IRQs |
| IORT | I/O Relationship Table — maps PCIe Requester ID → SMMU → memory |
| MCFG | PCIe ECAM base addresses per segment |
| PPTT | Processor Properties Topology — cores, clusters, caches, shared resources |
| SRAT / SLIT | NUMA topology — which memory ranges and cores share nodes, relative distances |
| HMAT | Heterogeneous Memory — latency/bandwidth between NUMA nodes (CXL-aware) |
| APMT | Arm PMU Table — describes coherent PMU outside the core (CMN PMU, SMMU PMU) |
| MPAM | MPAM configuration — which resources are partitionable |
| RAS / EINJ / HEST | RAS event injection and source table — portable across vendors |
For a firmware or kernel role at Arm / AWS / Azure, knowing TF-A + EDK2 + OP-TEE is table stakes. These are where platform bring-up happens in 2024.
x86 servers have had open-source firmware (coreboot) for years but non-dominantly. Arm servers made open-source the default from Graviton 2 onwards — reduced bring-up time for new silicon from ~18 months to ~6.
KVM was architecturally identical to Xen on Arm from 2013 onwards. With VHE (v8.1-A) KVM became truly competitive with x86 KVM — no split-mode hypervisor overhead.
SBSA 5 supports nested virt via Armv8.4-A's FEAT_NV / NV2. AWS Nitro + Firecracker exploit this for micro-VM isolation.
Ask: "Why does Ubuntu 22.04 boot on Graviton 3 but not on an older Armada-8K dev board?" The answer lives in SystemReady — Graviton is SR-certified, the Armada isn't. Many readers never get past "it's Arm, they should both work".
Reading an /proc/iomem, dmesg | grep ACPI, and efibootmgr -v on a Neoverse box reveals the whole layered boot story in minutes. Better than any slide deck.
Arm Ltd. — Server Base System Architecture (ARM DEN 0029 / DEN 0094) — freely downloadable
Arm Ltd. — Base System Architecture (DEN 0094) + Base Boot Requirements (DEN 0044)
Arm Ltd. — Server Base Boot Requirements (DEN 0044C) — UEFI + ACPI + SMBIOS profile
Arm Ltd. — SystemReady Certification Program documentation — arm.com/systemready
Trusted Firmware-A — trustedfirmware.org
TianoCore EDK2 — github.com/tianocore/edk2
Linaro — Reference Platforms & Engineering Groups — release notes for each SystemReady cycle
UEFI Forum — ACPI 6.5 Specification
Linux kernel — drivers/acpi/arm64/, drivers/firmware/psci/, Documentation/arm64/booting.rst
Presentation built with Reveal.js 4.6 · Playfair Display + DM Sans + JetBrains Mono
Educational use.