[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v8 14/14] target: Use qemu_log() instead of fpri
From: |
Thomas Huth |
Subject: |
Re: [Qemu-devel] [PATCH v8 14/14] target: Use qemu_log() instead of fprintf(stderr, ...) |
Date: |
Sat, 3 Feb 2018 21:23:31 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.5.2 |
On 03.02.2018 09:43, Markus Armbruster wrote:
> From: Alistair Francis <address@hidden>
>
> Convert fprintf(stderr, ...) to use qemu_log(). Double prints in
> target/ppc/translate.c were manually remove. A fprintf() in
> target/sh4/translate.c was kept as it's inside a #if 0. The #if 0 and
> fflush() was removed around the unimplemented log in
> target/sh4/translate.c as well.
>
> Signed-off-by: Alistair Francis <address@hidden>
> [Trivial conflict with 6f1c2af641d resolved]
> Signed-off-by: Markus Armbruster <address@hidden>
> Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
> ---
> target/cris/translate.c | 2 +-
> target/ppc/translate.c | 36 ++++++++++--------------------------
> target/sh4/translate.c | 7 ++-----
> target/unicore32/translate.c | 2 +-
> 4 files changed, 14 insertions(+), 33 deletions(-)
>
> diff --git a/target/cris/translate.c b/target/cris/translate.c
> index f51a731db9..ff31311ed0 100644
> --- a/target/cris/translate.c
> +++ b/target/cris/translate.c
> @@ -137,7 +137,7 @@ typedef struct DisasContext {
>
> static void gen_BUG(DisasContext *dc, const char *file, int line)
> {
> - fprintf(stderr, "BUG: pc=%x %s %d\n", dc->pc, file, line);
> + qemu_log("BUG: pc=%x %s %d\n", dc->pc, file, line);
> if (qemu_log_separate()) {
> qemu_log("BUG: pc=%x %s %d\n", dc->pc, file, line);
> }
This one is still logging twice now.
> diff --git a/target/ppc/translate.c b/target/ppc/translate.c
> index 4132f67bb1..172c9f2001 100644
> --- a/target/ppc/translate.c
> +++ b/target/ppc/translate.c
> @@ -3933,12 +3933,8 @@ static inline void gen_op_mfspr(DisasContext *ctx)
> * allowing userland application to read the PVR
> */
> if (sprn != SPR_PVR) {
> - fprintf(stderr, "Trying to read privileged spr %d (0x%03x)
> at "
> - TARGET_FMT_lx "\n", sprn, sprn, ctx->nip - 4);
> - if (qemu_log_separate()) {
> - qemu_log("Trying to read privileged spr %d (0x%03x) at "
> - TARGET_FMT_lx "\n", sprn, sprn, ctx->nip - 4);
> - }
> + qemu_log("Trying to read privileged spr %d (0x%03x) at "
> + TARGET_FMT_lx "\n", sprn, sprn, ctx->nip - 4);
I wonder whether that should maybe rather be a
qemu_log_mask(LOG_GUEST_ERROR, ...) instead? Well, but maybe that's
subject to another patch...
> }
> gen_priv_exception(ctx, POWERPC_EXCP_PRIV_REG);
> }
> @@ -3950,12 +3946,8 @@ static inline void gen_op_mfspr(DisasContext *ctx)
> return;
> }
> /* Not defined */
> - fprintf(stderr, "Trying to read invalid spr %d (0x%03x) at "
> - TARGET_FMT_lx "\n", sprn, sprn, ctx->nip - 4);
> - if (qemu_log_separate()) {
> - qemu_log("Trying to read invalid spr %d (0x%03x) at "
> - TARGET_FMT_lx "\n", sprn, sprn, ctx->nip - 4);
> - }
> + qemu_log("Trying to read invalid spr %d (0x%03x) at "
> + TARGET_FMT_lx "\n", sprn, sprn, ctx->nip - 4);
dito.
> /* The behaviour depends on MSR:PR and SPR# bit 0x10,
> * it can generate a priv, a hv emu or a no-op
> @@ -4096,12 +4088,8 @@ static void gen_mtspr(DisasContext *ctx)
> (*write_cb)(ctx, sprn, rS(ctx->opcode));
> } else {
> /* Privilege exception */
> - fprintf(stderr, "Trying to write privileged spr %d (0x%03x) at "
> - TARGET_FMT_lx "\n", sprn, sprn, ctx->nip - 4);
> - if (qemu_log_separate()) {
> - qemu_log("Trying to write privileged spr %d (0x%03x) at "
> - TARGET_FMT_lx "\n", sprn, sprn, ctx->nip - 4);
> - }
> + qemu_log("Trying to write privileged spr %d (0x%03x) at "
> + TARGET_FMT_lx "\n", sprn, sprn, ctx->nip - 4);
dito.
> gen_priv_exception(ctx, POWERPC_EXCP_PRIV_REG);
> }
> } else {
> @@ -4113,12 +4101,8 @@ static void gen_mtspr(DisasContext *ctx)
> }
>
> /* Not defined */
> - if (qemu_log_separate()) {
> - qemu_log("Trying to write invalid spr %d (0x%03x) at "
> - TARGET_FMT_lx "\n", sprn, sprn, ctx->nip - 4);
> - }
> - fprintf(stderr, "Trying to write invalid spr %d (0x%03x) at "
> - TARGET_FMT_lx "\n", sprn, sprn, ctx->nip - 4);
> + qemu_log("Trying to write invalid spr %d (0x%03x) at "
> + TARGET_FMT_lx "\n", sprn, sprn, ctx->nip - 4);
dito.
>
> /* The behaviour depends on MSR:PR and SPR# bit 0x10,
> @@ -7381,8 +7365,8 @@ void gen_intermediate_code(CPUState *cs, struct
> TranslationBlock *tb)
> break;
> }
> if (tcg_check_temp_count()) {
> - fprintf(stderr, "Opcode %02x %02x %02x %02x (%08x) leaked "
> - "temporaries\n", opc1(ctx.opcode), opc2(ctx.opcode),
> + qemu_log("Opcode %02x %02x %02x %02x (%08x) leaked "
> + "temporaries\n", opc1(ctx.opcode), opc2(ctx.opcode),
> opc3(ctx.opcode), opc4(ctx.opcode), ctx.opcode);
> exit(1);
> }
> diff --git a/target/sh4/translate.c b/target/sh4/translate.c
> index 012156b97b..6c2dca5cf2 100644
> --- a/target/sh4/translate.c
> +++ b/target/sh4/translate.c
> @@ -1827,11 +1827,8 @@ static void _decode_opc(DisasContext * ctx)
> }
> break;
> }
> -#if 0
> - fprintf(stderr, "unknown instruction 0x%04x at pc 0x%08x\n",
> - ctx->opcode, ctx->base.pc_next);
> - fflush(stderr);
> -#endif
> + qemu_log_mask(LOG_UNIMP, "unknown instruction 0x%04x at pc 0x%08x\n",
> + ctx->opcode, ctx->base.pc_next);
> do_illegal:
> if (ctx->envflags & DELAY_SLOT_MASK) {
> do_illegal_slot:
> diff --git a/target/unicore32/translate.c b/target/unicore32/translate.c
> index 5b51f2166d..4b3c0463da 100644
> --- a/target/unicore32/translate.c
> +++ b/target/unicore32/translate.c
> @@ -1936,7 +1936,7 @@ void gen_intermediate_code(CPUState *cs,
> TranslationBlock *tb)
> disas_uc32_insn(env, dc);
>
> if (num_temps) {
> - fprintf(stderr, "Internal resource leak before %08x\n", dc->pc);
> + qemu_log("Internal resource leak before %08x\n", dc->pc);
> num_temps = 0;
> }
Thomas
- [Qemu-devel] [PATCH v8 13/14] tcg: Replace fprintf(stderr, "*\n" with error_report(), (continued)
- [Qemu-devel] [PATCH v8 13/14] tcg: Replace fprintf(stderr, "*\n" with error_report(), Markus Armbruster, 2018/02/03
- [Qemu-devel] [PATCH v8 05/14] hw/mips: Replace fprintf(stderr, "*\n" with error_report(), Markus Armbruster, 2018/02/03
- [Qemu-devel] [PATCH v8 12/14] hw/xen*: Replace fprintf(stderr, "*\n" with error_report(), Markus Armbruster, 2018/02/03
- [Qemu-devel] [PATCH v8 09/14] hw/ppc: Replace fprintf(stderr, "*\n" with error_report(), Markus Armbruster, 2018/02/03
- [Qemu-devel] [PATCH v8 08/14] hw/pci*: Replace fprintf(stderr, "*\n" with error_report(), Markus Armbruster, 2018/02/03
- [Qemu-devel] [PATCH v8 02/14] hw/arm: Replace fprintf(stderr, "*\n" with error_report(), Markus Armbruster, 2018/02/03
- [Qemu-devel] [PATCH v8 11/14] hw/sparc*: Replace fprintf(stderr, "*\n" with error_report(), Markus Armbruster, 2018/02/03
- [Qemu-devel] [PATCH v8 14/14] target: Use qemu_log() instead of fprintf(stderr, ...), Markus Armbruster, 2018/02/03
- Re: [Qemu-devel] [PATCH v8 14/14] target: Use qemu_log() instead of fprintf(stderr, ...),
Thomas Huth <=
- Re: [Qemu-devel] [PATCH v8 14/14] target: Use qemu_log() instead of fprintf(stderr, ...), Markus Armbruster, 2018/02/05
- Re: [Qemu-devel] [PATCH v8 14/14] target: Use qemu_log() instead of fprintf(stderr, ...), Thomas Huth, 2018/02/05
- Re: [Qemu-devel] [PATCH v8 14/14] target: Use qemu_log() instead of fprintf(stderr, ...), Markus Armbruster, 2018/02/05
- Re: [Qemu-devel] [PATCH v8 14/14] target: Use qemu_log() instead of fprintf(stderr, ...), Alistair Francis, 2018/02/05
- Re: [Qemu-devel] [PATCH v8 14/14] target: Use qemu_log() instead of fprintf(stderr, ...), Thomas Huth, 2018/02/06
[Qemu-devel] [PATCH v8 01/14] audio: Replace AUDIO_FUNC with __func__, Markus Armbruster, 2018/02/03