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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Peter Maydell
						Peter Maydell