blob: f176c7e380d81056960ef7e139e204280622ef74 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
assembly: 0.936
graphic: 0.779
instruction: 0.715
device: 0.706
other: 0.701
semantic: 0.633
vnc: 0.621
network: 0.540
mistranslation: 0.456
socket: 0.431
KVM: 0.390
boot: 0.382
Variation of SVE register size (qemu-user-aarch64)
Specification of ARMv8-A SVE extention allows various values for the size of the SVE register. On the other hand, it seems that the current qemu-aarch64 supports only the maximum length of 2048 bits as the SVE register size. I am writing an assembler program for a CPU that is compliant with ARMv8-A + SVE and has a 512-bit SVE register, but when this is run with qemu-user-aarch64, a 2048-bit load / store instruction is executed This causes a segmentation fault. Shouldn't qeum-user-aarch64 have an option to specify the SVE register size?
This is already managed by a cpu property.
0df9142d27d5 ("target/arm/cpu64: max cpu: Introduce sve<N> properties")
See docs/arm-cpu-features.rst
Try "-cpu max,sve512=on".
Note also that the vector length in SVE is not fixed -- you should be writing your guest code to support arbitrary vector lengths, because otherwise it will not run on all SVE-supporting CPUs.
Thank you for your kind advice. I'll try it.
|