blob: 7c6267a869fc00c9d0b8647931d250d9660bc22d (
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
|
assembly: 0.936
architecture: 0.846
graphic: 0.779
arm: 0.771
performance: 0.718
device: 0.706
register: 0.659
semantic: 0.633
vnc: 0.621
ppc: 0.620
risc-v: 0.577
x86: 0.565
network: 0.540
VMM: 0.523
kernel: 0.515
i386: 0.503
mistranslation: 0.456
PID: 0.448
permissions: 0.438
TCG: 0.436
hypervisor: 0.435
socket: 0.431
user-level: 0.406
files: 0.399
KVM: 0.390
boot: 0.382
debug: 0.339
peripherals: 0.263
virtual: 0.253
--------------------
arm: 0.996
user-level: 0.853
assembly: 0.493
virtual: 0.353
register: 0.181
hypervisor: 0.140
files: 0.068
semantic: 0.034
performance: 0.034
architecture: 0.027
TCG: 0.022
debug: 0.020
PID: 0.013
VMM: 0.006
kernel: 0.006
KVM: 0.005
network: 0.005
device: 0.004
socket: 0.003
peripherals: 0.002
risc-v: 0.002
boot: 0.002
permissions: 0.002
graphic: 0.001
vnc: 0.001
x86: 0.001
ppc: 0.001
i386: 0.001
mistranslation: 0.000
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.
|