diff options
author | Matheus Ferst <matheus.ferst@eldorado.org.br> | 2022-06-27 11:11:04 -0300 |
---|---|---|
committer | Daniel Henrique Barboza <danielhb413@gmail.com> | 2022-07-18 13:59:43 -0300 |
commit | 8e1fedf8cef7a11d0cb7d5b23246e1bd5cf02b2a (patch) | |
tree | 7756bcb57cfd718f4e553298f506f56a386bfccf /target | |
parent | c35553b5e727dccfabc074e3658b082d63675dcc (diff) | |
download | qemu-8e1fedf8cef7a11d0cb7d5b23246e1bd5cf02b2a.zip qemu-8e1fedf8cef7a11d0cb7d5b23246e1bd5cf02b2a.tar.gz qemu-8e1fedf8cef7a11d0cb7d5b23246e1bd5cf02b2a.tar.bz2 |
target/ppc: fix exception error code in spr_write_excp_vector
The 'error' argument of gen_inval_exception will be or-ed with
POWERPC_EXCP_INVAL, so it should always be a constant prefixed with
POWERPC_EXCP_INVAL_. No functional change is intended,
spr_write_excp_vector is only used by register_BookE_sprs, and
powerpc_excp_booke ignores the lower 4 bits of the error code on
POWERPC_EXCP_INVAL exceptions.
Also, take the opportunity to replace printf with qemu_log_mask.
Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br>
Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Message-Id: <20220627141104.669152-7-matheus.ferst@eldorado.org.br>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Diffstat (limited to 'target')
-rw-r--r-- | target/ppc/translate.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/target/ppc/translate.c b/target/ppc/translate.c index 30dd524..da11472 100644 --- a/target/ppc/translate.c +++ b/target/ppc/translate.c @@ -907,9 +907,9 @@ void spr_write_excp_vector(DisasContext *ctx, int sprn, int gprn) } else if (sprn >= SPR_BOOKE_IVOR38 && sprn <= SPR_BOOKE_IVOR42) { sprn_offs = sprn - SPR_BOOKE_IVOR38 + 38; } else { - printf("Trying to write an unknown exception vector %d %03x\n", - sprn, sprn); - gen_inval_exception(ctx, POWERPC_EXCP_PRIV_REG); + qemu_log_mask(LOG_GUEST_ERROR, "Trying to write an unknown exception" + " vector 0x%03x\n", sprn); + gen_inval_exception(ctx, POWERPC_EXCP_INVAL_INVAL); return; } |