summary refs log tree commit diff stats
path: root/results/classifier/zero-shot/118/graphic/2155
blob: c066e2d9ba60404d17b2a20bb7a2b0d32600a212 (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
graphic: 0.958
arm: 0.924
architecture: 0.870
semantic: 0.852
device: 0.842
ppc: 0.814
performance: 0.784
register: 0.750
vnc: 0.702
peripherals: 0.692
files: 0.665
x86: 0.537
hypervisor: 0.520
socket: 0.513
PID: 0.508
debug: 0.497
virtual: 0.488
TCG: 0.475
VMM: 0.451
assembly: 0.380
network: 0.369
risc-v: 0.368
kernel: 0.358
permissions: 0.349
i386: 0.339
boot: 0.272
user-level: 0.266
KVM: 0.167
mistranslation: 0.142

LoadVM assert on ARM_FEATURE_M for Cortex M3
Description of problem:
This appears to be a similar issue to https://gitlab.com/qemu-project/qemu/-/issues/1775 and https://gitlab.com/qemu-project/qemu/-/issues/1658

When running `loadvm`  qemu aborts with this error:

"qemu/target/arm/helper.c:12383: arm_security_space_below_el3: Assertion `!arm_feature(env, ARM_FEATURE_M)' failed."

I've traced the error to `pmu_counter_enabled` in `qemu\target\arm\helper.c:1172`   
 [uint64_t mdcr_el2 = arm_mdcr_el2_eff(env)](https://gitlab.com/qemu-project/qemu/-/blob/v8.2.0/target/arm/helper.c?ref_type=tags#L1172)  (link is to 8.2.0 release tag)


The issue is caused by attempting to get the MDCR_EL2 register  prior to checking if the CPU has ARM_FEATURE_PMU support. 

A simple fix seems to be to check for `ARM_PMU_ENABLED` and returning early if it is not enabled.
Steps to reproduce:
1. Start emulation and connect monitor
2. savevm <snapshot-name>
3. Loadvm <snapshot-name>
Additional information:
See screenshot for stack trace

![armCortexM3LoadVMStackTrace](/uploads/fcfd927f4d373922715c8787dbb9cc26/armCortexM3LoadVMStackTrace.png)