blob: 4e5057550a9abc72397038ee00b8a1d5cc80e1a9 (
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
|
graphic: 0.895
boot: 0.891
ppc: 0.880
device: 0.869
performance: 0.851
peripherals: 0.824
vnc: 0.759
architecture: 0.741
user-level: 0.738
debug: 0.662
hypervisor: 0.630
x86: 0.591
semantic: 0.532
i386: 0.477
register: 0.470
network: 0.467
permissions: 0.465
kernel: 0.464
virtual: 0.456
socket: 0.436
assembly: 0.369
PID: 0.342
risc-v: 0.308
TCG: 0.300
arm: 0.296
VMM: 0.249
files: 0.239
mistranslation: 0.221
KVM: 0.150
DOUBLE MMU FAULT when running -M virt in qemu-system-m68k
Description of problem:
When running qemu-system-m68k with the -M virt machine type, a DOUBLE MMU FAULT occurs immediately upon startup, even without any BIOS, disk image, or additional configuration.
Steps to reproduce:
1. qemu-system-m68k -M virt -m 4M -serial stdio
QEMU crashes immediately with the following output:
```
qemu: fatal: DOUBLE MMU FAULT
D0 = 00000000 A0 = 00000000 F0 = 7fff ffffffffffffffff ( nan)
D1 = 00000000 A1 = 00000000 F1 = 7fff ffffffffffffffff ( nan)
D2 = 00000000 A2 = 00000000 F2 = 7fff ffffffffffffffff ( nan)
D3 = 00000000 A3 = 00000000 F3 = 7fff ffffffffffffffff ( nan)
D4 = 00000000 A4 = 00000000 F4 = 7fff ffffffffffffffff ( nan)
D5 = 00000000 A5 = 00000000 F5 = 7fff ffffffffffffffff ( nan)
D6 = 00000000 A6 = 00000000 F6 = 7fff ffffffffffffffff ( nan)
D7 = 00000000 A7 = 00000000 F7 = 7fff ffffffffffffffff ( nan)
PC = 00400000 SR = 2704 T:0 I:7 SI --Z--
FPSR = 00000000 ----
FPCR = 0000 X RN
A7(MSP) = 00000000 A7(USP) = 00000000 ->A7(ISP) = 00000000
VBR = 0x00000000
SFC = 0 DFC 0
SSW 00000105 TCR 00000000 URP 00000000 SRP 00000000
DTTR0/1: 00000000/00000000 ITTR0/1: 00000000/00000000
MMUSR 00000000, fault at fffffffc
```
Additional information:
The issue seems to be related to incorrect memory initialization, causing a fault at address fffffffc.
The PC = 00400000 suggests that QEMU is jumping to an invalid address early in the boot process.
The fact that the fault is consistent across different configurations (q800, next-cube, etc) points to a possible regression or incomplete memory initialization in the virt machine.
|