qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] Fix conversions from pointer to tcg_target_long


From: Aurelien Jarno
Subject: Re: [Qemu-devel] [PATCH] Fix conversions from pointer to tcg_target_long
Date: Sun, 10 Apr 2011 00:50:38 +0200
User-agent: Mutt/1.5.20 (2009-06-14)

On Sat, Apr 02, 2011 at 01:36:31PM +0200, Stefan Weil wrote:
> tcg_gen_exit_tb takes a parameter of type tcg_target_long,
> so the type casts of pointer to long should be replaced by
> type casts of pointer to tcg_target_long (suggested by Blue Swirl).
> 
> These changes are needed for build environments where
> sizeof(long) != sizeof(void *), especially for w64.
> 
> Signed-off-by: Stefan Weil <address@hidden>
> ---
>  gen-icount.h                  |    2 +-
>  target-alpha/translate.c      |    6 +++---
>  target-arm/translate.c        |    2 +-
>  target-cris/translate.c       |    2 +-
>  target-i386/translate.c       |    2 +-
>  target-lm32/translate.c       |    2 +-
>  target-m68k/translate.c       |    2 +-
>  target-microblaze/translate.c |    2 +-
>  target-mips/translate.c       |    2 +-
>  target-ppc/translate.c        |    2 +-
>  target-sh4/translate.c        |    2 +-
>  target-sparc/translate.c      |    2 +-
>  12 files changed, 14 insertions(+), 14 deletions(-)

Thanks, applied.

