summary refs log tree commit diff stats
path: root/results/classifier/deepseek-2-tmp/output/mistranslation/1757363
diff options
context:
space:
mode:
Diffstat (limited to 'results/classifier/deepseek-2-tmp/output/mistranslation/1757363')
-rw-r--r--results/classifier/deepseek-2-tmp/output/mistranslation/175736334
1 files changed, 34 insertions, 0 deletions
diff --git a/results/classifier/deepseek-2-tmp/output/mistranslation/1757363 b/results/classifier/deepseek-2-tmp/output/mistranslation/1757363
new file mode 100644
index 000000000..3e8b91215
--- /dev/null
+++ b/results/classifier/deepseek-2-tmp/output/mistranslation/1757363
@@ -0,0 +1,34 @@
+
+infinite loop due to improper deal with "eret" on mips32
+
+1.qemu 2.9.1 release on the official web build with tcg
+2.cmd: qemu-system-mips -kernel kernelfile
+3. host: ubuntu 16.04.1 with linux kernel 4.6.2 x86_64
+   guest: mips bigendian 32bit (tplink firmware)
+
+
+detail:
+
+static inline void exception_return(CPUMIPSState *env)
+{
+    debug_pre_eret(env);
+    if (env->CP0_Status & (1 << CP0St_ERL)) {
+        set_pc(env, env->CP0_ErrorEPC);
+        env->CP0_Status &= ~(1 << CP0St_ERL);
+    } else {
+        set_pc(env, env->CP0_EPC);
+        env->CP0_Status &= ~(1 << CP0St_EXL);====================> ISSUE????
+    }
+    compute_hflags(env);
+    debug_post_eret(env);
+}
+
+void helper_eret(CPUMIPSState *env)
+{
+    exception_return(env);
+    env->lladdr = 1;
+}
+
+
+In the Issue Line, there is no check CP0_Status whether int is disabled (should not enter int routine),
+that result in the cpu can not jump out the int routine.
\ No newline at end of file