summary refs log tree commit diff stats
path: root/gitlab/issues_text/target_arm/host_missing/accel_TCG/2585
diff options
context:
space:
mode:
Diffstat (limited to 'gitlab/issues_text/target_arm/host_missing/accel_TCG/2585')
-rw-r--r--gitlab/issues_text/target_arm/host_missing/accel_TCG/25857
1 files changed, 7 insertions, 0 deletions
diff --git a/gitlab/issues_text/target_arm/host_missing/accel_TCG/2585 b/gitlab/issues_text/target_arm/host_missing/accel_TCG/2585
new file mode 100644
index 000000000..0b5a60265
--- /dev/null
+++ b/gitlab/issues_text/target_arm/host_missing/accel_TCG/2585
@@ -0,0 +1,7 @@
+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().