diff options
author | David 'Digit' Turner <digit@android.com> | 2010-10-20 19:07:28 +0200 |
---|---|---|
committer | David 'Digit' Turner <digit@android.com> | 2010-10-21 17:03:05 +0200 |
commit | d9b6cb97a8a9e93f1bbe5351874b03f7faa81783 (patch) | |
tree | ed29b83a936789ffcc40d1170f6ff5c0653831c6 /target-arm | |
parent | 7d98eae200f294f51ada36d9b01591fc4726dd94 (diff) | |
download | external_qemu-d9b6cb97a8a9e93f1bbe5351874b03f7faa81783.zip external_qemu-d9b6cb97a8a9e93f1bbe5351874b03f7faa81783.tar.gz external_qemu-d9b6cb97a8a9e93f1bbe5351874b03f7faa81783.tar.bz2 |
Fix linux-x86_64 build.
Fix various 64-bitness issues in the source code to
make the --try-64 option work again on Linux. Note that
the generated binary is not faster than its 32-bit variant
when it comes to benchmarking the boot sequence.
Change-Id: Iad248e033757d4cd25524a438a5dbe1cf3aca6cf
Diffstat (limited to 'target-arm')
-rw-r--r-- | target-arm/helper.c | 8 | ||||
-rw-r--r-- | target-arm/helpers.h | 4 | ||||
-rw-r--r-- | target-arm/translate.c | 6 |
3 files changed, 9 insertions, 9 deletions
diff --git a/target-arm/helper.c b/target-arm/helper.c index 56d9953..258e2cb 100644 --- a/target-arm/helper.c +++ b/target-arm/helper.c @@ -2672,11 +2672,11 @@ void HELPER(set_teecr)(CPUState *env, uint32_t val) } #ifdef CONFIG_MEMCHECK -void HELPER(on_call)(void* pc, void* ret) { - memcheck_on_call((target_ulong)pc, (target_ulong)ret); +void HELPER(on_call)(target_ulong pc, target_ulong ret) { + memcheck_on_call(pc, ret); } -void HELPER(on_ret)(void* ret) { - memcheck_on_ret((target_ulong)ret); +void HELPER(on_ret)(target_ulong ret) { + memcheck_on_ret(ret); } #endif // CONFIG_MEMCHECK diff --git a/target-arm/helpers.h b/target-arm/helpers.h index a42b3ae..5dd4925 100644 --- a/target-arm/helpers.h +++ b/target-arm/helpers.h @@ -473,12 +473,12 @@ DEF_HELPER_2(set_teecr, void, env, i32) * First pointer contains guest PC where BL/BLX has been found. * Second pointer contains guest PC where BL/BLX will return. */ -DEF_HELPER_2(on_call, void, ptr, ptr) +DEF_HELPER_2(on_call, void, i32, i32) /* Hooks to return from translated BL/BLX. This callback is used to build * thread's calling stack. * Param: * Pointer contains guest PC where BL/BLX will return. */ -DEF_HELPER_1(on_ret, void, ptr) +DEF_HELPER_1(on_ret, void, i32) #endif // CONFIG_MEMCHECK #include "def-helper.h" diff --git a/target-arm/translate.c b/target-arm/translate.c index d298f89..798105c 100644 --- a/target-arm/translate.c +++ b/target-arm/translate.c @@ -5770,7 +5770,7 @@ gen_traceTicks( int count ) } static void -gen_traceBB( uint64_t bbNum, target_phys_addr_t tb ) +gen_traceBB( uint64_t bbNum, void* tb ) { #if HOST_LONG_BITS == 32 TCGv_i64 tmpNum = tcg_temp_new_i64(); @@ -5787,7 +5787,7 @@ gen_traceBB( uint64_t bbNum, target_phys_addr_t tb ) tcg_gen_movi_i64(tmpNum, (int64_t)bbNum); tcg_gen_movi_i64(tmpTb, (int64_t)tb); - gen_helper_traceBB32(tmpNum, tmpTb); + gen_helper_traceBB64(tmpNum, tmpTb); tcg_temp_free_i64(tmpTb); tcg_temp_free_i64(tmpNum); #endif @@ -8909,7 +8909,7 @@ static inline void gen_intermediate_code_internal(CPUState *env, gen_icount_start(); #ifdef CONFIG_TRACE if (tracing) { - gen_traceBB(trace_static.bb_num, (target_phys_addr_t)tb ); + gen_traceBB(trace_static.bb_num, tb); trace_bb_start(dc->pc); } #endif |