1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
<think>
Alright, let's try to figure out how to classify this bug report. The user mentioned it's part of QEMU and provided several possible categories. I need to determine which one fits best based on the information given.
The problem occurs when using `loadvm` with a Cortex M3, leading to an assertion failure related to ARM_FEATURE_M. Looking at the error message: "Assertion `!arm_feature(env, ARM_FEATURE_M)' failed." This suggests that the code is trying to access something it shouldn't when ARM_FEATURE_M is present.
The user traced the issue to line 1172 in helper.c, where they're accessing MDCR_EL2 without checking if PMU support is enabled. The fix proposed is to check for ARM_PMU_ENABLED and return early if not enabled.
Now, considering the categories: 'mistranslation' relates to incorrect semantic mapping from source to target, usually in user-mode assembly lowering. This issue seems more about an assertion failure during VM loading, possibly due to missing checks before accessing certain registers.
The error happens when restoring a snapshot (loadvm), which is part of the QEMU's save/load functionality. The problem arises because the code isn't properly handling cases where ARM_FEATURE_M is present and attempting to access MDCR_EL2 without ensuring PMU support exists.
Looking at the possible categories, 'other' might be the safest bet since it doesn't seem to fit into specific areas like device, graphic, socket, etc. Alternatively, 'mistranslation' could apply if this is an issue with how features are being translated during emulation. However, since the issue is about missing checks rather than incorrect semantic mapping, 'other' seems more appropriate.
So, after considering all factors, I think the best category here is 'other'.
</think>
other
|