summary refs log tree commit diff stats
path: root/results/scraper/launchpad-without-comments/1851939
diff options
context:
space:
mode:
authorChristian Krinitsin <mail@krinitsin.com>2025-06-30 12:24:58 +0000
committerChristian Krinitsin <mail@krinitsin.com>2025-06-30 12:27:06 +0000
commit33606b41d35115f887ea688b1a16f2ff85bf2fe4 (patch)
tree406b2c7b19a087ba437c68f3dbf0b589fa1d6150 /results/scraper/launchpad-without-comments/1851939
parentadedf8771bc4de3113041ca21bd4d0d1c0014b6a (diff)
downloademulator-bug-study-33606b41d35115f887ea688b1a16f2ff85bf2fe4.tar.gz
emulator-bug-study-33606b41d35115f887ea688b1a16f2ff85bf2fe4.zip
add launchpad bug reports without comments
Diffstat (limited to 'results/scraper/launchpad-without-comments/1851939')
-rw-r--r--results/scraper/launchpad-without-comments/185193916
1 files changed, 16 insertions, 0 deletions
diff --git a/results/scraper/launchpad-without-comments/1851939 b/results/scraper/launchpad-without-comments/1851939
new file mode 100644
index 00000000..d20b8eba
--- /dev/null
+++ b/results/scraper/launchpad-without-comments/1851939
@@ -0,0 +1,16 @@
+RISC-V mstatus TSR bit not correctly implemented
+
+Hi,
+
+since qemu 4.1.0 the TSR bit in mstatus register is supported. But it does not allow for executing sret in m-mode.
+
+From the RISC-V specifications:
+"When TSR=1, attempts to execute SRET while executing in S-mode will raise an illegal instruction
+exception. When TSR=0, this operation is permitted in S-mode."
+
+This means an exception should only be raised when executing in S-mode, but not in M-mode, hence you should change the condition in helper_sret (target/riscv/op_helper.c) from:
+     if (env->priv_ver >= PRIV_VERSION_1_10_0 &&
+          get_field(env->mstatus, MSTATUS_TSR))
+to:
+     if (env->priv_ver >= PRIV_VERSION_1_10_0 &&
+          get_field(env->mstatus, MSTATUS_TSR) && !(env->priv >= PRV_M))
\ No newline at end of file