aboutsummaryrefslogtreecommitdiffstats
path: root/target-arm
diff options
context:
space:
mode:
authorDavid 'Digit' Turner <digit@android.com>2010-10-20 19:07:28 +0200
committerDavid 'Digit' Turner <digit@android.com>2010-10-21 17:03:05 +0200
commitd9b6cb97a8a9e93f1bbe5351874b03f7faa81783 (patch)
treeed29b83a936789ffcc40d1170f6ff5c0653831c6 /target-arm
parent7d98eae200f294f51ada36d9b01591fc4726dd94 (diff)
downloadexternal_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.c8
-rw-r--r--target-arm/helpers.h4
-rw-r--r--target-arm/translate.c6
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