summary refs log tree commit diff stats
path: root/gitlab/issues/target_riscv/host_missing/accel_missing/904.toml
diff options
context:
space:
mode:
Diffstat (limited to 'gitlab/issues/target_riscv/host_missing/accel_missing/904.toml')
-rw-r--r--gitlab/issues/target_riscv/host_missing/accel_missing/904.toml24
1 files changed, 24 insertions, 0 deletions
diff --git a/gitlab/issues/target_riscv/host_missing/accel_missing/904.toml b/gitlab/issues/target_riscv/host_missing/accel_missing/904.toml
new file mode 100644
index 00000000..b9d0173c
--- /dev/null
+++ b/gitlab/issues/target_riscv/host_missing/accel_missing/904.toml
@@ -0,0 +1,24 @@
+id = 904
+title = "RISC-V: Cannot set SEIP bit of mip csr register in M mode"
+state = "closed"
+created_at = "2022-03-12T08:49:54.479Z"
+closed_at = "2022-04-22T10:54:01.743Z"
+labels = ["target: riscv"]
+url = "https://gitlab.com/qemu-project/qemu/-/issues/904"
+host-os = "Ubuntu"
+host-arch = "x86_64"
+qemu-version = "6.1.1"
+guest-os = "No operating system"
+guest-arch = "riscv64 imafc, riscv32 imafc"
+description = """"""
+reproduce = """1.   run assembly instructions **in M mode**: 
+```
+not t0, x0    // set t0 to 0b11..11
+csrs mip, t0  // write mip with t0, mip registers are WARL(Write Any Values, Reads Legal Values)
+csrr t1, mip  // read value from mip to t1
+```
+2.   GDB enters the command `display/z $t1` to see that the content of the t1 register is 0x466, which means that the SEIP bit of mip is not set.
+3.   According to page 47 of [riscv-privileged-20211203](https://github.com/riscv/riscv-isa-manual/releases/download/Priv-v1.12/riscv-privileged-20211203.pdf), `SEIP is writable in mip`.
+4.   According to page 81 of the same manual,`If implemented, SEIP is read-only in sip`.
+5.   However, the above code and results show that the SEIP bit of mip cannot be set by software **in M mode**."""
+additional = """"""