Browse Source

linux-user/sparc: Handle unimplemented flush trap

For sparc64, TT_UNIMP_FLUSH == TT_ILL_INSN, so this is
already handled.  For sparc32, the kernel uses SKIP_TRAP.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20230216054516.1267305-14-richard.henderson@linaro.org>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
Richard Henderson 2 years ago
parent
commit
81f04cd34c
1 changed files with 3 additions and 0 deletions
  1. 3 0
      linux-user/sparc/cpu_loop.c

+ 3 - 0
linux-user/sparc/cpu_loop.c

@@ -315,6 +315,9 @@ void cpu_loop (CPUSPARCState *env)
         case TT_NCP_INSN:
         case TT_NCP_INSN:
             force_sig_fault(TARGET_SIGILL, TARGET_ILL_COPROC, env->pc);
             force_sig_fault(TARGET_SIGILL, TARGET_ILL_COPROC, env->pc);
             break;
             break;
+        case TT_UNIMP_FLUSH:
+            next_instruction(env);
+            break;
 #endif
 #endif
         case EXCP_ATOMIC:
         case EXCP_ATOMIC:
             cpu_exec_step_atomic(cs);
             cpu_exec_step_atomic(cs);