blob: 69cc8eb754b02f628a876cdb30c17108e486cc2d (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
boot: 0.828
device: 0.822
instruction: 0.819
other: 0.817
network: 0.725
mistranslation: 0.718
socket: 0.614
graphic: 0.603
semantic: 0.548
vnc: 0.504
assembly: 0.248
KVM: 0.196
qemu-system-arm highmem support broken with TCG
Additional information:
I initially bisected this to commit 39a1fd25287f ("target/arm: Fix handling of LPAE block descriptors"), which introduced an identical bug by masking the wrong address bits due to a type mismatch, but this was in turn fixed by commit c2360eaa0262 ("target/arm: Fix qemu-system-arm handling of LPAE block descriptors for highmem"). The bug resurfaced between qemu-7.1.0 and qemu-7.2.0 after commit f3639a64f602 ("target/arm: Use softmmu tlbs for page table walking"), but may be caused by the preceding 4a35855682ce ("target/arm: Plumb debug into S1Translate") which fails to boot for an unrelated reason.
I reproduced this on qemu-7.2 as shipped by Debian as well as on qemu-9.1 (built locally).
Part of this problem appeared to be hidden by the 'highmem=on' argument not having the intended effect during parts of the bisection, which I worked around by overriding the 'pa_bits' variable in machvirt_init().
|