'ARM64 AESE instruction create a SIGILL
On a Raspberry 4, when compiling and executing an assembly file containing only this instruction:
aese v0.16b, v1.16b
the program crashes because of a SIGILL. What would be the problem here? Is it possible that not all ARM64 processors support the AES instruction set?
Some relevant informations:
.arch armv8-a+crypto was added at the beginning of the file.
$ uname -a
Linux raspberrypi 5.15.32-v8+ #1538 SMP PREEMPT Thu Mar 31 19:40:39 BST 2022 aarch64 GNU/Linux
$ cat /proc/cpuinfo
processor : 0
BogoMIPS : 108.00
Features : fp asimd evtstrm crc32 cpuid
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x0
CPU part : 0xd08
CPU revision : 3
processor : 1
BogoMIPS : 108.00
Features : fp asimd evtstrm crc32 cpuid
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x0
CPU part : 0xd08
CPU revision : 3
processor : 2
BogoMIPS : 108.00
Features : fp asimd evtstrm crc32 cpuid
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x0
CPU part : 0xd08
CPU revision : 3
processor : 3
BogoMIPS : 108.00
Features : fp asimd evtstrm crc32 cpuid
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x0
CPU part : 0xd08
CPU revision : 3
Hardware : BCM2835
Revision : c03115
Serial : 1000000005fa511b
Model : Raspberry Pi 4 Model B Rev 1.5
Solution 1:[1]
The Rasberry Pi 4 doesn't implement the crypto instruction set extensions, so any attempt to use them will result in an undefined instruction exception.
Is it possible that not all ARM64 processors support the AES instruction set?
Yes definitely possible, it's an optional feature.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | solidpixel |
