mirror of https://github.com/xqemu/xqemu.git
Some fixes for TCG debugging
This fixes a few things after Paul's improvements for TCG debugging: - change TCGv_i64 field name to something different from TCGv_i32 - fix things in tcg that the above change made visible. Signed-off-by: Laurent Desnogues <laurent.desnogues@gmail.com> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5919 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
parent
e8fc4fa7a1
commit
a810a2de17
|
@ -132,7 +132,7 @@ static inline void tcg_gen_ldst_op_i64(int opc, TCGv_i64 val, TCGv_ptr base,
|
|||
TCGArg offset)
|
||||
{
|
||||
*gen_opc_ptr++ = opc;
|
||||
*gen_opparam_ptr++ = GET_TCGV_I32(val);
|
||||
*gen_opparam_ptr++ = GET_TCGV_I64(val);
|
||||
*gen_opparam_ptr++ = GET_TCGV_PTR(base);
|
||||
*gen_opparam_ptr++ = offset;
|
||||
}
|
||||
|
@ -166,7 +166,7 @@ static inline void tcg_gen_op4_i32(int opc, TCGv_i32 arg1, TCGv_i32 arg2,
|
|||
}
|
||||
|
||||
static inline void tcg_gen_op4_i64(int opc, TCGv_i64 arg1, TCGv_i64 arg2,
|
||||
TCGv_i64 arg3, TCGv_i32 arg4)
|
||||
TCGv_i64 arg3, TCGv_i64 arg4)
|
||||
{
|
||||
*gen_opc_ptr++ = opc;
|
||||
*gen_opparam_ptr++ = GET_TCGV_I64(arg1);
|
||||
|
|
|
@ -747,7 +747,7 @@ char *tcg_get_arg_str_i32(TCGContext *s, char *buf, int buf_size, TCGv_i32 arg)
|
|||
|
||||
char *tcg_get_arg_str_i64(TCGContext *s, char *buf, int buf_size, TCGv_i64 arg)
|
||||
{
|
||||
return tcg_get_arg_str_idx(s, buf, buf_size, GET_TCGV_I32(arg));
|
||||
return tcg_get_arg_str_idx(s, buf, buf_size, GET_TCGV_I64(arg));
|
||||
}
|
||||
|
||||
static int helper_cmp(const void *p1, const void *p2)
|
||||
|
|
|
@ -126,20 +126,20 @@ typedef tcg_target_ulong TCGArg;
|
|||
|
||||
typedef struct
|
||||
{
|
||||
int n;
|
||||
int i32;
|
||||
} TCGv_i32;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int n;
|
||||
int i64;
|
||||
} TCGv_i64;
|
||||
|
||||
#define MAKE_TCGV_I32(i) __extension__ \
|
||||
({ TCGv_i32 make_tcgv_tmp = {i}; make_tcgv_tmp;})
|
||||
#define MAKE_TCGV_I64(i) __extension__ \
|
||||
({ TCGv_i64 make_tcgv_tmp = {i}; make_tcgv_tmp;})
|
||||
#define GET_TCGV_I32(t) ((t).n)
|
||||
#define GET_TCGV_I64(t) ((t).n)
|
||||
#define GET_TCGV_I32(t) ((t).i32)
|
||||
#define GET_TCGV_I64(t) ((t).i64)
|
||||
#if TCG_TARGET_REG_BITS == 32
|
||||
#define TCGV_LOW(t) MAKE_TCGV_I32(GET_TCGV_I64(t))
|
||||
#define TCGV_HIGH(t) MAKE_TCGV_I32(GET_TCGV_I64(t) + 1)
|
||||
|
|
Loading…
Reference in New Issue