summary refs log tree commit diff stats
path: root/gitlab/issues_toml/target_arm/host_missing/accel_missing/2279.toml
diff options
context:
space:
mode:
Diffstat (limited to 'gitlab/issues_toml/target_arm/host_missing/accel_missing/2279.toml')
-rw-r--r--gitlab/issues_toml/target_arm/host_missing/accel_missing/2279.toml33
1 files changed, 33 insertions, 0 deletions
diff --git a/gitlab/issues_toml/target_arm/host_missing/accel_missing/2279.toml b/gitlab/issues_toml/target_arm/host_missing/accel_missing/2279.toml
new file mode 100644
index 000000000..627409db9
--- /dev/null
+++ b/gitlab/issues_toml/target_arm/host_missing/accel_missing/2279.toml
@@ -0,0 +1,33 @@
+id = 2279
+title = "Debugging with Lauterbach Trace32 -> Cortex-A76, no SP register update"
+state = "closed"
+created_at = "2024-04-10T13:05:13.581Z"
+closed_at = "2024-08-05T14:44:03.604Z"
+labels = ["GDB", "target: arm"]
+url = "https://gitlab.com/qemu-project/qemu/-/issues/2279"
+host-os = "Windows 10 Enterprise 64-bit 10.0"
+host-arch = "x64"
+qemu-version = "QEMU emulator version 8.2.0 (v8.2.0-12045-g3d58f9b5c5)"
+guest-os = "Bare metal code"
+guest-arch = "Aarch64"
+description = """We do not see changes in the SP_EL1 register value when debugging the QEMU application with Lauterbach Trace32."""
+reproduce = """1. Compile bare metal code that uses push and pop instructions (stack).
+2. Run QEMU with bare metal code.
+3. Connect via Lauterbach Trace32 and check the displayed SP register value."""
+additional = """![T32_badA76_SP_reg_display](/uploads/e6af1ac3e32072274089e6dc0cdf0266/T32_badA76_SP_reg_display.png)
+This is a screenshot from QEMU 8.0.0, but updating to QEMU 8.2.0 does not resolve the problem.
+
+I have discussed this with Lauterbach Trace32 support with these results:
+- Trace32 uses RSP protocol `p` packets to read some registers, including SP_EL1. GDB seems to use `g` packet.
+- QEMU responds to `p` packet with an invalid value, which causes Trace32 to display invalid value.
+
+Some related RSP protocol logs from Trace32.
+![T32_sp_1](/uploads/cbe34d19d3ede30549e6c4d781bb6630/T32_sp_1.png)
+![T32_sp_2](/uploads/73e22dbf83ec00b939077dfeb7bfa208/T32_sp_2.png)
+
+Different part of RSP protocol log:
+```
+Sending packet: $p20#d2 ...
+receiving packet: ec00004000000000
+```
+So it looks like Trace32 can receive different values that zero as response to `p` packet."""