Ho hum. So... the first time I try to do any actual debugging after this
has gone in, and I am reminded exactly how terrible capstone 4.0.1 is for
anything except x86. There was a reason I had chosen a development branch
snapshot, and that's because it was usable.
Here, for instance, is how ubuntu 20.04 capstone disassembles
tests/tcg/aarch64/system/boot.S:
0x00000000400027b0: 10ffc280 adr x0, #-0x7b0 (addr 0x40002000)
0x00000000400027b4: d518c000 msr (unknown), x0
0x00000000400027b8: d0000fe0 adrp x0, #+0x1fe000 (addr 0x40200000)
0x00000000400027bc: 91000000 add x0, x0, #0x0 (0)
0x00000000400027c0: d5182000 msr (unknown), x0
...
0x0000000040002850: d5381040 mrs x0, (unknown)
0x0000000040002854: b26c0400 orr x0, x0, #0x300000
0x0000000040002858: d5181040 msr (unknown), x0
And this is the extremely simple case of ARMv8.0 with no extensions.
I am very much tempted to re-instate the capstone submodule, or update
disas/vixl and disable use of capstone for arm.