Let’s play with some new stuff

Two days ago Arm announced Arm v9 architecture. Finally we can discuss it in open instead saying “I prefer not to talk about this” (because NDA etc.).

New things

There are several new things in v9 version. SVE2, Spectre/Meltdown like mitigations, memory tagging, realms… And some of them are present in v8 already (mitigations are v8.5 IIRC).


But how it goes work in hardware? There was no new cpu core announcements so we need to wait for Arm Neoverse N2 derived designs (as it will be v9).

As usual mobile phones and tablets will get it first. Then probably Apple will put it into newer Macbooks. Decade later servers and workstations.

And there are always those machines in labs. Packed with NDAs, access queues etc…

$ uname -a
Linux bach 5.11.0-73 #1 SMP Fri Mar 12 11:34:12 UTC 2021 aarch64 GNU/Linux
$ head -n8 /proc/cpuinfo
processor       : 0
BogoMIPS        : 50.00
Features        : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp rme
                  asimdhp cpuid sb16 fp16 asimdrdm uafp jscvt fcma sb128 lrcpc
                  dcpop sha3 sm3 sm4 asimddp afd sha512 sve asimdfhm dit ilrcpc
                  rng flagm tme ssbs paca pacg sb dcpodp ac97 flagm2 frint mte
                  sve2 bf16 bti
CPU implementer : 0x4a
CPU architecture: 9
CPU variant     : 0x0
CPU part        : 0xf02
CPU revision    : 0

And sorry, no benchmarks allowed on not-mass-market hardware. The good part? It is still AArch64 so no recompilation required. Some software packages gets first set of SVE2 improvements soon.

That was only a joke

The truth is that even labs do not have such stuff. While most of features listed in output of /proc/cpuinfo exists in newer Arm v8 cores some of them were added there for fun:


I would like to thank a few people.

Arnd Bergmann pointed out that two fields related to CPU are wrong:

Mark Brown spotted duplicated ‘rng’ feature. And Ryan Houdek who wrote about ‘tme’ feature.