summary refs log tree commit diff stats
path: root/results/classifier/accel-gemma3:12b/kvm/2916
blob: 32ee3ffa404f19333986572a12c27346b1f97233 (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
qemu-system-arm hangs when attempting to enable MMU on Cortex-A7
Description of problem:
QEMU 9.x.x+ hangs when attempting to do enable the MMU from SCTLRL - M bit: https://developer.arm.com/documentation/ddi0601/2025-03/AArch32-Registers/SCTLR--System-Control-Register

The instruction that hangs is the writing of the SCTLR register:

```
mrc     p15, 0, r0, c1, c0, 0
orr     r0, r0, 1
mcr     p15, 0, r0, c1, c0, 0
```

I am attempting to enable unaligned accesses and SCTLR-A bit doesn't seem to have any effect if the SCTLR-M is not enabled. Doing an unaligned access on cortex-a7 should be supported but it always trigger a Fault.
Steps to reproduce:
1. add the mrc/orr/mcr instruction sequence in the ResetHandler
2. link the elf
3. attempt to execute it
Additional information:
The unaligned access looked like it was working in QEMU 8.x.x but it might not have been emulated(?). I also am facing the same issues with MCR hanging and unaligned access not supported with latest 10.0.0-RC2.

When it hangs, QEMU has to be killed and terminal reset.

There might be two separate issues here:

1. writing SCTLR register
2. emulated cortex-a7 not supporting unaligned access (hardware supports it)