aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile.target
Commit message (Collapse)AuthorAgeFilesLines
* Fix double optimization on buildsystem for emulatorLars Poeschel2012-08-221-0/+3
| | | | | | | | | Building the emulator was done with two optimization flags supplied to the compiler. This prevented to do debug builds with unoptimized compilation. This is fixed now. Change-Id: Ie64747fd45fa9a3e2de37ba094b223ef52ef0f19
* host modules don't need LOCAL_MODULE_TAGSJoe Onorato2012-08-151-2/+0
| | | | Change-Id: I4b18a564adeedac5cb0b51f7a8c8f793638e6671
* Enable 64-bit emulator for MacOSX hostAndrew Hsieh2012-07-251-4/+4
| | | | | | | | | | 64-bit emulator can now be enabled for MacOSX host because the newly upgraded sdl-1.2.15 no longer depends on NSQuickDrawView lacking 64-bit implementation. Also rename makefile variable MSDK to OSX_VERSION Change-Id: Ia36863f7708d281f90f5fa40a1507b52b1b68a79
* [MIPS] Add Goldfish target supportBhanu Chetlapalli2012-06-071-13/+47
| | | | | | | | | | | | | | | | | | | | | | Basic Goldfish support for MIPS. Also, Fix host CPU consumption when guest is idle When the CPU is in wait state, do not wake-up if an interrupt can't be taken. This avoid host CPU running at 100% if a device (e.g. timer) has an interrupt line left enabled. Also factorize code to check if interrupts are enabled in cpu_mips_hw_interrupts_pending(). CPU consumption based on a patch from Edgar E. Iglesias <edgar.iglesias@gmail.com> Change-Id: Ie8371c8d0c9af1e0c8ba4cac419979350de0f5d9 Signed-off-by: yajin <yajin@mips.com.cm> Signed-off-by: Douglas Leung <douglas@mips.com> Signed-off-by: Bhanu Chetlapalli <bhanu@mips.com> Signed-off-by: Chris Dearman <chris@mips.com>
* Win SDK: Fix missing emulator iconRaphael Moll2012-05-041-0/+6
| | | | | | | | | History: It had been inadvertedly removed by the makefile reorg done in aff94b88c4ec057f20950d5e7a88b90cc4d97dce. SDK Bug: 21709 Change-Id: Icd147a1edb363e1ccbee2c3cade4ed34beceeeff
* Merge "Allow BUILD_HOST_static to build statically-linked emulator"Andrew Hsieh2012-04-281-2/+2
|\
| * Allow BUILD_HOST_static to build statically-linked emulatorAndrew Hsieh2012-04-281-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Statically linked emulator is easy to setup in sandboxed environment. With this and BUILD_HOST_static in build/ (seperate CL), statically-linked SDK tools can be built with the following command BUILD_HOST_static=1 make PRODUCT-sdk-aapt adb aidl dexdump fastboot \ llvm-rs-cc dmtracedump emulator emulator-arm emulator-x86 \ etc1tool hprof-conv mksdcard sqlite3 zipalign No need to build HW GL libraries (libOpenglRender, libGLES_CM_translator, libGLES_V2_translator and libEGL_translator) because statically-linked emulator doesn't support audio and graphics. (eg. -no-window) Change-Id: I209287a00f66295b8b8135451025428f03776a1a
* | Fix standalone emulator build.Jesse Hall2012-04-261-1/+4
|/ | | | | | | | | | - Allow building with OpenGL ES acceleration disabled, avoiding a dependency on stuff outside the QEMU project. - Allow the standalone configure.sh to provide the include/lib path for the OpenGL ES libraries. - Update the default OpenGL ES include path for standalone builds. Change-Id: I03f4627af4c271783b65a116ceb5934385c68cdc
* Publish and use libOpenglRender interface headerJesse Hall2012-04-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | The emulator opengles.c file duplicated the function declarations from libOpenglRenderer's render_api.h instead of including it directly. This led to multiple bugs since the declarations didn't actually match, but there was no way for the compiler or dynamic loader to check this. This change makes opengles.c include render_api.h to get function pointer prototypes, and changes the prototypes/implementation as necessary to make both sides actually match. It should be much more difficult to introduce interface mismatch bugs now. Two bugs this change would have prevented: (a) The interface mismatch caused by inconsistent branching which led to GPU acceleration crashing on Windows. With this change, we would have caught the problem at compile time. (b) The emulator verbose log has always been printing "Can't start OpenGLES renderer?" even when the renderer started fine. This is because the renderer was returning a bool (true == success) but the emulator's declaration said it returned int, and the emulator assumed 0 meant success. This difference in return type should now be caught at compile time. Change-Id: I5b3c70c9a40854332d67e37333acd6edb6ad01f6
* Re-enable Linux 64-bit emulatorAndrew Hsieh2012-03-231-2/+2
| | | | | | | Restore rules in Makefiles for Linux 64-bit emulator, now that all the dependencies are merged (toolchain, lib64*.{a,so}, etc) Change-Id: I25ecc53837ad9f10ceafb89d9e1d7a3124ce2d71
* Revert to previous prebuilt toolchain until new ones are available in AOSPAndrew Hsieh2012-03-171-2/+2
| | | | | | | | | | The new prebuilt toolchains prebuilts/tools/gcc-sdk points to aren't available in AOSP yet (*). Without it, 64-bit emulator can't be built. Revert to previous prebuilt toochain and disable 64-bit emulator for now. (*) This git auto-sync to AOSP in short-time Change-Id: I7301bcbcbc1d4505d34ad69b562d0b9e5968093a
* 64-bit emulatorAndrew Hsieh2012-03-131-41/+97
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* New files to add HAX supportJun Nakajima2012-01-171-0/+12
| | | | | | | | | | | | | | | QEMU emulator interacts with the HAX kernel module. A HAX (Hardware-based Accelerated eXecution) kernel module is required to use HAX support. Most guest instructions run in VMX non-root (i.e. in hardware) mode and achieve near-native (relative to the host) performance. QEMU still emulates PIO/MMIO instructions and non-PG (paging) mode operations. HAX is supported only on Mac OS X and Windows hosts when Intel VT is present. Change-Id: I8dd52a35e315437dc568f555742bb8ab7e9d8ab2 Signed-off-by: Zhang, Xiantao <xiantao.zhang@intel.com> Signed-off-by: Xin, Xiaohui <xiaohui.xin@intel.com> Signed-off-by: Jiang Yunhong <yunhong.jiang@intel.com> Signed-off-by: Nakajima, Jun <jun.nakajima@intel.com>
* Add hw.gpu.enabled hardware propertyDavid 'Digit' Turner2011-08-291-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds a new hardware property to enable GPU emulation (named hw.gpu.enabled). It is currently disabled by default. It also modifies the UI code to display the GL output properly inside the UI window. And sets the kernel parameter qemu.gles to either 0 or 1 to indicate to the guest system's GLES libraries whether to use GPU emulation or fallback to the software renderer. A future patch will also add auto-detection of desktop GL capabilities. For example, if the emulator is started on a headless server without an X11/GL display, hw.gpu.enabled will be forced to 'no', forcing the guest to use the software renderer. Another patch will allow to change the property from the command-line for debugging purpose. NOTE: If you want to test GPU emulation, change the default value of the property in android/avd/hardware-properties.ini from 'no' to 'yes'. You will need to run a ToT master AOSP tree with the following pending patches applied: https://review.source.android.com/25797 https://review.source.android.com/25154 https://review.source.android.com/25759 Change-Id: I1fa3512be24395244fd5068f2bf59ad54db5c7d5
* hw-config-defs.h: Remove from source tree + auto-generateDavid 'Digit' Turner2011-07-051-0/+4
| | | | | | | | | | | This patch modifies the emulator's build system to place the auto-generated file android/avd/hw-config-defs.h into the build directory. Before that, the file was placed in the source tree. + Fix the standalone build system to properly deal with generated source file dependencies + LOCAL_C_INCLUDES Change-Id: I4e77cd20bf4ca21f79d5dd19f27724bd8be53a79
* target-arm/translate.c: move Android-specific stuff out.David 'Digit' Turner2011-06-011-0/+1
| | | | Change-Id: Id14c6b106dbac9b4016b7423327e9eb22e21fe75
* tcg: integrate upstream versionDavid 'Digit' Turner2011-06-011-1/+4
| | | | Change-Id: Ifcdebc2e7179fbc64b46a9150e6dae62f86eba3c
* vl-android.c: move arch-specific functions to arch_init.cDavid 'Digit' Turner2011-06-011-2/+4
| | | | Change-Id: I4908006f3492aab199466c501dedff2bd835d647
* vl-android.c: move cpu functions to cpus.cDavid 'Digit' Turner2011-06-011-0/+2
| | | | Change-Id: Ib422f24224c2e75dd126689c67dbbb187d7c1670
* trace: simplify code and avoid conflictsDavid 'Digit' Turner2011-06-011-1/+0
| | | | Change-Id: I8f93e06038bd6e35a2972e3fef351046c247e4ee
* qemu-timer.c: upstream integrateDavid 'Digit' Turner2011-06-011-3/+5
| | | | Change-Id: I6856ded73b4dcd10fe4831697c8518f958aeffbb
* os-posix.c + os-win32.c and dependenciesDavid 'Digit' Turner2011-06-011-4/+12
| | | | | | + Generate qemu-options.def instead of qemu-options.h Change-Id: I043e6b0c1c58e5cc2e96d05465f39b42f9054b5a
* x86: Workaorund for the KVM GS_BASE MSR save/restore issue.Jun Nakajima2011-05-271-0/+1
| | | | | | | | | | In some versions of the kvm module in Ubuntu, the host's GS_BASE MSR is not save/restored correctly when running guests on 64-bit hosts if the qemu/emulator is 32-bit. This patch implements a workaround in the emulator code. Change-Id: If3ebe3cb49f377c5d0547c75f6ac3a3ceacdc375 Signed-off-by: Yunhong Jiang <yunhong.jiang@intel.com> Signed-off-by: Jun Nakajima <jun.nakajima@intel.com>
* x86: kvm: fix KVM build + enable auto-detection.David 'Digit' Turner2011-05-261-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch fixes the build of KVM support in the x86 emulator by copying official Ubuntu Lucid KVM headers into android/config/linux-*/ This removes the need to rely on the build machine's versions of these headers, which caused various issues. Also, by default, the emulator will now probe the system to see if it can start in KVM mode automatically. See android-kvm.c for details. You can see the result of the probing with the -verbose option. IMPORTANT NOTE: It looks like there is a bug in the KVM code when the emulator is built as a 32-bit binary, running on a 64-bit kernel, so we explicitely disable KVM when we detect this case. It's hard to tell whether this is a bug in QEMU or some versions of the KVM driver. As such, KVM only works when building the emulator as a 64-bit program. For now, this is only possible with "android-configure.sh --try-64", not the Android build system. + Add a new QEMU option (-disable-kvm) to explicitely disable KVM if needed. This is an addition to -enable-kvm which already exists (and forces usage of KVM). Change-Id: I6a397cae29ab62b1c56fce95c1ee75a4664d6688
* Fix emulator audio.David 'Digit' Turner2011-05-051-0/+3
| | | | | | | | Audio support was compiled in, but never initialized because the hardware init function is in a different module and required HAS_AUDIO to be defined too. Change-Id: I57eccfb3a0abea86c29a9046f9f35d482a99c1f5
* Add 'emulator' launcher program.David 'Digit' Turner2011-05-021-5/+0
| | | | | | | | | | | | | | | | | | | | | | | This patch renames the current ARM-specific emulator binary to 'emulator-arm' and introduces a new tiny (less than 20KB) 'emulator' launcher program. The role of 'emulator' is to launch either 'emulator-arm' or 'emulator-x86' based on the target AVD or platform build being used. This program will be replaced in the future by what is currently known as 'emulator-ui', but is a good placeholder until this work is completed. + Move some utility functions from android/avd/info.[hc] to android/avd/util.[hc] so that 'emulator' can use them directly. IMPORTANT: For platform builds, the target architecture is detected automatically by parsing the build.prop file. For SDK AVDs however, there is no easy way to determine the target architecture, so the patch adds a new hw.cpu.arch property which can have value 'arm' or 'x86' Change-Id: I0084c196695a75c8b9230ba716b3cd2e12610ded
* hw/goldfish_pipe.c: New support code for QEMUD fast-pipes.David 'Digit' Turner2011-04-111-0/+1
| | | | Change-Id: I338334d53fa9bc52c87e9da18341d0cb94fd4269
* x86: Enable KVM mode for Android x86 emulator (update/rebase)Jun Nakajima2011-03-041-0/+9
| | | | | | | | | | This patch enables KVM mode on x86 Linux to boost performance of x86 emulaiton if the hardware-based virtualization feature is present on the host machine. Change-Id: I4b24474b3ec115a3b9a7bf017801f4f610253b09 Signed-off-by: Xiaohui Xin <xiaohui.xin@intel.com> Signed-off-by: Yunhong Jiang <yunhong.jiang@intel.com> Signed-off-by: Jun Nakajima <jun.nakajima@intel.com>
* x86: Fixing audio.Jun Nakajima2011-02-241-1/+1
| | | | | | Change-Id: I0614450cd512d52bf24020dda1c933f0b22cb09b Signed-off-by: Xiaohui Xin <xiaohui.xin@intel.com> Signed-off-by: Jun Nakajima <jun.nakajima@intel.com>
* Build arm and x86 binaries at the same time.David 'Digit' Turner2011-02-241-0/+353
| | | | | | | | | | | | This patch modifies the way we build the emulator's various programs. It reduces the number of static libraries generated, and better segregates between common, ui, qemu and target-specific code. Note that we build both the arm and x86 binaries at the same time in all build scenarios for now. This is done to catch build regressions as soon as possible. Change-Id: I6240705041e137e32f207e1e2444c614c52aaf05
* Revert "Build arm and x86 binaries at the same time."Xavier Ducrohet2011-02-091-352/+0
| | | | | | This fails to build on MacOS X This reverts commit a39b10bd2574825a815d6ad854499dd127cfa9cb.
* Build arm and x86 binaries at the same time.David 'Digit' Turner2011-02-101-0/+352
| | | | Change-Id: I105c5a097c988cb964b47b40b71c7a08af0d9210
* Code drop from //branches/cupcake/...@124589The Android Open Source Project2008-12-171-587/+0
|
* Initial ContributionThe Android Open Source Project2008-10-211-182/+225
|
* external/qemu 0.8.2Upstream1970-01-121-0/+544