From: Stefan Weil Date: Fri, 30 Sep 2011 19:23:06 +0000 (+0200) Subject: tcg: TCG targets may define tcg_qemu_tb_exec X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=ce285b17549e806483f6499d7f3d418168116950;p=qemu.git tcg: TCG targets may define tcg_qemu_tb_exec Targets may use a non standard definition of tcg_tb_exec by defining this macro in their tcg_target.h. This is used here by ppc. It will be used by the TCG interpreter, too. Cc: malc Signed-off-by: Stefan Weil --- diff --git a/tcg/ppc/tcg-target.h b/tcg/ppc/tcg-target.h index 5c2d61294f..25a6ea4edc 100644 --- a/tcg/ppc/tcg-target.h +++ b/tcg/ppc/tcg-target.h @@ -96,3 +96,7 @@ enum { #define TCG_AREG0 TCG_REG_R27 #define TCG_TARGET_HAS_GUEST_BASE + +#define tcg_qemu_tb_exec(env, tb_ptr) \ + ((long REGPARM __attribute__ ((longcall)) \ + (*)(void *, void *))code_gen_prologue)(env, tb_ptr) diff --git a/tcg/tcg.h b/tcg/tcg.h index 015f88ae69..ca48075175 100644 --- a/tcg/tcg.h +++ b/tcg/tcg.h @@ -584,10 +584,9 @@ TCGv_i32 tcg_const_local_i32(int32_t val); TCGv_i64 tcg_const_local_i64(int64_t val); extern uint8_t code_gen_prologue[]; -#if defined(_ARCH_PPC) && !defined(_ARCH_PPC64) -#define tcg_qemu_tb_exec(env, tb_ptr) \ - ((long REGPARM __attribute__ ((longcall)) (*)(void *, void *))code_gen_prologue)(env, tb_ptr) -#else -#define tcg_qemu_tb_exec(env, tb_ptr) \ + +/* TCG targets may use a different definition of tcg_qemu_tb_exec. */ +#if !defined(tcg_qemu_tb_exec) +# define tcg_qemu_tb_exec(env, tb_ptr) \ ((long REGPARM (*)(void *, void *))code_gen_prologue)(env, tb_ptr) #endif