summary refs log tree commit diff stats
path: root/gitlab/issues_text/target_missing/host_arm/accel_HVF
diff options
context:
space:
mode:
authorChristian Krinitsin <mail@krinitsin.com>2025-05-30 16:52:07 +0200
committerChristian Krinitsin <mail@krinitsin.com>2025-05-30 16:52:17 +0200
commit9260319e7411ff8281700a532caa436f40120ec4 (patch)
tree2f6bfe5f3458dd49d328d3a9eb508595450adec0 /gitlab/issues_text/target_missing/host_arm/accel_HVF
parent225caa38269323af1bfc2daadff5ec8bd930747f (diff)
downloademulator-bug-study-9260319e7411ff8281700a532caa436f40120ec4.tar.gz
emulator-bug-study-9260319e7411ff8281700a532caa436f40120ec4.zip
gitlab scraper: download in toml and text format
Diffstat (limited to 'gitlab/issues_text/target_missing/host_arm/accel_HVF')
-rw-r--r--gitlab/issues_text/target_missing/host_arm/accel_HVF/289530
1 files changed, 30 insertions, 0 deletions
diff --git a/gitlab/issues_text/target_missing/host_arm/accel_HVF/2895 b/gitlab/issues_text/target_missing/host_arm/accel_HVF/2895
new file mode 100644
index 00000000..e3f9da29
--- /dev/null
+++ b/gitlab/issues_text/target_missing/host_arm/accel_HVF/2895
@@ -0,0 +1,30 @@
+qemu-system-aarch64: Error: r = HV_BAD_ARGUMENT (0xfae94003, at ../target/arm/hvf/hvf.c:2259)
+Description of problem:
+When I launch a Linux guest in QEMU with `-accel hvf` + `-gdb "tcp::1234"`, and I try to debug the kernel with `lldb`, QEMU crashes with the following report:
+
+```
+qemu-system-aarch64: Error: r = HV_BAD_ARGUMENT (0xfae94003, at ../target/arm/hvf/hvf.c:2259)
+```
+Steps to reproduce:
+1. Run QEMU with `-accel hvf` + `-gdb "tcp::1234"` and a custom kernel (`-kernel Image`)
+2. Try to attach using `lldb vmlinux` + `(lldb) gdb-remote 1234`
+Additional information:
+Debugging QEMU I see the crash is due to the `cpu->accel->fd` file descriptor being `0`:
+
+```
+warning: qemu-system-aarch64 was compiled with optimization - stepping may behave oddly; variables may not be available.
+frame #4: 0x00000001003dd24c qemu-system-aarch64`hvf_arch_update_guest_debug [inlined] hvf_put_guest_debug_registers(cpu=0x0000000158118000) at hvf.c:2259:9 [opt]
+   2256     for (i = 0; i < max_hw_bps; i++) {
+   2257         r = hv_vcpu_set_sys_reg(cpu->accel->fd, dbgbcr_regs[i],
+   2258                                 env->cp15.dbgbcr[i]);
+-> 2259         assert_hvf_ok(r);
+   2260         r = hv_vcpu_set_sys_reg(cpu->accel->fd, dbgbvr_regs[i],
+   2261                                 env->cp15.dbgbvr[i]);
+   2262         assert_hvf_ok(r);
+(lldb) print cpu->accel->fd
+(hvf_vcpuid) 0
+(lldb) print dbgbcr_regs[i]
+(const uint16_t) 32773
+(lldb) print env->cp15.dbgbcr[i]
+(uint64_t) 480
+```