summaryrefslogtreecommitdiffstats
path: root/results/classifier/111/review/1757363
diff options
context:
space:
mode:
Diffstat (limited to 'results/classifier/111/review/1757363')
-rw-r--r--results/classifier/111/review/175736383
1 files changed, 83 insertions, 0 deletions
diff --git a/results/classifier/111/review/1757363 b/results/classifier/111/review/1757363
new file mode 100644
index 00000000..c69b9403
--- /dev/null
+++ b/results/classifier/111/review/1757363
@@ -0,0 +1,83 @@
+graphic: 0.182
+other: 0.129
+debug: 0.114
+device: 0.104
+semantic: 0.092
+performance: 0.067
+PID: 0.062
+permissions: 0.053
+files: 0.044
+vnc: 0.042
+network: 0.033
+boot: 0.030
+KVM: 0.024
+socket: 0.023
+debug: 0.834
+performance: 0.048
+files: 0.023
+other: 0.017
+PID: 0.013
+network: 0.013
+device: 0.011
+semantic: 0.011
+boot: 0.008
+socket: 0.007
+vnc: 0.005
+permissions: 0.004
+graphic: 0.004
+KVM: 0.002
+
+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.
+
+What model/cpu is your router?
+
+Which MIPS guest CPU are you using? Are you sure it matches the CPU of your router?
+
+Is your tplink firmware publicly available? (to reproduce your problem).
+
+My guess is your router CPU doesn't match the ISA (likely your CPU has extensions to the 24Kf ISA).
+
+[Expired for QEMU because there has been no activity for 60 days.]
+
+This seems to affect me too; I have a loop on interrupt handler after the first interrupt called.
+
+The version of qemu is latest 3.1 from upstream, so this is not Ubuntu issue.
+
+However, have you done with it? Just commenting out
+
+env->CP0_Status &= ~(1 << CP0St_EXL);
+
+does not help.
+