Merge remote-tracking branch 'remotes/rth/tcg-next' into staging
* remotes/rth/tcg-next: tcg/optimize: Remember garbage high bits for 32-bit ops tcg/optimize: Move updating of gen_opc_buf into tcg_opt_gen_mov* tcg-sparc: Make debug_frame const tcg-s390: Make debug_frame const tcg-arm: Make debug_frame const tcg-aarch64: Make debug_frame const tcg-i386: Make debug_frame const tcg: Allow the debug_frame data structure to be constant tcg: Move size effects out of dh_arg tcg: Remove sizemask and flags arguments to tcg_gen_callN tcg: Save flags and computed sizemask in TCGHelperInfo tcg: Register the helper info struct rather than the name tcg: Move side effects out of dh_sizemask tcg: Inline tcg_gen_helperN tcg: Use helper-gen.h in tcg-op.h tcg: Push tcg-runtime routines into exec/helper-* tcg: Invert the inclusion of helper.h tcg: Optimize brcond2 and setcond2 ne/eq Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
commit
66226ffd05
|
@ -1,274 +0,0 @@
|
|||
/* Helper file for declaring TCG helper functions.
|
||||
Should be included at the start and end of target-foo/helper.h.
|
||||
|
||||
Targets should use DEF_HELPER_N and DEF_HELPER_FLAGS_N to declare helper
|
||||
functions. Names should be specified without the helper_ prefix, and
|
||||
the return and argument types specified. 3 basic types are understood
|
||||
(i32, i64 and ptr). Additional aliases are provided for convenience and
|
||||
to match the types used by the C helper implementation.
|
||||
|
||||
The target helper.h should be included in all files that use/define
|
||||
helper functions. THis will ensure that function prototypes are
|
||||
consistent. In addition it should be included an extra two times for
|
||||
helper.c, defining:
|
||||
GEN_HELPER 1 to produce op generation functions (gen_helper_*)
|
||||
GEN_HELPER 2 to do runtime registration helper functions.
|
||||
*/
|
||||
|
||||
#ifndef DEF_HELPER_H
|
||||
#define DEF_HELPER_H 1
|
||||
|
||||
#define HELPER(name) glue(helper_, name)
|
||||
|
||||
#define GET_TCGV_i32 GET_TCGV_I32
|
||||
#define GET_TCGV_i64 GET_TCGV_I64
|
||||
#define GET_TCGV_ptr GET_TCGV_PTR
|
||||
|
||||
/* Some types that make sense in C, but not for TCG. */
|
||||
#define dh_alias_i32 i32
|
||||
#define dh_alias_s32 i32
|
||||
#define dh_alias_int i32
|
||||
#define dh_alias_i64 i64
|
||||
#define dh_alias_s64 i64
|
||||
#define dh_alias_f32 i32
|
||||
#define dh_alias_f64 i64
|
||||
#if TARGET_LONG_BITS == 32
|
||||
#define dh_alias_tl i32
|
||||
#else
|
||||
#define dh_alias_tl i64
|
||||
#endif
|
||||
#define dh_alias_ptr ptr
|
||||
#define dh_alias_void void
|
||||
#define dh_alias_noreturn noreturn
|
||||
#define dh_alias_env ptr
|
||||
#define dh_alias(t) glue(dh_alias_, t)
|
||||
|
||||
#define dh_ctype_i32 uint32_t
|
||||
#define dh_ctype_s32 int32_t
|
||||
#define dh_ctype_int int
|
||||
#define dh_ctype_i64 uint64_t
|
||||
#define dh_ctype_s64 int64_t
|
||||
#define dh_ctype_f32 float32
|
||||
#define dh_ctype_f64 float64
|
||||
#define dh_ctype_tl target_ulong
|
||||
#define dh_ctype_ptr void *
|
||||
#define dh_ctype_void void
|
||||
#define dh_ctype_noreturn void QEMU_NORETURN
|
||||
#define dh_ctype_env CPUArchState *
|
||||
#define dh_ctype(t) dh_ctype_##t
|
||||
|
||||
/* We can't use glue() here because it falls foul of C preprocessor
|
||||
recursive expansion rules. */
|
||||
#define dh_retvar_decl0_void void
|
||||
#define dh_retvar_decl0_noreturn void
|
||||
#define dh_retvar_decl0_i32 TCGv_i32 retval
|
||||
#define dh_retvar_decl0_i64 TCGv_i64 retval
|
||||
#define dh_retvar_decl0_ptr TCGv_ptr retval
|
||||
#define dh_retvar_decl0(t) glue(dh_retvar_decl0_, dh_alias(t))
|
||||
|
||||
#define dh_retvar_decl_void
|
||||
#define dh_retvar_decl_noreturn
|
||||
#define dh_retvar_decl_i32 TCGv_i32 retval,
|
||||
#define dh_retvar_decl_i64 TCGv_i64 retval,
|
||||
#define dh_retvar_decl_ptr TCGv_ptr retval,
|
||||
#define dh_retvar_decl(t) glue(dh_retvar_decl_, dh_alias(t))
|
||||
|
||||
#define dh_retvar_void TCG_CALL_DUMMY_ARG
|
||||
#define dh_retvar_noreturn TCG_CALL_DUMMY_ARG
|
||||
#define dh_retvar_i32 GET_TCGV_i32(retval)
|
||||
#define dh_retvar_i64 GET_TCGV_i64(retval)
|
||||
#define dh_retvar_ptr GET_TCGV_ptr(retval)
|
||||
#define dh_retvar(t) glue(dh_retvar_, dh_alias(t))
|
||||
|
||||
#define dh_is_64bit_void 0
|
||||
#define dh_is_64bit_noreturn 0
|
||||
#define dh_is_64bit_i32 0
|
||||
#define dh_is_64bit_i64 1
|
||||
#define dh_is_64bit_ptr (sizeof(void *) == 8)
|
||||
#define dh_is_64bit(t) glue(dh_is_64bit_, dh_alias(t))
|
||||
|
||||
#define dh_is_signed_void 0
|
||||
#define dh_is_signed_noreturn 0
|
||||
#define dh_is_signed_i32 0
|
||||
#define dh_is_signed_s32 1
|
||||
#define dh_is_signed_i64 0
|
||||
#define dh_is_signed_s64 1
|
||||
#define dh_is_signed_f32 0
|
||||
#define dh_is_signed_f64 0
|
||||
#define dh_is_signed_tl 0
|
||||
#define dh_is_signed_int 1
|
||||
/* ??? This is highly specific to the host cpu. There are even special
|
||||
extension instructions that may be required, e.g. ia64's addp4. But
|
||||
for now we don't support any 64-bit targets with 32-bit pointers. */
|
||||
#define dh_is_signed_ptr 0
|
||||
#define dh_is_signed_env dh_is_signed_ptr
|
||||
#define dh_is_signed(t) dh_is_signed_##t
|
||||
|
||||
#define dh_sizemask(t, n) \
|
||||
sizemask |= dh_is_64bit(t) << (n*2); \
|
||||
sizemask |= dh_is_signed(t) << (n*2+1)
|
||||
|
||||
#define dh_arg(t, n) \
|
||||
args[n - 1] = glue(GET_TCGV_, dh_alias(t))(glue(arg, n)); \
|
||||
dh_sizemask(t, n)
|
||||
|
||||
#define dh_arg_decl(t, n) glue(TCGv_, dh_alias(t)) glue(arg, n)
|
||||
|
||||
|
||||
#define DEF_HELPER_0(name, ret) \
|
||||
DEF_HELPER_FLAGS_0(name, 0, ret)
|
||||
#define DEF_HELPER_1(name, ret, t1) \
|
||||
DEF_HELPER_FLAGS_1(name, 0, ret, t1)
|
||||
#define DEF_HELPER_2(name, ret, t1, t2) \
|
||||
DEF_HELPER_FLAGS_2(name, 0, ret, t1, t2)
|
||||
#define DEF_HELPER_3(name, ret, t1, t2, t3) \
|
||||
DEF_HELPER_FLAGS_3(name, 0, ret, t1, t2, t3)
|
||||
#define DEF_HELPER_4(name, ret, t1, t2, t3, t4) \
|
||||
DEF_HELPER_FLAGS_4(name, 0, ret, t1, t2, t3, t4)
|
||||
#define DEF_HELPER_5(name, ret, t1, t2, t3, t4, t5) \
|
||||
DEF_HELPER_FLAGS_5(name, 0, ret, t1, t2, t3, t4, t5)
|
||||
|
||||
/* MAX_OPC_PARAM_IARGS must be set to n if last entry is DEF_HELPER_FLAGS_n. */
|
||||
|
||||
#endif /* DEF_HELPER_H */
|
||||
|
||||
#ifndef GEN_HELPER
|
||||
/* Function prototypes. */
|
||||
|
||||
#define DEF_HELPER_FLAGS_0(name, flags, ret) \
|
||||
dh_ctype(ret) HELPER(name) (void);
|
||||
|
||||
#define DEF_HELPER_FLAGS_1(name, flags, ret, t1) \
|
||||
dh_ctype(ret) HELPER(name) (dh_ctype(t1));
|
||||
|
||||
#define DEF_HELPER_FLAGS_2(name, flags, ret, t1, t2) \
|
||||
dh_ctype(ret) HELPER(name) (dh_ctype(t1), dh_ctype(t2));
|
||||
|
||||
#define DEF_HELPER_FLAGS_3(name, flags, ret, t1, t2, t3) \
|
||||
dh_ctype(ret) HELPER(name) (dh_ctype(t1), dh_ctype(t2), dh_ctype(t3));
|
||||
|
||||
#define DEF_HELPER_FLAGS_4(name, flags, ret, t1, t2, t3, t4) \
|
||||
dh_ctype(ret) HELPER(name) (dh_ctype(t1), dh_ctype(t2), dh_ctype(t3), \
|
||||
dh_ctype(t4));
|
||||
|
||||
#define DEF_HELPER_FLAGS_5(name, flags, ret, t1, t2, t3, t4, t5) \
|
||||
dh_ctype(ret) HELPER(name) (dh_ctype(t1), dh_ctype(t2), dh_ctype(t3), \
|
||||
dh_ctype(t4), dh_ctype(t5));
|
||||
|
||||
#undef GEN_HELPER
|
||||
#define GEN_HELPER -1
|
||||
|
||||
#elif GEN_HELPER == 1
|
||||
/* Gen functions. */
|
||||
|
||||
#define DEF_HELPER_FLAGS_0(name, flags, ret) \
|
||||
static inline void glue(gen_helper_, name)(dh_retvar_decl0(ret)) \
|
||||
{ \
|
||||
int sizemask; \
|
||||
sizemask = dh_is_64bit(ret); \
|
||||
tcg_gen_helperN(HELPER(name), flags, sizemask, dh_retvar(ret), 0, NULL); \
|
||||
}
|
||||
|
||||
#define DEF_HELPER_FLAGS_1(name, flags, ret, t1) \
|
||||
static inline void glue(gen_helper_, name)(dh_retvar_decl(ret) dh_arg_decl(t1, 1)) \
|
||||
{ \
|
||||
TCGArg args[1]; \
|
||||
int sizemask = 0; \
|
||||
dh_sizemask(ret, 0); \
|
||||
dh_arg(t1, 1); \
|
||||
tcg_gen_helperN(HELPER(name), flags, sizemask, dh_retvar(ret), 1, args); \
|
||||
}
|
||||
|
||||
#define DEF_HELPER_FLAGS_2(name, flags, ret, t1, t2) \
|
||||
static inline void glue(gen_helper_, name)(dh_retvar_decl(ret) dh_arg_decl(t1, 1), \
|
||||
dh_arg_decl(t2, 2)) \
|
||||
{ \
|
||||
TCGArg args[2]; \
|
||||
int sizemask = 0; \
|
||||
dh_sizemask(ret, 0); \
|
||||
dh_arg(t1, 1); \
|
||||
dh_arg(t2, 2); \
|
||||
tcg_gen_helperN(HELPER(name), flags, sizemask, dh_retvar(ret), 2, args); \
|
||||
}
|
||||
|
||||
#define DEF_HELPER_FLAGS_3(name, flags, ret, t1, t2, t3) \
|
||||
static inline void glue(gen_helper_, name)(dh_retvar_decl(ret) dh_arg_decl(t1, 1), \
|
||||
dh_arg_decl(t2, 2), dh_arg_decl(t3, 3)) \
|
||||
{ \
|
||||
TCGArg args[3]; \
|
||||
int sizemask = 0; \
|
||||
dh_sizemask(ret, 0); \
|
||||
dh_arg(t1, 1); \
|
||||
dh_arg(t2, 2); \
|
||||
dh_arg(t3, 3); \
|
||||
tcg_gen_helperN(HELPER(name), flags, sizemask, dh_retvar(ret), 3, args); \
|
||||
}
|
||||
|
||||
#define DEF_HELPER_FLAGS_4(name, flags, ret, t1, t2, t3, t4) \
|
||||
static inline void glue(gen_helper_, name)(dh_retvar_decl(ret) dh_arg_decl(t1, 1), \
|
||||
dh_arg_decl(t2, 2), dh_arg_decl(t3, 3), dh_arg_decl(t4, 4)) \
|
||||
{ \
|
||||
TCGArg args[4]; \
|
||||
int sizemask = 0; \
|
||||
dh_sizemask(ret, 0); \
|
||||
dh_arg(t1, 1); \
|
||||
dh_arg(t2, 2); \
|
||||
dh_arg(t3, 3); \
|
||||
dh_arg(t4, 4); \
|
||||
tcg_gen_helperN(HELPER(name), flags, sizemask, dh_retvar(ret), 4, args); \
|
||||
}
|
||||
|
||||
#define DEF_HELPER_FLAGS_5(name, flags, ret, t1, t2, t3, t4, t5) \
|
||||
static inline void glue(gen_helper_, name)(dh_retvar_decl(ret) \
|
||||
dh_arg_decl(t1, 1), dh_arg_decl(t2, 2), dh_arg_decl(t3, 3), \
|
||||
dh_arg_decl(t4, 4), dh_arg_decl(t5, 5)) \
|
||||
{ \
|
||||
TCGArg args[5]; \
|
||||
int sizemask = 0; \
|
||||
dh_sizemask(ret, 0); \
|
||||
dh_arg(t1, 1); \
|
||||
dh_arg(t2, 2); \
|
||||
dh_arg(t3, 3); \
|
||||
dh_arg(t4, 4); \
|
||||
dh_arg(t5, 5); \
|
||||
tcg_gen_helperN(HELPER(name), flags, sizemask, dh_retvar(ret), 5, args); \
|
||||
}
|
||||
|
||||
#undef GEN_HELPER
|
||||
#define GEN_HELPER -1
|
||||
|
||||
#elif GEN_HELPER == 2
|
||||
/* Register helpers. */
|
||||
|
||||
#define DEF_HELPER_FLAGS_0(name, flags, ret) { HELPER(name), #name },
|
||||
|
||||
#define DEF_HELPER_FLAGS_1(name, flags, ret, t1) \
|
||||
DEF_HELPER_FLAGS_0(name, flags, ret)
|
||||
|
||||
#define DEF_HELPER_FLAGS_2(name, flags, ret, t1, t2) \
|
||||
DEF_HELPER_FLAGS_0(name, flags, ret)
|
||||
|
||||
#define DEF_HELPER_FLAGS_3(name, flags, ret, t1, t2, t3) \
|
||||
DEF_HELPER_FLAGS_0(name, flags, ret)
|
||||
|
||||
#define DEF_HELPER_FLAGS_4(name, flags, ret, t1, t2, t3, t4) \
|
||||
DEF_HELPER_FLAGS_0(name, flags, ret)
|
||||
|
||||
#define DEF_HELPER_FLAGS_5(name, flags, ret, t1, t2, t3, t4, t5) \
|
||||
DEF_HELPER_FLAGS_0(name, flags, ret)
|
||||
|
||||
#undef GEN_HELPER
|
||||
#define GEN_HELPER -1
|
||||
|
||||
#elif GEN_HELPER == -1
|
||||
/* Undefine macros. */
|
||||
|
||||
#undef DEF_HELPER_FLAGS_0
|
||||
#undef DEF_HELPER_FLAGS_1
|
||||
#undef DEF_HELPER_FLAGS_2
|
||||
#undef DEF_HELPER_FLAGS_3
|
||||
#undef DEF_HELPER_FLAGS_4
|
||||
#undef DEF_HELPER_FLAGS_5
|
||||
#undef GEN_HELPER
|
||||
|
||||
#endif
|
70
include/exec/helper-gen.h
Normal file
70
include/exec/helper-gen.h
Normal file
|
@ -0,0 +1,70 @@
|
|||
/* Helper file for declaring TCG helper functions.
|
||||
This one expands generation functions for tcg opcodes. */
|
||||
|
||||
#ifndef HELPER_GEN_H
|
||||
#define HELPER_GEN_H 1
|
||||
|
||||
#include <exec/helper-head.h>
|
||||
|
||||
#define DEF_HELPER_FLAGS_0(name, flags, ret) \
|
||||
static inline void glue(gen_helper_, name)(dh_retvar_decl0(ret)) \
|
||||
{ \
|
||||
tcg_gen_callN(&tcg_ctx, HELPER(name), dh_retvar(ret), 0, NULL); \
|
||||
}
|
||||
|
||||
#define DEF_HELPER_FLAGS_1(name, flags, ret, t1) \
|
||||
static inline void glue(gen_helper_, name)(dh_retvar_decl(ret) \
|
||||
dh_arg_decl(t1, 1)) \
|
||||
{ \
|
||||
TCGArg args[1] = { dh_arg(t1, 1) }; \
|
||||
tcg_gen_callN(&tcg_ctx, HELPER(name), dh_retvar(ret), 1, args); \
|
||||
}
|
||||
|
||||
#define DEF_HELPER_FLAGS_2(name, flags, ret, t1, t2) \
|
||||
static inline void glue(gen_helper_, name)(dh_retvar_decl(ret) \
|
||||
dh_arg_decl(t1, 1), dh_arg_decl(t2, 2)) \
|
||||
{ \
|
||||
TCGArg args[2] = { dh_arg(t1, 1), dh_arg(t2, 2) }; \
|
||||
tcg_gen_callN(&tcg_ctx, HELPER(name), dh_retvar(ret), 2, args); \
|
||||
}
|
||||
|
||||
#define DEF_HELPER_FLAGS_3(name, flags, ret, t1, t2, t3) \
|
||||
static inline void glue(gen_helper_, name)(dh_retvar_decl(ret) \
|
||||
dh_arg_decl(t1, 1), dh_arg_decl(t2, 2), dh_arg_decl(t3, 3)) \
|
||||
{ \
|
||||
TCGArg args[3] = { dh_arg(t1, 1), dh_arg(t2, 2), dh_arg(t3, 3) }; \
|
||||
tcg_gen_callN(&tcg_ctx, HELPER(name), dh_retvar(ret), 3, args); \
|
||||
}
|
||||
|
||||
#define DEF_HELPER_FLAGS_4(name, flags, ret, t1, t2, t3, t4) \
|
||||
static inline void glue(gen_helper_, name)(dh_retvar_decl(ret) \
|
||||
dh_arg_decl(t1, 1), dh_arg_decl(t2, 2), \
|
||||
dh_arg_decl(t3, 3), dh_arg_decl(t4, 4)) \
|
||||
{ \
|
||||
TCGArg args[4] = { dh_arg(t1, 1), dh_arg(t2, 2), \
|
||||
dh_arg(t3, 3), dh_arg(t4, 4) }; \
|
||||
tcg_gen_callN(&tcg_ctx, HELPER(name), dh_retvar(ret), 4, args); \
|
||||
}
|
||||
|
||||
#define DEF_HELPER_FLAGS_5(name, flags, ret, t1, t2, t3, t4, t5) \
|
||||
static inline void glue(gen_helper_, name)(dh_retvar_decl(ret) \
|
||||
dh_arg_decl(t1, 1), dh_arg_decl(t2, 2), dh_arg_decl(t3, 3), \
|
||||
dh_arg_decl(t4, 4), dh_arg_decl(t5, 5)) \
|
||||
{ \
|
||||
TCGArg args[5] = { dh_arg(t1, 1), dh_arg(t2, 2), dh_arg(t3, 3), \
|
||||
dh_arg(t4, 4), dh_arg(t5, 5) }; \
|
||||
tcg_gen_callN(&tcg_ctx, HELPER(name), dh_retvar(ret), 5, args); \
|
||||
}
|
||||
|
||||
#include "helper.h"
|
||||
#include "tcg-runtime.h"
|
||||
|
||||
#undef DEF_HELPER_FLAGS_0
|
||||
#undef DEF_HELPER_FLAGS_1
|
||||
#undef DEF_HELPER_FLAGS_2
|
||||
#undef DEF_HELPER_FLAGS_3
|
||||
#undef DEF_HELPER_FLAGS_4
|
||||
#undef DEF_HELPER_FLAGS_5
|
||||
#undef GEN_HELPER
|
||||
|
||||
#endif /* HELPER_GEN_H */
|
134
include/exec/helper-head.h
Normal file
134
include/exec/helper-head.h
Normal file
|
@ -0,0 +1,134 @@
|
|||
/* Helper file for declaring TCG helper functions.
|
||||
Used by other helper files.
|
||||
|
||||
Targets should use DEF_HELPER_N and DEF_HELPER_FLAGS_N to declare helper
|
||||
functions. Names should be specified without the helper_ prefix, and
|
||||
the return and argument types specified. 3 basic types are understood
|
||||
(i32, i64 and ptr). Additional aliases are provided for convenience and
|
||||
to match the types used by the C helper implementation.
|
||||
|
||||
The target helper.h should be included in all files that use/define
|
||||
helper functions. THis will ensure that function prototypes are
|
||||
consistent. In addition it should be included an extra two times for
|
||||
helper.c, defining:
|
||||
GEN_HELPER 1 to produce op generation functions (gen_helper_*)
|
||||
GEN_HELPER 2 to do runtime registration helper functions.
|
||||
*/
|
||||
|
||||
#ifndef DEF_HELPER_H
|
||||
#define DEF_HELPER_H 1
|
||||
|
||||
#include "qemu/osdep.h"
|
||||
|
||||
#define HELPER(name) glue(helper_, name)
|
||||
|
||||
#define GET_TCGV_i32 GET_TCGV_I32
|
||||
#define GET_TCGV_i64 GET_TCGV_I64
|
||||
#define GET_TCGV_ptr GET_TCGV_PTR
|
||||
|
||||
/* Some types that make sense in C, but not for TCG. */
|
||||
#define dh_alias_i32 i32
|
||||
#define dh_alias_s32 i32
|
||||
#define dh_alias_int i32
|
||||
#define dh_alias_i64 i64
|
||||
#define dh_alias_s64 i64
|
||||
#define dh_alias_f32 i32
|
||||
#define dh_alias_f64 i64
|
||||
#ifdef TARGET_LONG_BITS
|
||||
# if TARGET_LONG_BITS == 32
|
||||
# define dh_alias_tl i32
|
||||
# else
|
||||
# define dh_alias_tl i64
|
||||
# endif
|
||||
#endif
|
||||
#define dh_alias_ptr ptr
|
||||
#define dh_alias_void void
|
||||
#define dh_alias_noreturn noreturn
|
||||
#define dh_alias_env ptr
|
||||
#define dh_alias(t) glue(dh_alias_, t)
|
||||
|
||||
#define dh_ctype_i32 uint32_t
|
||||
#define dh_ctype_s32 int32_t
|
||||
#define dh_ctype_int int
|
||||
#define dh_ctype_i64 uint64_t
|
||||
#define dh_ctype_s64 int64_t
|
||||
#define dh_ctype_f32 float32
|
||||
#define dh_ctype_f64 float64
|
||||
#define dh_ctype_tl target_ulong
|
||||
#define dh_ctype_ptr void *
|
||||
#define dh_ctype_void void
|
||||
#define dh_ctype_noreturn void QEMU_NORETURN
|
||||
#define dh_ctype_env CPUArchState *
|
||||
#define dh_ctype(t) dh_ctype_##t
|
||||
|
||||
/* We can't use glue() here because it falls foul of C preprocessor
|
||||
recursive expansion rules. */
|
||||
#define dh_retvar_decl0_void void
|
||||
#define dh_retvar_decl0_noreturn void
|
||||
#define dh_retvar_decl0_i32 TCGv_i32 retval
|
||||
#define dh_retvar_decl0_i64 TCGv_i64 retval
|
||||
#define dh_retvar_decl0_ptr TCGv_ptr retval
|
||||
#define dh_retvar_decl0(t) glue(dh_retvar_decl0_, dh_alias(t))
|
||||
|
||||
#define dh_retvar_decl_void
|
||||
#define dh_retvar_decl_noreturn
|
||||
#define dh_retvar_decl_i32 TCGv_i32 retval,
|
||||
#define dh_retvar_decl_i64 TCGv_i64 retval,
|
||||
#define dh_retvar_decl_ptr TCGv_ptr retval,
|
||||
#define dh_retvar_decl(t) glue(dh_retvar_decl_, dh_alias(t))
|
||||
|
||||
#define dh_retvar_void TCG_CALL_DUMMY_ARG
|
||||
#define dh_retvar_noreturn TCG_CALL_DUMMY_ARG
|
||||
#define dh_retvar_i32 GET_TCGV_i32(retval)
|
||||
#define dh_retvar_i64 GET_TCGV_i64(retval)
|
||||
#define dh_retvar_ptr GET_TCGV_ptr(retval)
|
||||
#define dh_retvar(t) glue(dh_retvar_, dh_alias(t))
|
||||
|
||||
#define dh_is_64bit_void 0
|
||||
#define dh_is_64bit_noreturn 0
|
||||
#define dh_is_64bit_i32 0
|
||||
#define dh_is_64bit_i64 1
|
||||
#define dh_is_64bit_ptr (sizeof(void *) == 8)
|
||||
#define dh_is_64bit(t) glue(dh_is_64bit_, dh_alias(t))
|
||||
|
||||
#define dh_is_signed_void 0
|
||||
#define dh_is_signed_noreturn 0
|
||||
#define dh_is_signed_i32 0
|
||||
#define dh_is_signed_s32 1
|
||||
#define dh_is_signed_i64 0
|
||||
#define dh_is_signed_s64 1
|
||||
#define dh_is_signed_f32 0
|
||||
#define dh_is_signed_f64 0
|
||||
#define dh_is_signed_tl 0
|
||||
#define dh_is_signed_int 1
|
||||
/* ??? This is highly specific to the host cpu. There are even special
|
||||
extension instructions that may be required, e.g. ia64's addp4. But
|
||||
for now we don't support any 64-bit targets with 32-bit pointers. */
|
||||
#define dh_is_signed_ptr 0
|
||||
#define dh_is_signed_env dh_is_signed_ptr
|
||||
#define dh_is_signed(t) dh_is_signed_##t
|
||||
|
||||
#define dh_sizemask(t, n) \
|
||||
((dh_is_64bit(t) << (n*2)) | (dh_is_signed(t) << (n*2+1)))
|
||||
|
||||
#define dh_arg(t, n) \
|
||||
glue(GET_TCGV_, dh_alias(t))(glue(arg, n))
|
||||
|
||||
#define dh_arg_decl(t, n) glue(TCGv_, dh_alias(t)) glue(arg, n)
|
||||
|
||||
#define DEF_HELPER_0(name, ret) \
|
||||
DEF_HELPER_FLAGS_0(name, 0, ret)
|
||||
#define DEF_HELPER_1(name, ret, t1) \
|
||||
DEF_HELPER_FLAGS_1(name, 0, ret, t1)
|
||||
#define DEF_HELPER_2(name, ret, t1, t2) \
|
||||
DEF_HELPER_FLAGS_2(name, 0, ret, t1, t2)
|
||||
#define DEF_HELPER_3(name, ret, t1, t2, t3) \
|
||||
DEF_HELPER_FLAGS_3(name, 0, ret, t1, t2, t3)
|
||||
#define DEF_HELPER_4(name, ret, t1, t2, t3, t4) \
|
||||
DEF_HELPER_FLAGS_4(name, 0, ret, t1, t2, t3, t4)
|
||||
#define DEF_HELPER_5(name, ret, t1, t2, t3, t4, t5) \
|
||||
DEF_HELPER_FLAGS_5(name, 0, ret, t1, t2, t3, t4, t5)
|
||||
|
||||
/* MAX_OPC_PARAM_IARGS must be set to n if last entry is DEF_HELPER_FLAGS_n. */
|
||||
|
||||
#endif /* DEF_HELPER_H */
|
39
include/exec/helper-proto.h
Normal file
39
include/exec/helper-proto.h
Normal file
|
@ -0,0 +1,39 @@
|
|||
/* Helper file for declaring TCG helper functions.
|
||||
This one expands prototypes for the helper functions. */
|
||||
|
||||
#ifndef HELPER_PROTO_H
|
||||
#define HELPER_PROTO_H 1
|
||||
|
||||
#include <exec/helper-head.h>
|
||||
|
||||
#define DEF_HELPER_FLAGS_0(name, flags, ret) \
|
||||
dh_ctype(ret) HELPER(name) (void);
|
||||
|
||||
#define DEF_HELPER_FLAGS_1(name, flags, ret, t1) \
|
||||
dh_ctype(ret) HELPER(name) (dh_ctype(t1));
|
||||
|
||||
#define DEF_HELPER_FLAGS_2(name, flags, ret, t1, t2) \
|
||||
dh_ctype(ret) HELPER(name) (dh_ctype(t1), dh_ctype(t2));
|
||||
|
||||
#define DEF_HELPER_FLAGS_3(name, flags, ret, t1, t2, t3) \
|
||||
dh_ctype(ret) HELPER(name) (dh_ctype(t1), dh_ctype(t2), dh_ctype(t3));
|
||||
|
||||
#define DEF_HELPER_FLAGS_4(name, flags, ret, t1, t2, t3, t4) \
|
||||
dh_ctype(ret) HELPER(name) (dh_ctype(t1), dh_ctype(t2), dh_ctype(t3), \
|
||||
dh_ctype(t4));
|
||||
|
||||
#define DEF_HELPER_FLAGS_5(name, flags, ret, t1, t2, t3, t4, t5) \
|
||||
dh_ctype(ret) HELPER(name) (dh_ctype(t1), dh_ctype(t2), dh_ctype(t3), \
|
||||
dh_ctype(t4), dh_ctype(t5));
|
||||
|
||||
#include "helper.h"
|
||||
#include "tcg-runtime.h"
|
||||
|
||||
#undef DEF_HELPER_FLAGS_0
|
||||
#undef DEF_HELPER_FLAGS_1
|
||||
#undef DEF_HELPER_FLAGS_2
|
||||
#undef DEF_HELPER_FLAGS_3
|
||||
#undef DEF_HELPER_FLAGS_4
|
||||
#undef DEF_HELPER_FLAGS_5
|
||||
|
||||
#endif /* HELPER_PROTO_H */
|
48
include/exec/helper-tcg.h
Normal file
48
include/exec/helper-tcg.h
Normal file
|
@ -0,0 +1,48 @@
|
|||
/* Helper file for declaring TCG helper functions.
|
||||
This one defines data structures private to tcg.c. */
|
||||
|
||||
#ifndef HELPER_TCG_H
|
||||
#define HELPER_TCG_H 1
|
||||
|
||||
#include <exec/helper-head.h>
|
||||
|
||||
#define DEF_HELPER_FLAGS_0(NAME, FLAGS, ret) \
|
||||
{ .func = HELPER(NAME), .name = #NAME, .flags = FLAGS, \
|
||||
.sizemask = dh_sizemask(ret, 0) },
|
||||
|
||||
#define DEF_HELPER_FLAGS_1(NAME, FLAGS, ret, t1) \
|
||||
{ .func = HELPER(NAME), .name = #NAME, .flags = FLAGS, \
|
||||
.sizemask = dh_sizemask(ret, 0) | dh_sizemask(t1, 1) },
|
||||
|
||||
#define DEF_HELPER_FLAGS_2(NAME, FLAGS, ret, t1, t2) \
|
||||
{ .func = HELPER(NAME), .name = #NAME, .flags = FLAGS, \
|
||||
.sizemask = dh_sizemask(ret, 0) | dh_sizemask(t1, 1) \
|
||||
| dh_sizemask(t2, 2) },
|
||||
|
||||
#define DEF_HELPER_FLAGS_3(NAME, FLAGS, ret, t1, t2, t3) \
|
||||
{ .func = HELPER(NAME), .name = #NAME, .flags = FLAGS, \
|
||||
.sizemask = dh_sizemask(ret, 0) | dh_sizemask(t1, 1) \
|
||||
| dh_sizemask(t2, 2) | dh_sizemask(t3, 3) },
|
||||
|
||||
#define DEF_HELPER_FLAGS_4(NAME, FLAGS, ret, t1, t2, t3, t4) \
|
||||
{ .func = HELPER(NAME), .name = #NAME, .flags = FLAGS, \
|
||||
.sizemask = dh_sizemask(ret, 0) | dh_sizemask(t1, 1) \
|
||||
| dh_sizemask(t2, 2) | dh_sizemask(t3, 3) | dh_sizemask(t4, 4) },
|
||||
|
||||
#define DEF_HELPER_FLAGS_5(NAME, FLAGS, ret, t1, t2, t3, t4, t5) \
|
||||
{ .func = HELPER(NAME), .name = #NAME, .flags = FLAGS, \
|
||||
.sizemask = dh_sizemask(ret, 0) | dh_sizemask(t1, 1) \
|
||||
| dh_sizemask(t2, 2) | dh_sizemask(t3, 3) | dh_sizemask(t4, 4) \
|
||||
| dh_sizemask(t5, 5) },
|
||||
|
||||
#include "helper.h"
|
||||
#include "tcg-runtime.h"
|
||||
|
||||
#undef DEF_HELPER_FLAGS_0
|
||||
#undef DEF_HELPER_FLAGS_1
|
||||
#undef DEF_HELPER_FLAGS_2
|
||||
#undef DEF_HELPER_FLAGS_3
|
||||
#undef DEF_HELPER_FLAGS_4
|
||||
#undef DEF_HELPER_FLAGS_5
|
||||
|
||||
#endif /* HELPER_TCG_H */
|
|
@ -18,7 +18,7 @@
|
|||
*/
|
||||
|
||||
#include "cpu.h"
|
||||
#include "helper.h"
|
||||
#include "exec/helper-proto.h"
|
||||
#include "fpu/softfloat.h"
|
||||
|
||||
#define FP_STATUS (env->fp_status)
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
|
||||
#include "cpu.h"
|
||||
#include "fpu/softfloat.h"
|
||||
#include "helper.h"
|
||||
#include "exec/helper-proto.h"
|
||||
|
||||
uint64_t cpu_alpha_load_fpcr (CPUAlphaState *env)
|
||||
{
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
#include "exec/def-helper.h"
|
||||
|
||||
DEF_HELPER_3(excp, noreturn, env, int, int)
|
||||
DEF_HELPER_FLAGS_1(load_pcc, TCG_CALL_NO_RWG_SE, i64, env)
|
||||
|
||||
|
@ -121,5 +119,3 @@ DEF_HELPER_FLAGS_0(get_vmtime, TCG_CALL_NO_RWG, i64)
|
|||
DEF_HELPER_FLAGS_0(get_walltime, TCG_CALL_NO_RWG, i64)
|
||||
DEF_HELPER_FLAGS_2(set_alarm, TCG_CALL_NO_RWG, void, env, i64)
|
||||
#endif
|
||||
|
||||
#include "exec/def-helper.h"
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
*/
|
||||
|
||||
#include "cpu.h"
|
||||
#include "helper.h"
|
||||
#include "exec/helper-proto.h"
|
||||
#include "qemu/host-utils.h"
|
||||
|
||||
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
*/
|
||||
|
||||
#include "cpu.h"
|
||||
#include "helper.h"
|
||||
#include "exec/helper-proto.h"
|
||||
|
||||
|
||||
/* Softmmu support */
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
*/
|
||||
|
||||
#include "cpu.h"
|
||||
#include "helper.h"
|
||||
#include "exec/helper-proto.h"
|
||||
#include "sysemu/sysemu.h"
|
||||
#include "qemu/timer.h"
|
||||
|
||||
|
|
|
@ -22,9 +22,8 @@
|
|||
#include "qemu/host-utils.h"
|
||||
#include "tcg-op.h"
|
||||
|
||||
#include "helper.h"
|
||||
#define GEN_HELPER 1
|
||||
#include "helper.h"
|
||||
#include "exec/helper-proto.h"
|
||||
#include "exec/helper-gen.h"
|
||||
|
||||
#undef ALPHA_DEBUG_DISAS
|
||||
#define CONFIG_SOFTFLOAT_INLINE
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
|
||||
#include "cpu.h"
|
||||
#include "exec/exec-all.h"
|
||||
#include "helper.h"
|
||||
#include "exec/helper-proto.h"
|
||||
|
||||
union AES_STATE {
|
||||
uint8_t bytes[16];
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
|
||||
#include "cpu.h"
|
||||
#include "exec/gdbstub.h"
|
||||
#include "helper.h"
|
||||
#include "exec/helper-proto.h"
|
||||
#include "qemu/host-utils.h"
|
||||
#include "sysemu/sysemu.h"
|
||||
#include "qemu/bitops.h"
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#include "cpu.h"
|
||||
#include "internals.h"
|
||||
#include "exec/gdbstub.h"
|
||||
#include "helper.h"
|
||||
#include "exec/helper-proto.h"
|
||||
#include "qemu/host-utils.h"
|
||||
#include "sysemu/arch_init.h"
|
||||
#include "sysemu/sysemu.h"
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
#include "exec/def-helper.h"
|
||||
|
||||
DEF_HELPER_FLAGS_1(clz, TCG_CALL_NO_RWG_SE, i32, i32)
|
||||
DEF_HELPER_FLAGS_1(sxtb16, TCG_CALL_NO_RWG_SE, i32, i32)
|
||||
DEF_HELPER_FLAGS_1(uxtb16, TCG_CALL_NO_RWG_SE, i32, i32)
|
||||
|
@ -521,5 +519,3 @@ DEF_HELPER_2(dc_zva, void, env, i64)
|
|||
#ifdef TARGET_AARCH64
|
||||
#include "helper-a64.h"
|
||||
#endif
|
||||
|
||||
#include "exec/def-helper.h"
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
|
||||
#include "cpu.h"
|
||||
#include "exec/exec-all.h"
|
||||
#include "helper.h"
|
||||
#include "exec/helper-proto.h"
|
||||
|
||||
/* iwMMXt macros extracted from GNU gdb. */
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
|
||||
#include "cpu.h"
|
||||
#include "exec/exec-all.h"
|
||||
#include "helper.h"
|
||||
#include "exec/helper-proto.h"
|
||||
|
||||
#define SIGNBIT (uint32_t)0x80000000
|
||||
#define SIGNBIT64 ((uint64_t)1 << 63)
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
* License along with this library; if not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#include "cpu.h"
|
||||
#include "helper.h"
|
||||
#include "exec/helper-proto.h"
|
||||
#include "internals.h"
|
||||
|
||||
#define SIGNBIT (uint32_t)0x80000000
|
||||
|
|
|
@ -31,9 +31,8 @@
|
|||
|
||||
#include "exec/gen-icount.h"
|
||||
|
||||
#include "helper.h"
|
||||
#define GEN_HELPER 1
|
||||
#include "helper.h"
|
||||
#include "exec/helper-proto.h"
|
||||
#include "exec/helper-gen.h"
|
||||
|
||||
static TCGv_i64 cpu_X[32];
|
||||
static TCGv_i64 cpu_pc;
|
||||
|
|
|
@ -31,9 +31,8 @@
|
|||
#include "qemu/log.h"
|
||||
#include "qemu/bitops.h"
|
||||
|
||||
#include "helper.h"
|
||||
#define GEN_HELPER 1
|
||||
#include "helper.h"
|
||||
#include "exec/helper-proto.h"
|
||||
#include "exec/helper-gen.h"
|
||||
|
||||
#define ENABLE_ARCH_4T arm_feature(env, ARM_FEATURE_V4T)
|
||||
#define ENABLE_ARCH_5 arm_feature(env, ARM_FEATURE_V5)
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
#include "exec/def-helper.h"
|
||||
|
||||
DEF_HELPER_2(raise_exception, void, env, i32)
|
||||
DEF_HELPER_2(tlb_flush_pid, void, env, i32)
|
||||
DEF_HELPER_2(spc_write, void, env, i32)
|
||||
|
@ -25,5 +23,3 @@ DEF_HELPER_FLAGS_3(evaluate_flags_move_4, TCG_CALL_NO_SE, i32, env, i32, i32)
|
|||
DEF_HELPER_FLAGS_3(evaluate_flags_move_2, TCG_CALL_NO_SE, i32, env, i32, i32)
|
||||
DEF_HELPER_1(evaluate_flags, void, env)
|
||||
DEF_HELPER_1(top_evaluate_flags, void, env)
|
||||
|
||||
#include "exec/def-helper.h"
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
|
||||
#include "cpu.h"
|
||||
#include "mmu.h"
|
||||
#include "helper.h"
|
||||
#include "exec/helper-proto.h"
|
||||
#include "qemu/host-utils.h"
|
||||
|
||||
//#define CRIS_OP_HELPER_DEBUG
|
||||
|
|
|
@ -26,12 +26,11 @@
|
|||
#include "cpu.h"
|
||||
#include "disas/disas.h"
|
||||
#include "tcg-op.h"
|
||||
#include "helper.h"
|
||||
#include "exec/helper-proto.h"
|
||||
#include "mmu.h"
|
||||
#include "crisv32-decode.h"
|
||||
|
||||
#define GEN_HELPER 1
|
||||
#include "helper.h"
|
||||
#include "exec/helper-gen.h"
|
||||
|
||||
#define DISAS_CRIS 0
|
||||
#if DISAS_CRIS
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
*/
|
||||
|
||||
#include "cpu.h"
|
||||
#include "helper.h"
|
||||
#include "exec/helper-proto.h"
|
||||
|
||||
const uint8_t parity_table[256] = {
|
||||
CC_P, 0, 0, CC_P, 0, CC_P, CC_P, 0,
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
#include "cpu.h"
|
||||
#include "qemu/log.h"
|
||||
#include "sysemu/sysemu.h"
|
||||
#include "helper.h"
|
||||
#include "exec/helper-proto.h"
|
||||
|
||||
#if 0
|
||||
#define raise_exception_err(env, a, b) \
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
|
||||
#include <math.h>
|
||||
#include "cpu.h"
|
||||
#include "helper.h"
|
||||
#include "exec/helper-proto.h"
|
||||
#include "qemu/aes.h"
|
||||
#include "qemu/host-utils.h"
|
||||
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
#include "exec/def-helper.h"
|
||||
|
||||
DEF_HELPER_FLAGS_4(cc_compute_all, TCG_CALL_NO_RWG_SE, tl, tl, tl, tl, int)
|
||||
DEF_HELPER_FLAGS_4(cc_compute_c, TCG_CALL_NO_RWG_SE, tl, tl, tl, tl, int)
|
||||
|
||||
|
@ -219,5 +217,3 @@ DEF_HELPER_3(rcrl, tl, env, tl, tl)
|
|||
DEF_HELPER_3(rclq, tl, env, tl, tl)
|
||||
DEF_HELPER_3(rcrq, tl, env, tl, tl)
|
||||
#endif
|
||||
|
||||
#include "exec/def-helper.h"
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
|
||||
#include "cpu.h"
|
||||
#include "qemu/host-utils.h"
|
||||
#include "helper.h"
|
||||
#include "exec/helper-proto.h"
|
||||
|
||||
//#define DEBUG_MULDIV
|
||||
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
*/
|
||||
|
||||
#include "cpu.h"
|
||||
#include "helper.h"
|
||||
#include "exec/helper-proto.h"
|
||||
|
||||
#if !defined(CONFIG_USER_ONLY)
|
||||
#include "exec/softmmu_exec.h"
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
|
||||
#include "cpu.h"
|
||||
#include "exec/ioport.h"
|
||||
#include "helper.h"
|
||||
#include "exec/helper-proto.h"
|
||||
|
||||
#if !defined(CONFIG_USER_ONLY)
|
||||
#include "exec/softmmu_exec.h"
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
|
||||
#include "cpu.h"
|
||||
#include "qemu/log.h"
|
||||
#include "helper.h"
|
||||
#include "exec/helper-proto.h"
|
||||
|
||||
//#define DEBUG_PCALL
|
||||
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
*/
|
||||
|
||||
#include "cpu.h"
|
||||
#include "helper.h"
|
||||
#include "exec/helper-proto.h"
|
||||
|
||||
/* SMM support */
|
||||
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
|
||||
#include "cpu.h"
|
||||
#include "exec/cpu-all.h"
|
||||
#include "helper.h"
|
||||
#include "exec/helper-proto.h"
|
||||
|
||||
#if !defined(CONFIG_USER_ONLY)
|
||||
#include "exec/softmmu_exec.h"
|
||||
|
|
|
@ -28,9 +28,8 @@
|
|||
#include "disas/disas.h"
|
||||
#include "tcg-op.h"
|
||||
|
||||
#include "helper.h"
|
||||
#define GEN_HELPER 1
|
||||
#include "helper.h"
|
||||
#include "exec/helper-proto.h"
|
||||
#include "exec/helper-gen.h"
|
||||
|
||||
#define PREFIX_REPZ 0x01
|
||||
#define PREFIX_REPNZ 0x02
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
#include "exec/def-helper.h"
|
||||
|
||||
DEF_HELPER_2(raise_exception, void, env, i32)
|
||||
DEF_HELPER_1(hlt, void, env)
|
||||
DEF_HELPER_3(wcsr_bp, void, env, i32, i32)
|
||||
|
@ -14,5 +12,3 @@ DEF_HELPER_1(rcsr_ip, i32, env)
|
|||
DEF_HELPER_1(rcsr_jtx, i32, env)
|
||||
DEF_HELPER_1(rcsr_jrx, i32, env)
|
||||
DEF_HELPER_1(ill, void, env)
|
||||
|
||||
#include "exec/def-helper.h"
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
#include <string.h>
|
||||
#include <stddef.h>
|
||||
#include "cpu.h"
|
||||
#include "helper.h"
|
||||
#include "exec/helper-proto.h"
|
||||
#include "qemu/log.h"
|
||||
#include "exec/softmmu-semi.h"
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#include <assert.h>
|
||||
#include "cpu.h"
|
||||
#include "helper.h"
|
||||
#include "exec/helper-proto.h"
|
||||
#include "qemu/host-utils.h"
|
||||
|
||||
#include "hw/lm32/lm32_pic.h"
|
||||
|
|
|
@ -19,13 +19,12 @@
|
|||
|
||||
#include "cpu.h"
|
||||
#include "disas/disas.h"
|
||||
#include "helper.h"
|
||||
#include "exec/helper-proto.h"
|
||||
#include "tcg-op.h"
|
||||
|
||||
#include "hw/lm32/lm32_pic.h"
|
||||
|
||||
#define GEN_HELPER 1
|
||||
#include "helper.h"
|
||||
#include "exec/helper-gen.h"
|
||||
|
||||
#define DISAS_LM32 1
|
||||
#if DISAS_LM32
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
#include "cpu.h"
|
||||
#include "exec/gdbstub.h"
|
||||
|
||||
#include "helper.h"
|
||||
#include "exec/helper-proto.h"
|
||||
|
||||
#define SIGNBIT (1u << 31)
|
||||
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
#include "exec/def-helper.h"
|
||||
|
||||
DEF_HELPER_1(bitrev, i32, i32)
|
||||
DEF_HELPER_1(ff1, i32, i32)
|
||||
DEF_HELPER_2(sats, i32, i32, i32)
|
||||
|
@ -50,5 +48,3 @@ DEF_HELPER_3(set_mac_extu, void, env, i32, i32)
|
|||
|
||||
DEF_HELPER_2(flush_flags, void, env, i32)
|
||||
DEF_HELPER_2(raise_exception, void, env, i32)
|
||||
|
||||
#include "exec/def-helper.h"
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
* License along with this library; if not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#include "cpu.h"
|
||||
#include "helper.h"
|
||||
#include "exec/helper-proto.h"
|
||||
|
||||
#if defined(CONFIG_USER_ONLY)
|
||||
|
||||
|
|
|
@ -23,9 +23,8 @@
|
|||
#include "tcg-op.h"
|
||||
#include "qemu/log.h"
|
||||
|
||||
#include "helper.h"
|
||||
#define GEN_HELPER 1
|
||||
#include "helper.h"
|
||||
#include "exec/helper-proto.h"
|
||||
#include "exec/helper-gen.h"
|
||||
|
||||
//#define DEBUG_DISPATCH 1
|
||||
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
#include "exec/def-helper.h"
|
||||
|
||||
DEF_HELPER_2(raise_exception, void, env, i32)
|
||||
DEF_HELPER_1(debug, void, env)
|
||||
DEF_HELPER_FLAGS_3(carry, TCG_CALL_NO_RWG_SE, i32, i32, i32, i32)
|
||||
|
@ -37,5 +35,3 @@ DEF_HELPER_2(stackprot, void, env, i32)
|
|||
|
||||
DEF_HELPER_2(get, i32, i32, i32)
|
||||
DEF_HELPER_3(put, void, i32, i32, i32)
|
||||
|
||||
#include "exec/def-helper.h"
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
|
||||
#include <assert.h>
|
||||
#include "cpu.h"
|
||||
#include "helper.h"
|
||||
#include "exec/helper-proto.h"
|
||||
#include "qemu/host-utils.h"
|
||||
|
||||
#define D(x)
|
||||
|
|
|
@ -21,11 +21,9 @@
|
|||
#include "cpu.h"
|
||||
#include "disas/disas.h"
|
||||
#include "tcg-op.h"
|
||||
#include "helper.h"
|
||||
#include "exec/helper-proto.h"
|
||||
#include "microblaze-decode.h"
|
||||
|
||||
#define GEN_HELPER 1
|
||||
#include "helper.h"
|
||||
#include "exec/helper-gen.h"
|
||||
|
||||
#define SIM_COMPAT 0
|
||||
#define DISAS_GNU 1
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
*/
|
||||
|
||||
#include "cpu.h"
|
||||
#include "helper.h"
|
||||
#include "exec/helper-proto.h"
|
||||
#include "qemu/bitops.h"
|
||||
|
||||
/* As the byte ordering doesn't matter, i.e. all columns are treated
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
#include "exec/def-helper.h"
|
||||
|
||||
DEF_HELPER_3(raise_exception_err, noreturn, env, i32, int)
|
||||
DEF_HELPER_2(raise_exception, noreturn, env, i32)
|
||||
|
||||
|
@ -691,7 +689,3 @@ DEF_HELPER_FLAGS_3(dmthlip, 0, void, tl, tl, env)
|
|||
#endif
|
||||
DEF_HELPER_FLAGS_3(wrdsp, 0, void, tl, tl, env)
|
||||
DEF_HELPER_FLAGS_2(rddsp, 0, tl, tl, env)
|
||||
|
||||
|
||||
|
||||
#include "exec/def-helper.h"
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
*/
|
||||
|
||||
#include "cpu.h"
|
||||
#include "helper.h"
|
||||
#include "exec/helper-proto.h"
|
||||
|
||||
/* If the byte ordering doesn't matter, i.e. all columns are treated
|
||||
identically, then this union can be used directly. If byte ordering
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
#include "cpu.h"
|
||||
#include "qemu/host-utils.h"
|
||||
|
||||
#include "helper.h"
|
||||
#include "exec/helper-proto.h"
|
||||
|
||||
#if !defined(CONFIG_USER_ONLY)
|
||||
#include "exec/softmmu_exec.h"
|
||||
|
|
|
@ -25,9 +25,8 @@
|
|||
#include "disas/disas.h"
|
||||
#include "tcg-op.h"
|
||||
|
||||
#include "helper.h"
|
||||
#define GEN_HELPER 1
|
||||
#include "helper.h"
|
||||
#include "exec/helper-proto.h"
|
||||
#include "exec/helper-gen.h"
|
||||
|
||||
#define MIPS_DEBUG_DISAS 0
|
||||
//#define MIPS_DEBUG_SIGN_EXTENSIONS
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
#include "exec/exec-all.h"
|
||||
#include "exec/softmmu_exec.h"
|
||||
#include "qemu/host-utils.h"
|
||||
#include "helper.h"
|
||||
#include "exec/helper-proto.h"
|
||||
|
||||
#define MMUSUFFIX _mmu
|
||||
|
||||
|
|
|
@ -1,9 +1,5 @@
|
|||
#include "exec/def-helper.h"
|
||||
|
||||
DEF_HELPER_2(raise_exception, void, env, int)
|
||||
DEF_HELPER_1(debug, void, env)
|
||||
|
||||
DEF_HELPER_FLAGS_3(div, TCG_CALL_NO_WG, i32, env, i32, i32)
|
||||
DEF_HELPER_FLAGS_3(udiv, TCG_CALL_NO_WG, i32, env, i32, i32)
|
||||
|
||||
#include "exec/def-helper.h"
|
||||
|
|
|
@ -33,9 +33,8 @@
|
|||
#include "disas/disas.h"
|
||||
#include "tcg-op.h"
|
||||
|
||||
#include "helper.h"
|
||||
#define GEN_HELPER 1
|
||||
#include "helper.h"
|
||||
#include "exec/helper-proto.h"
|
||||
#include "exec/helper-gen.h"
|
||||
|
||||
/* This is the state at translation time. */
|
||||
typedef struct DisasContext {
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
*/
|
||||
|
||||
#include "cpu.h"
|
||||
#include "helper.h"
|
||||
#include "exec/helper-proto.h"
|
||||
#include "exception.h"
|
||||
|
||||
void HELPER(exception)(CPUOpenRISCState *env, uint32_t excp)
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
*/
|
||||
|
||||
#include "cpu.h"
|
||||
#include "helper.h"
|
||||
#include "exec/helper-proto.h"
|
||||
#include "exception.h"
|
||||
|
||||
static inline uint32_t ieee_ex_to_openrisc(OpenRISCCPU *cpu, int fexcp)
|
||||
|
|
|
@ -17,8 +17,6 @@
|
|||
* License along with this library; if not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "exec/def-helper.h"
|
||||
|
||||
/* exception */
|
||||
DEF_HELPER_FLAGS_2(exception, 0, void, env, i32)
|
||||
|
||||
|
@ -66,5 +64,3 @@ DEF_HELPER_FLAGS_1(rfe, 0, void, env)
|
|||
/* sys */
|
||||
DEF_HELPER_FLAGS_4(mtspr, 0, void, env, tl, tl, tl)
|
||||
DEF_HELPER_FLAGS_4(mfspr, 0, tl, env, tl, tl, tl)
|
||||
|
||||
#include "exec/def-helper.h"
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
*/
|
||||
|
||||
#include "cpu.h"
|
||||
#include "helper.h"
|
||||
#include "exec/helper-proto.h"
|
||||
#include "exception.h"
|
||||
#include "qemu/host-utils.h"
|
||||
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
*/
|
||||
|
||||
#include "cpu.h"
|
||||
#include "helper.h"
|
||||
#include "exec/helper-proto.h"
|
||||
|
||||
void HELPER(rfe)(CPUOpenRISCState *env)
|
||||
{
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
*/
|
||||
|
||||
#include "cpu.h"
|
||||
#include "helper.h"
|
||||
#include "exec/helper-proto.h"
|
||||
|
||||
#define TO_SPR(group, number) (((group) << 11) + (number))
|
||||
|
||||
|
|
|
@ -27,9 +27,8 @@
|
|||
#include "config.h"
|
||||
#include "qemu/bitops.h"
|
||||
|
||||
#include "helper.h"
|
||||
#define GEN_HELPER 1
|
||||
#include "helper.h"
|
||||
#include "exec/helper-proto.h"
|
||||
#include "exec/helper-gen.h"
|
||||
|
||||
#define OPENRISC_DISAS
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
* License along with this library; if not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#include "cpu.h"
|
||||
#include "helper.h"
|
||||
#include "exec/helper-proto.h"
|
||||
|
||||
#include "helper_regs.h"
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
* License along with this library; if not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#include "cpu.h"
|
||||
#include "helper.h"
|
||||
#include "exec/helper-proto.h"
|
||||
|
||||
/*****************************************************************************/
|
||||
/* Floating point operations helpers */
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
#include "exec/def-helper.h"
|
||||
|
||||
DEF_HELPER_3(raise_exception_err, void, env, i32, i32)
|
||||
DEF_HELPER_2(raise_exception, void, env, i32)
|
||||
DEF_HELPER_4(tw, void, env, tl, tl, i32)
|
||||
|
@ -613,5 +611,3 @@ DEF_HELPER_3(store_dbatu, void, env, i32, tl)
|
|||
DEF_HELPER_3(store_601_batl, void, env, i32, tl)
|
||||
DEF_HELPER_3(store_601_batu, void, env, i32, tl)
|
||||
#endif
|
||||
|
||||
#include "exec/def-helper.h"
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
*/
|
||||
#include "cpu.h"
|
||||
#include "qemu/host-utils.h"
|
||||
#include "helper.h"
|
||||
#include "exec/helper-proto.h"
|
||||
|
||||
#include "helper_regs.h"
|
||||
/*****************************************************************************/
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
*/
|
||||
#include "cpu.h"
|
||||
#include "qemu/host-utils.h"
|
||||
#include "helper.h"
|
||||
#include "exec/helper-proto.h"
|
||||
|
||||
#include "helper_regs.h"
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
* License along with this library; if not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#include "cpu.h"
|
||||
#include "helper.h"
|
||||
#include "exec/helper-proto.h"
|
||||
|
||||
#include "helper_regs.h"
|
||||
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
*/
|
||||
|
||||
#include "cpu.h"
|
||||
#include "helper.h"
|
||||
#include "exec/helper-proto.h"
|
||||
#include "sysemu/kvm.h"
|
||||
#include "kvm_ppc.h"
|
||||
#include "mmu-hash32.h"
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
* License along with this library; if not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#include "cpu.h"
|
||||
#include "helper.h"
|
||||
#include "exec/helper-proto.h"
|
||||
#include "sysemu/kvm.h"
|
||||
#include "kvm_ppc.h"
|
||||
#include "mmu-hash64.h"
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
* License along with this library; if not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#include "cpu.h"
|
||||
#include "helper.h"
|
||||
#include "exec/helper-proto.h"
|
||||
#include "sysemu/kvm.h"
|
||||
#include "kvm_ppc.h"
|
||||
#include "mmu-hash64.h"
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
* License along with this library; if not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#include "cpu.h"
|
||||
#include "helper.h"
|
||||
#include "exec/helper-proto.h"
|
||||
|
||||
/*****************************************************************************/
|
||||
/* SPR accesses */
|
||||
|
|
|
@ -23,9 +23,8 @@
|
|||
#include "tcg-op.h"
|
||||
#include "qemu/host-utils.h"
|
||||
|
||||
#include "helper.h"
|
||||
#define GEN_HELPER 1
|
||||
#include "helper.h"
|
||||
#include "exec/helper-proto.h"
|
||||
#include "exec/helper-gen.h"
|
||||
|
||||
#define CPU_SINGLE_STEP 0x1
|
||||
#define CPU_BRANCH_STEP 0x2
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
*/
|
||||
|
||||
#include "cpu.h"
|
||||
#include "helper.h"
|
||||
#include "exec/helper-proto.h"
|
||||
#include "qemu/host-utils.h"
|
||||
|
||||
/* #define DEBUG_HELPER */
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
*/
|
||||
|
||||
#include "cpu.h"
|
||||
#include "helper.h"
|
||||
#include "exec/helper-proto.h"
|
||||
|
||||
#if !defined(CONFIG_USER_ONLY)
|
||||
#include "exec/softmmu_exec.h"
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
#include "exec/def-helper.h"
|
||||
|
||||
DEF_HELPER_2(exception, noreturn, env, i32)
|
||||
DEF_HELPER_FLAGS_4(nc, TCG_CALL_NO_WG, i32, env, i32, i64, i64)
|
||||
DEF_HELPER_FLAGS_4(oc, TCG_CALL_NO_WG, i32, env, i32, i64, i64)
|
||||
|
@ -115,5 +113,3 @@ DEF_HELPER_FLAGS_1(ptlb, TCG_CALL_NO_RWG, void, env)
|
|||
DEF_HELPER_2(lra, i64, env, i64)
|
||||
DEF_HELPER_FLAGS_3(stura, TCG_CALL_NO_WG, void, env, i64, i64)
|
||||
#endif
|
||||
|
||||
#include "exec/def-helper.h"
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
|
||||
#include "cpu.h"
|
||||
#include "qemu/host-utils.h"
|
||||
#include "helper.h"
|
||||
#include "exec/helper-proto.h"
|
||||
|
||||
/* #define DEBUG_HELPER */
|
||||
#ifdef DEBUG_HELPER
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
*/
|
||||
|
||||
#include "cpu.h"
|
||||
#include "helper.h"
|
||||
#include "exec/helper-proto.h"
|
||||
|
||||
/*****************************************************************************/
|
||||
/* Softmmu support */
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
#include "cpu.h"
|
||||
#include "exec/memory.h"
|
||||
#include "qemu/host-utils.h"
|
||||
#include "helper.h"
|
||||
#include "exec/helper-proto.h"
|
||||
#include <string.h>
|
||||
#include "sysemu/kvm.h"
|
||||
#include "qemu/timer.h"
|
||||
|
|
|
@ -38,9 +38,8 @@
|
|||
static TCGv_ptr cpu_env;
|
||||
|
||||
#include "exec/gen-icount.h"
|
||||
#include "helper.h"
|
||||
#define GEN_HELPER 1
|
||||
#include "helper.h"
|
||||
#include "exec/helper-proto.h"
|
||||
#include "exec/helper-gen.h"
|
||||
|
||||
|
||||
/* Information that (most) every instruction needs to manipulate. */
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
#include "exec/def-helper.h"
|
||||
|
||||
DEF_HELPER_1(ldtlb, void, env)
|
||||
DEF_HELPER_1(raise_illegal_instruction, noreturn, env)
|
||||
DEF_HELPER_1(raise_slot_illegal_instruction, noreturn, env)
|
||||
|
@ -46,5 +44,3 @@ DEF_HELPER_2(ftrc_FT, i32, env, f32)
|
|||
DEF_HELPER_2(ftrc_DT, i32, env, f64)
|
||||
DEF_HELPER_3(fipr, void, env, i32, i32)
|
||||
DEF_HELPER_2(ftrv, void, env, i32)
|
||||
|
||||
#include "exec/def-helper.h"
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
#include <assert.h>
|
||||
#include <stdlib.h>
|
||||
#include "cpu.h"
|
||||
#include "helper.h"
|
||||
#include "exec/helper-proto.h"
|
||||
|
||||
#ifndef CONFIG_USER_ONLY
|
||||
#include "exec/softmmu_exec.h"
|
||||
|
|
|
@ -24,9 +24,8 @@
|
|||
#include "disas/disas.h"
|
||||
#include "tcg-op.h"
|
||||
|
||||
#include "helper.h"
|
||||
#define GEN_HELPER 1
|
||||
#include "helper.h"
|
||||
#include "exec/helper-proto.h"
|
||||
#include "exec/helper-gen.h"
|
||||
|
||||
typedef struct DisasContext {
|
||||
struct TranslationBlock *tb;
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
*/
|
||||
|
||||
#include "cpu.h"
|
||||
#include "helper.h"
|
||||
#include "exec/helper-proto.h"
|
||||
|
||||
static uint32_t compute_all_flags(CPUSPARCState *env)
|
||||
{
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
*/
|
||||
|
||||
#include "cpu.h"
|
||||
#include "helper.h"
|
||||
#include "exec/helper-proto.h"
|
||||
|
||||
#define QT0 (env->qt0)
|
||||
#define QT1 (env->qt1)
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
|
||||
#include "cpu.h"
|
||||
#include "qemu/host-utils.h"
|
||||
#include "helper.h"
|
||||
#include "exec/helper-proto.h"
|
||||
#include "sysemu/sysemu.h"
|
||||
|
||||
void helper_raise_exception(CPUSPARCState *env, int tt)
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
#include "exec/def-helper.h"
|
||||
|
||||
#ifndef TARGET_SPARC64
|
||||
DEF_HELPER_1(rett, void, env)
|
||||
DEF_HELPER_2(wrpsr, void, env, tl)
|
||||
|
@ -175,5 +173,3 @@ VIS_CMPHELPER(cmpne)
|
|||
#undef VIS_CMPHELPER
|
||||
DEF_HELPER_1(compute_psr, void, env)
|
||||
DEF_HELPER_1(compute_C_icc, i32, env)
|
||||
|
||||
#include "exec/def-helper.h"
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
*/
|
||||
|
||||
#include "cpu.h"
|
||||
#include "helper.h"
|
||||
#include "exec/helper-proto.h"
|
||||
#include "trace.h"
|
||||
|
||||
#define DEBUG_PCALL
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
*/
|
||||
|
||||
#include "cpu.h"
|
||||
#include "helper.h"
|
||||
#include "exec/helper-proto.h"
|
||||
|
||||
//#define DEBUG_MMU
|
||||
//#define DEBUG_MXCC
|
||||
|
|
|
@ -26,11 +26,10 @@
|
|||
|
||||
#include "cpu.h"
|
||||
#include "disas/disas.h"
|
||||
#include "helper.h"
|
||||
#include "exec/helper-proto.h"
|
||||
#include "tcg-op.h"
|
||||
|
||||
#define GEN_HELPER 1
|
||||
#include "helper.h"
|
||||
#include "exec/helper-gen.h"
|
||||
|
||||
#define DEBUG_DISAS
|
||||
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
*/
|
||||
|
||||
#include "cpu.h"
|
||||
#include "helper.h"
|
||||
#include "exec/helper-proto.h"
|
||||
|
||||
/* This function uses non-native bit order */
|
||||
#define GET_FIELD(X, FROM, TO) \
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
*/
|
||||
|
||||
#include "cpu.h"
|
||||
#include "helper.h"
|
||||
#include "exec/helper-proto.h"
|
||||
#include "trace.h"
|
||||
|
||||
static inline void memcpy32(target_ulong *dst, const target_ulong *src)
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
|
||||
#include "cpu.h"
|
||||
#include "exec/gdbstub.h"
|
||||
#include "helper.h"
|
||||
#include "exec/helper-proto.h"
|
||||
#include "qemu/host-utils.h"
|
||||
#ifndef CONFIG_USER_ONLY
|
||||
#include "ui/console.h"
|
||||
|
|
|
@ -6,7 +6,6 @@
|
|||
* published by the Free Software Foundation, or (at your option) any
|
||||
* later version. See the COPYING file in the top-level directory.
|
||||
*/
|
||||
#include "exec/def-helper.h"
|
||||
|
||||
#ifndef CONFIG_USER_ONLY
|
||||
DEF_HELPER_4(cp0_set, void, env, i32, i32, i32)
|
||||
|
@ -64,5 +63,3 @@ DEF_HELPER_2(ucf64_si2df, f64, f32, env)
|
|||
|
||||
DEF_HELPER_2(ucf64_sf2si, f32, f32, env)
|
||||
DEF_HELPER_2(ucf64_df2si, f32, f64, env)
|
||||
|
||||
#include "exec/def-helper.h"
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
* later version. See the COPYING file in the top-level directory.
|
||||
*/
|
||||
#include "cpu.h"
|
||||
#include "helper.h"
|
||||
#include "exec/helper-proto.h"
|
||||
|
||||
#define SIGNBIT (uint32_t)0x80000000
|
||||
#define SIGNBIT64 ((uint64_t)1 << 63)
|
||||
|
|
|
@ -19,9 +19,8 @@
|
|||
#include "tcg-op.h"
|
||||
#include "qemu/log.h"
|
||||
|
||||
#include "helper.h"
|
||||
#define GEN_HELPER 1
|
||||
#include "helper.h"
|
||||
#include "exec/helper-proto.h"
|
||||
#include "exec/helper-gen.h"
|
||||
|
||||
/* internal defines */
|
||||
typedef struct DisasContext {
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
* See the COPYING file in the top-level directory.
|
||||
*/
|
||||
#include "cpu.h"
|
||||
#include "helper.h"
|
||||
#include "exec/helper-proto.h"
|
||||
|
||||
/*
|
||||
* The convention used for UniCore-F64 instructions:
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
#include "exec/def-helper.h"
|
||||
|
||||
DEF_HELPER_2(exception, noreturn, env, i32)
|
||||
DEF_HELPER_3(exception_cause, noreturn, env, i32, i32)
|
||||
DEF_HELPER_4(exception_cause_vaddr, noreturn, env, i32, i32, i32)
|
||||
|
@ -58,5 +56,3 @@ DEF_HELPER_4(olt_s, void, env, i32, f32, f32)
|
|||
DEF_HELPER_4(ult_s, void, env, i32, f32, f32)
|
||||
DEF_HELPER_4(ole_s, void, env, i32, f32, f32)
|
||||
DEF_HELPER_4(ule_s, void, env, i32, f32, f32)
|
||||
|
||||
#include "exec/def-helper.h"
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
*/
|
||||
|
||||
#include "cpu.h"
|
||||
#include "helper.h"
|
||||
#include "exec/helper-proto.h"
|
||||
#include "qemu/host-utils.h"
|
||||
#include "exec/softmmu_exec.h"
|
||||
#include "exec/address-spaces.h"
|
||||
|
|
|
@ -37,9 +37,8 @@
|
|||
#include "qemu/log.h"
|
||||
#include "sysemu/sysemu.h"
|
||||
|
||||
#include "helper.h"
|
||||
#define GEN_HELPER 1
|
||||
#include "helper.h"
|
||||
#include "exec/helper-proto.h"
|
||||
#include "exec/helper-gen.h"
|
||||
|
||||
typedef struct DisasContext {
|
||||
const XtensaConfig *config;
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
#include <string.h>
|
||||
#include <stddef.h>
|
||||
#include "cpu.h"
|
||||
#include "helper.h"
|
||||
#include "exec/helper-proto.h"
|
||||
#include "qemu/log.h"
|
||||
|
||||
enum {
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue