aboutsummaryrefslogtreecommitdiffstats
path: root/android/config
diff options
context:
space:
mode:
authorAndrew Hsieh <andrewhsieh@google.com>2012-03-13 02:13:40 -0700
committerAndrew Hsieh <andrewhsieh@google.com>2012-03-13 19:37:07 -0700
commitc7389bd69e570a2c8432b37399aff1976b021f0f (patch)
tree26a2d56f6b9af09f83276358de1bfaf4ef8f91d7 /android/config
parentd4f5a3ae87a7246613188940c1667bf2880da402 (diff)
downloadexternal_qemu-c7389bd69e570a2c8432b37399aff1976b021f0f.zip
external_qemu-c7389bd69e570a2c8432b37399aff1976b021f0f.tar.gz
external_qemu-c7389bd69e570a2c8432b37399aff1976b021f0f.tar.bz2
64-bit emulator
Patch to allow emulator searches for emulator64-${ARCH} first on 64-bit OS. If none is found, the original behavior which searchs for 32-bit emulator-${ARCH} is performed as usual. 64-bit emulator (which still emulates Android built in 32-bit) offers up to 20% speedup compared to its 32-bit counterpart. Details: android/main-emulator.c 1) search emulator64 based on the OS 2) dlopen lib64OpenglRender in 64-bit Makefile.* 1) Rules to build 64-bit executable emulator64-{x86,arm} and libraries emulator64-{libui,libqemu,target-i386,target-arm,libelff,common} 2) remove -Wa,-32 3) Changes prebuit toolchain path android-configure.h android/build/common.h 1) no longer force 32-bit build (because now prebuilts/tools/gcc-sdk/gcc can now handle 64-bit 2) set ANDROID_PREBUILTS to correctly locate ccache android/config/*/config-host.h 1) Detect HOST_X86_64 and HOST_X86_64/HOST_I386 Misc 64-bit porting clean-up 1) use %zx to print variable of type size_t in hex 2) use %zu to print variable of type size_t in dec 3) Initialize query_parm to NULL 4) use PRIu64 to replace PDUd64 5) use PRId64/PRIu64/PRIX64 to print 64-bit 6) drop PRUx64 because PRIx64 does the same 7) cast pointer arith to intptr_t before casting to int 8) fixed 1ULL<<63 Change-Id: Ife62a20063a6ec38d4a9b23977e840af1fce149a
Diffstat (limited to 'android/config')
-rw-r--r--android/config/darwin-x86/config-host.h10
-rw-r--r--android/config/freebsd-x86/config-host.h12
-rw-r--r--android/config/linux-x86/config-host.h10
-rw-r--r--android/config/windows/config-host.h10
4 files changed, 37 insertions, 5 deletions
diff --git a/android/config/darwin-x86/config-host.h b/android/config/darwin-x86/config-host.h
index 0395918..97a83dc 100644
--- a/android/config/darwin-x86/config-host.h
+++ b/android/config/darwin-x86/config-host.h
@@ -1,6 +1,15 @@
/* This file was autogenerated by 'android-configure.sh' */
#define CONFIG_QEMU_SHAREDIR "/usr/local/share/qemu"
+#if defined(__x86_64__)
+#define HOST_X86_64 1
+#define HOST_LONG_BITS 64
+#elif defined(__i386__)
+#define HOST_I386 1
#define HOST_LONG_BITS 32
+#else
+#error Unknown architecture for codegen
+#endif
+
#define CONFIG_FNMATCH 1
#define CONFIG_GDBSTUB 1
#define CONFIG_SLIRP 1
@@ -9,7 +18,6 @@
#define CONFIG_NAND_LIMITS 1
#define QEMU_VERSION "0.10.50"
#define QEMU_PKGVERSION "Android"
-#define HOST_I386 1
#define CONFIG_IOVEC 1
#define CONFIG_DARWIN 1
#define CONFIG_BSD 1
diff --git a/android/config/freebsd-x86/config-host.h b/android/config/freebsd-x86/config-host.h
index 2e44a83..fd31de4 100644
--- a/android/config/freebsd-x86/config-host.h
+++ b/android/config/freebsd-x86/config-host.h
@@ -1,7 +1,15 @@
/* Automatically generated by configure - do not modify */
#define CONFIG_QEMU_SHAREDIR "/usr/local/share/qemu"
-#define HOST_I386 1
-#define HOST_LONG_BITS 32
+#if defined(__x86_64__)
+#define HOST_X86_64 1
+#define HOST_LONG_BITS 64
+#elif defined(__i386__)
+#define HOST_I386 1
+#define HOST_LONG_BITS 32
+#else
+#error Unknown architecture for codegen
+#endif
+
#define CONFIG_MACHINE_BSWAP_H 1
#define CONFIG_FNMATCH 1
#define CONFIG_GDBSTUB 1
diff --git a/android/config/linux-x86/config-host.h b/android/config/linux-x86/config-host.h
index 70a0eed..70b9ce7 100644
--- a/android/config/linux-x86/config-host.h
+++ b/android/config/linux-x86/config-host.h
@@ -1,6 +1,15 @@
/* This file was autogenerated by 'android-configure.sh' */
#define CONFIG_QEMU_SHAREDIR "/usr/local/share/qemu"
+#if defined(__x86_64__)
+#define HOST_X86_64 1
+#define HOST_LONG_BITS 64
+#elif defined(__i386__)
+#define HOST_I386 1
#define HOST_LONG_BITS 32
+#else
+#error Unknown architecture for codegen
+#endif
+
#define CONFIG_BYTESWAP_H 1
#define CONFIG_FNMATCH 1
#define CONFIG_GDBSTUB 1
@@ -11,7 +20,6 @@
#define CONFIG_NAND_LIMITS 1
#define QEMU_VERSION "0.10.50"
#define QEMU_PKGVERSION "Android"
-#define HOST_I386 1
#define CONFIG_KVM_GS_RESTORE 1
#define CONFIG_IOVEC 1
#define CONFIG_LINUX 1
diff --git a/android/config/windows/config-host.h b/android/config/windows/config-host.h
index ef36e4c..1b50927 100644
--- a/android/config/windows/config-host.h
+++ b/android/config/windows/config-host.h
@@ -1,12 +1,20 @@
/* This file was autogenerated by 'android-configure.sh' */
#define CONFIG_QEMU_SHAREDIR "/usr/local/share/qemu"
+#if defined(__x86_64__)
+#define HOST_X86_64 1
+#define HOST_LONG_BITS 64
+#elif defined(__i386__)
+#define HOST_I386 1
#define HOST_LONG_BITS 32
+#else
+#error Unknown architecture for codegen
+#endif
+
#define CONFIG_GDBSTUB 1
#define CONFIG_SLIRP 1
#define CONFIG_SKINS 1
#define CONFIG_TRACE 1
#define QEMU_VERSION "0.10.50"
#define QEMU_PKGVERSION "Android"
-#define HOST_I386 1
#define CONFIG_WIN32 1
#define CONFIG_ANDROID 1