summary refs log tree commit diff stats
path: root/gitlab/issues/target_riscv/host_missing/accel_missing/1649.toml
diff options
context:
space:
mode:
authorChristian Krinitsin <mail@krinitsin.com>2025-05-21 21:21:26 +0200
committerChristian Krinitsin <mail@krinitsin.com>2025-05-21 21:21:26 +0200
commit4b927bc37359dec23f67d3427fc982945f24f404 (patch)
tree245449ef9146942dc7fffd0235b48b7e70a00bf2 /gitlab/issues/target_riscv/host_missing/accel_missing/1649.toml
parentaa8bd79cec7bf6790ddb01d156c2ef2201abbaab (diff)
downloadqemu-analysis-4b927bc37359dec23f67d3427fc982945f24f404.tar.gz
qemu-analysis-4b927bc37359dec23f67d3427fc982945f24f404.zip
add gitlab issues in toml format
Diffstat (limited to 'gitlab/issues/target_riscv/host_missing/accel_missing/1649.toml')
-rw-r--r--gitlab/issues/target_riscv/host_missing/accel_missing/1649.toml25
1 files changed, 25 insertions, 0 deletions
diff --git a/gitlab/issues/target_riscv/host_missing/accel_missing/1649.toml b/gitlab/issues/target_riscv/host_missing/accel_missing/1649.toml
new file mode 100644
index 000000000..5896e1a0b
--- /dev/null
+++ b/gitlab/issues/target_riscv/host_missing/accel_missing/1649.toml
@@ -0,0 +1,25 @@
+id = 1649
+title = "\"slli\" instruction before \"la\" and \"csrw\" sequence leads to failure in setting the cs register"
+state = "closed"
+created_at = "2023-05-13T06:58:11.401Z"
+closed_at = "2023-05-13T17:21:05.509Z"
+labels = ["target: riscv"]
+url = "https://gitlab.com/qemu-project/qemu/-/issues/1649"
+host-os = "MacOS Ventura 13.1"
+host-arch = "x86"
+qemu-version = "QEMU emulator version 8.0.0"
+guest-os = "bare metal"
+guest-arch = "riscv"
+description = """slli a0, a0, 8 (1)
+    la a0, mtimvec (2)
+    csrw mtvec, a0 (3)
+    mtimvec:       (4)
+
+For the above assembly snippet, the mtvec could be successfully set to the value of a0 
+without the presence of the line (1) or with the shift amount being zero. However, 
+the mtvec can never be set successfully with the presence of line (1)."""
+reproduce = """1. Create a test.s file and put these 4 lines of assembly into the file
+2. In terminal, run: "riscv64-unknown-elf-gcc -Ttext 0x80000000 -c test.s -o test", "riscv64-unknown-elf-objcopy test -S -O binary test", and "qemu-system-riscv64 test -s -S"
+3. In another terminal window, run [riscv64-unknown-elf-gdb -ex "target remote localhost:1234" -ex "layout asm"]. Keep running si command in gdb until you are at 0x80000000 where you shall see the first instruction as shown in line (1). Then keep going till you have stepped over the instruction shown in line (3). Now, run "p $mtvec" in gdb, you shall see its value being 0.
+4. Redo the above steps without line (1), you shall see mtvec loaded successfully with the correct value."""
+additional = """"""