target/hppa: ignore DIAG opcode
DIAG is usually only used by diagnostics software as it's CPU specific. In most of the cases it's better to ignore it and log a message that it's not implemented. Signed-off-by: Sven Schnelle <svens@stackframe.org> Message-Id: <20190311191602.25796-7-svens@stackframe.org> [rth: Free the nullify condition.] Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
parent
b06c0618c0
commit
15da177bb4
|
@ -525,3 +525,6 @@ fmpy_d 001110 ..... ..... 010 ..... ... ..... @f0e_d_3
|
||||||
fdiv_d 001110 ..... ..... 011 ..... ... ..... @f0e_d_3
|
fdiv_d 001110 ..... ..... 011 ..... ... ..... @f0e_d_3
|
||||||
|
|
||||||
xmpyu 001110 ..... ..... 010 .0111 .00 t:5 r1=%ra64 r2=%rb64
|
xmpyu 001110 ..... ..... 010 .0111 .00 t:5 r1=%ra64 r2=%rb64
|
||||||
|
|
||||||
|
# diag
|
||||||
|
diag 000101 ----- ----- ---- ---- ---- ----
|
||||||
|
|
|
@ -4048,6 +4048,13 @@ static bool trans_fmpyfadd_d(DisasContext *ctx, arg_fmpyfadd_d *a)
|
||||||
return nullify_end(ctx);
|
return nullify_end(ctx);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static bool trans_diag(DisasContext *ctx, arg_diag *a)
|
||||||
|
{
|
||||||
|
qemu_log_mask(LOG_UNIMP, "DIAG opcode ignored\n");
|
||||||
|
cond_free(&ctx->null_cond);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
static void hppa_tr_init_disas_context(DisasContextBase *dcbase, CPUState *cs)
|
static void hppa_tr_init_disas_context(DisasContextBase *dcbase, CPUState *cs)
|
||||||
{
|
{
|
||||||
DisasContext *ctx = container_of(dcbase, DisasContext, base);
|
DisasContext *ctx = container_of(dcbase, DisasContext, base);
|
||||||
|
|
Loading…
Reference in a new issue