> diff --git a/gen-icount.h b/gen-icount.h
> index 8879da6..5fb3829 100644
> --- a/gen-icount.h
> +++ b/gen-icount.h
> @@ -29,7 +29,7 @@ static void gen_icount_end(TranslationBlock *tb, int 
> num_insns)
>      if (use_icount) {
>          *icount_arg = num_insns;
>          gen_set_label(icount_label);
> -        tcg_gen_exit_tb((long)tb + 2);
> +        tcg_gen_exit_tb((tcg_target_long)tb + 2);
>      }
>  }
>  
> diff --git a/target-alpha/translate.c b/target-alpha/translate.c
> index 3a1c625..96e922b 100644
> --- a/target-alpha/translate.c
> +++ b/target-alpha/translate.c
> @@ -398,7 +398,7 @@ static ExitStatus gen_bdirect(DisasContext *ctx, int ra, 
> int32_t disp)
>      } else if (use_goto_tb(ctx, dest)) {
>          tcg_gen_goto_tb(0);
>          tcg_gen_movi_i64(cpu_pc, dest);
> -        tcg_gen_exit_tb((long)ctx->tb);
> +        tcg_gen_exit_tb((tcg_target_long)ctx->tb);
>          return EXIT_GOTO_TB;
>      } else {
>          tcg_gen_movi_i64(cpu_pc, dest);
> @@ -417,12 +417,12 @@ static ExitStatus gen_bcond_internal(DisasContext *ctx, 
> TCGCond cond,
>  
>          tcg_gen_goto_tb(0);
>          tcg_gen_movi_i64(cpu_pc, ctx->pc);
> -        tcg_gen_exit_tb((long)ctx->tb);
> +        tcg_gen_exit_tb((tcg_target_long)ctx->tb);
>  
>          gen_set_label(lab_true);
>          tcg_gen_goto_tb(1);
>          tcg_gen_movi_i64(cpu_pc, dest);
> -        tcg_gen_exit_tb((long)ctx->tb + 1);
> +        tcg_gen_exit_tb((tcg_target_long)ctx->tb + 1);
>  
>          return EXIT_GOTO_TB;
>      } else {
> diff --git a/target-arm/translate.c b/target-arm/translate.c
> index 39512bc..b3f82c7 100644
> --- a/target-arm/translate.c
> +++ b/target-arm/translate.c
> @@ -3394,7 +3394,7 @@ static inline void gen_goto_tb(DisasContext *s, int n, 
> uint32_t dest)
>      if ((tb->pc & TARGET_PAGE_MASK) == (dest & TARGET_PAGE_MASK)) {
>          tcg_gen_goto_tb(n);
>          gen_set_pc_im(dest);
> -        tcg_gen_exit_tb((long)tb + n);
> +        tcg_gen_exit_tb((tcg_target_long)tb + n);
>      } else {
>          gen_set_pc_im(dest);
>          tcg_gen_exit_tb(0);
> diff --git a/target-cris/translate.c b/target-cris/translate.c
> index b4648a0..1c03fa5 100644
> --- a/target-cris/translate.c
> +++ b/target-cris/translate.c
> @@ -596,7 +596,7 @@ static void gen_goto_tb(DisasContext *dc, int n, 
> target_ulong dest)
>       if ((tb->pc & TARGET_PAGE_MASK) == (dest & TARGET_PAGE_MASK)) {
>               tcg_gen_goto_tb(n);
>               tcg_gen_movi_tl(env_pc, dest);
> -             tcg_gen_exit_tb((long)tb + n);
> +                tcg_gen_exit_tb((tcg_target_long)tb + n);
>       } else {
>               tcg_gen_movi_tl(env_pc, dest);
>               tcg_gen_exit_tb(0);
> diff --git a/target-i386/translate.c b/target-i386/translate.c
> index c008450..7d1340e 100644
> --- a/target-i386/translate.c
> +++ b/target-i386/translate.c
> @@ -2274,7 +2274,7 @@ static inline void gen_goto_tb(DisasContext *s, int 
> tb_num, target_ulong eip)
>          /* jump to same page: we can use a direct jump */
>          tcg_gen_goto_tb(tb_num);
>          gen_jmp_im(eip);
> -        tcg_gen_exit_tb((long)tb + tb_num);
> +        tcg_gen_exit_tb((tcg_target_long)tb + tb_num);
>      } else {
>          /* jump to another page: currently not optimized */
>          gen_jmp_im(eip);
> diff --git a/target-lm32/translate.c b/target-lm32/translate.c
> index 666d5f4..efc9b5a 100644
> --- a/target-lm32/translate.c
> +++ b/target-lm32/translate.c
> @@ -138,7 +138,7 @@ static void gen_goto_tb(DisasContext *dc, int n, 
> target_ulong dest)
>              likely(!dc->singlestep_enabled)) {
>          tcg_gen_goto_tb(n);
>          tcg_gen_movi_tl(cpu_pc, dest);
> -        tcg_gen_exit_tb((long)tb + n);
> +        tcg_gen_exit_tb((tcg_target_long)tb + n);
>      } else {
>          tcg_gen_movi_tl(cpu_pc, dest);
>          if (dc->singlestep_enabled) {
> diff --git a/target-m68k/translate.c b/target-m68k/translate.c
> index 6f72a2b..038c0af 100644
> --- a/target-m68k/translate.c
> +++ b/target-m68k/translate.c
> @@ -861,7 +861,7 @@ static void gen_jmp_tb(DisasContext *s, int n, uint32_t 
> dest)
>                 (s->pc & TARGET_PAGE_MASK) == (dest & TARGET_PAGE_MASK)) {
>          tcg_gen_goto_tb(n);
>          tcg_gen_movi_i32(QREG_PC, dest);
> -        tcg_gen_exit_tb((long)tb + n);
> +        tcg_gen_exit_tb((tcg_target_long)tb + n);
>      } else {
>          gen_jmp_im(s, dest);
>          tcg_gen_exit_tb(0);
> diff --git a/target-microblaze/translate.c b/target-microblaze/translate.c
> index fdb2b40..9c00149 100644
> --- a/target-microblaze/translate.c
> +++ b/target-microblaze/translate.c
> @@ -146,7 +146,7 @@ static void gen_goto_tb(DisasContext *dc, int n, 
> target_ulong dest)
>      if ((tb->pc & TARGET_PAGE_MASK) == (dest & TARGET_PAGE_MASK)) {
>          tcg_gen_goto_tb(n);
>          tcg_gen_movi_tl(cpu_SR[SR_PC], dest);
> -        tcg_gen_exit_tb((long)tb + n);
> +        tcg_gen_exit_tb((tcg_target_long)tb + n);
>      } else {
>          tcg_gen_movi_tl(cpu_SR[SR_PC], dest);
>          tcg_gen_exit_tb(0);
> diff --git a/target-mips/translate.c b/target-mips/translate.c
> index 0f93e2a..953c528 100644
> --- a/target-mips/translate.c
> +++ b/target-mips/translate.c
> @@ -2686,7 +2686,7 @@ static inline void gen_goto_tb(DisasContext *ctx, int 
> n, target_ulong dest)
>          likely(!ctx->singlestep_enabled)) {
>          tcg_gen_goto_tb(n);
>          gen_save_pc(dest);
> -        tcg_gen_exit_tb((long)tb + n);
> +        tcg_gen_exit_tb((tcg_target_long)tb + n);
>      } else {
>          gen_save_pc(dest);
>          if (ctx->singlestep_enabled) {
> diff --git a/target-ppc/translate.c b/target-ppc/translate.c
> index 090795b..3c3ee24 100644
> --- a/target-ppc/translate.c
> +++ b/target-ppc/translate.c
> @@ -3347,7 +3347,7 @@ static inline void gen_goto_tb(DisasContext *ctx, int 
> n, target_ulong dest)
>          likely(!ctx->singlestep_enabled)) {
>          tcg_gen_goto_tb(n);
>          tcg_gen_movi_tl(cpu_nip, dest & ~3);
> -        tcg_gen_exit_tb((long)tb + n);
> +        tcg_gen_exit_tb((tcg_target_long)tb + n);
>      } else {
>          tcg_gen_movi_tl(cpu_nip, dest & ~3);
>          if (unlikely(ctx->singlestep_enabled)) {
> diff --git a/target-sh4/translate.c b/target-sh4/translate.c
> index 58e9b8f..88098d7 100644
> --- a/target-sh4/translate.c
> +++ b/target-sh4/translate.c
> @@ -302,7 +302,7 @@ static void gen_goto_tb(DisasContext * ctx, int n, 
> target_ulong dest)
>       /* Use a direct jump if in same page and singlestep not enabled */
>          tcg_gen_goto_tb(n);
>          tcg_gen_movi_i32(cpu_pc, dest);
> -        tcg_gen_exit_tb((long) tb + n);
> +        tcg_gen_exit_tb((tcg_target_long)tb + n);
>      } else {
>          tcg_gen_movi_i32(cpu_pc, dest);
>          if (ctx->singlestep_enabled)
> diff --git a/target-sparc/translate.c b/target-sparc/translate.c
> index e26462e..883ecd2 100644
> --- a/target-sparc/translate.c
> +++ b/target-sparc/translate.c
> @@ -241,7 +241,7 @@ static inline void gen_goto_tb(DisasContext *s, int 
> tb_num,
>          tcg_gen_goto_tb(tb_num);
>          tcg_gen_movi_tl(cpu_pc, pc);
>          tcg_gen_movi_tl(cpu_npc, npc);
> -        tcg_gen_exit_tb((long)tb + tb_num);
> +        tcg_gen_exit_tb((tcg_target_long)tb + tb_num);
>      } else {
>          /* jump to another page: currently not optimized */
>          tcg_gen_movi_tl(cpu_pc, pc);
> -- 
> 1.7.2.5
> 
> 
> 

-- 
Aurelien Jarno                          GPG: 1024D/F1BCDB73
address@hidden                 http://www.aurel32.net



reply via email to

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