diff --git a/tcg/tcg.c b/tcg/tcg.c index 351a0a303..cd2db3cb5 100644 --- a/tcg/tcg.c +++ b/tcg/tcg.c @@ -253,8 +253,8 @@ void tcg_prologue_init(TCGContext *s) s->code_buf = code_gen_prologue; s->code_ptr = s->code_buf; tcg_target_qemu_prologue(s); - flush_icache_range((unsigned long)s->code_buf, - (unsigned long)s->code_ptr); + flush_icache_range((tcg_target_ulong)s->code_buf, + (tcg_target_ulong)s->code_ptr); } void tcg_set_frame(TCGContext *s, int reg, @@ -2176,8 +2176,9 @@ int tcg_gen_code(TCGContext *s, uint8_t *gen_code_buf) tcg_gen_code_common(s, gen_code_buf, -1); /* flush instruction cache */ - flush_icache_range((unsigned long)gen_code_buf, - (unsigned long)s->code_ptr); + flush_icache_range((tcg_target_ulong)gen_code_buf, + (tcg_target_ulong)s->code_ptr); + return s->code_ptr - gen_code_buf; }