mirror of https://gitee.com/openkylin/qemu.git
tcg: Change tcg_qemu_tb_exec return to uintptr_t
Reviewed-by: Aurelien Jarno <aurelien@aurel32.net> Signed-off-by: Richard Henderson <rth@twiddle.net>
This commit is contained in:
parent
b93949ef6a
commit
04d5a1da70
|
@ -53,7 +53,7 @@ void cpu_resume_from_signal(CPUArchState *env, void *puc)
|
|||
static inline tcg_target_ulong cpu_tb_exec(CPUState *cpu, uint8_t *tb_ptr)
|
||||
{
|
||||
CPUArchState *env = cpu->env_ptr;
|
||||
tcg_target_ulong next_tb = tcg_qemu_tb_exec(env, tb_ptr);
|
||||
uintptr_t next_tb = tcg_qemu_tb_exec(env, tb_ptr);
|
||||
if ((next_tb & TB_EXIT_MASK) > TB_EXIT_IDX1) {
|
||||
/* We didn't start executing this TB (eg because the instruction
|
||||
* counter hit zero); we must restore the guest PC to the address
|
||||
|
|
|
@ -102,7 +102,7 @@ typedef enum {
|
|||
#define TCG_AREG0 TCG_REG_R27
|
||||
|
||||
#define tcg_qemu_tb_exec(env, tb_ptr) \
|
||||
((long __attribute__ ((longcall)) \
|
||||
((uintptr_t __attribute__ ((longcall)) \
|
||||
(*)(void *, void *))tcg_ctx.code_gen_prologue)(env, tb_ptr)
|
||||
|
||||
#endif
|
||||
|
|
|
@ -733,8 +733,7 @@ TCGv_i64 tcg_const_local_i64(int64_t val);
|
|||
|
||||
#if !defined(tcg_qemu_tb_exec)
|
||||
# define tcg_qemu_tb_exec(env, tb_ptr) \
|
||||
((tcg_target_ulong (*)(void *, void *))tcg_ctx.code_gen_prologue)(env, \
|
||||
tb_ptr)
|
||||
((uintptr_t (*)(void *, void *))tcg_ctx.code_gen_prologue)(env, tb_ptr)
|
||||
#endif
|
||||
|
||||
void tcg_register_jit(void *buf, size_t buf_size);
|
||||
|
|
|
@ -169,7 +169,7 @@ typedef enum {
|
|||
|
||||
void tci_disas(uint8_t opc);
|
||||
|
||||
tcg_target_ulong tcg_qemu_tb_exec(CPUArchState *env, uint8_t *tb_ptr);
|
||||
uintptr_t tcg_qemu_tb_exec(CPUArchState *env, uint8_t *tb_ptr);
|
||||
#define tcg_qemu_tb_exec tcg_qemu_tb_exec
|
||||
|
||||
static inline void flush_icache_range(uintptr_t start, uintptr_t stop)
|
||||
|
|
4
tci.c
4
tci.c
|
@ -434,11 +434,11 @@ static bool tci_compare64(uint64_t u0, uint64_t u1, TCGCond condition)
|
|||
}
|
||||
|
||||
/* Interpret pseudo code in tb. */
|
||||
tcg_target_ulong tcg_qemu_tb_exec(CPUArchState *env, uint8_t *tb_ptr)
|
||||
uintptr_t tcg_qemu_tb_exec(CPUArchState *env, uint8_t *tb_ptr)
|
||||
{
|
||||
long tcg_temps[CPU_TEMP_BUF_NLONGS];
|
||||
uintptr_t sp_value = (uintptr_t)(tcg_temps + CPU_TEMP_BUF_NLONGS);
|
||||
tcg_target_ulong next_tb = 0;
|
||||
uintptr_t next_tb = 0;
|
||||
|
||||
tci_reg[TCG_AREG0] = (tcg_target_ulong)env;
|
||||
tci_reg[TCG_REG_CALL_STACK] = sp_value;
|
||||
|
|
Loading…
Reference in New Issue