[PATCH 1/9] target/mips: Do not abort on invalid instruction

Philippe Mathieu-Daudé posted 9 patches 4 years, 7 months ago
Maintainers: Jiaxun Yang <jiaxun.yang@flygoat.com>, Aurelien Jarno <aurelien@aurel32.net>, "Philippe Mathieu-Daudé" <f4bug@amsat.org>, Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>
[PATCH 1/9] target/mips: Do not abort on invalid instruction
Posted by Philippe Mathieu-Daudé 4 years, 7 months ago
On real hardware an invalid instruction doesn't halt the world,
but usually triggers a RESERVED INSTRUCTION exception.
TCG guest code shouldn't abort QEMU anyway.

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
 target/mips/tcg/translate.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/target/mips/tcg/translate.c b/target/mips/tcg/translate.c
index 0954ce0dbc3..b92a473f870 100644
--- a/target/mips/tcg/translate.c
+++ b/target/mips/tcg/translate.c
@@ -12151,8 +12151,8 @@ static void gen_branch(DisasContext *ctx, int insn_bytes)
             tcg_gen_lookup_and_goto_ptr();
             break;
         default:
-            fprintf(stderr, "unknown branch 0x%x\n", proc_hflags);
-            abort();
+            LOG_DISAS("unknown branch 0x%x\n", proc_hflags);
+            gen_reserved_instruction(ctx);
         }
     }
 }
-- 
2.31.1

Re: [PATCH 1/9] target/mips: Do not abort on invalid instruction
Posted by Richard Henderson 4 years, 7 months ago
On 6/17/21 10:43 AM, Philippe Mathieu-Daudé wrote:
> On real hardware an invalid instruction doesn't halt the world,
> but usually triggers a RESERVED INSTRUCTION exception.
> TCG guest code shouldn't abort QEMU anyway.
> 
> Signed-off-by: Philippe Mathieu-Daudé<f4bug@amsat.org>
> ---
>   target/mips/tcg/translate.c | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>