qemu-devel
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]