aboutsummaryrefslogtreecommitdiffstats
path: root/android/config
Commit message (Collapse)AuthorAgeFilesLines
* [MIPS] Add Goldfish target supportBhanu Chetlapalli2012-06-071-0/+5
| | | | | | | | | | | | | | | | | | | | | | 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>
* Fix standalone emulator build.Jesse Hall2012-04-263-0/+3
| | | | | | | | | | - 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
* 64-bit emulatorAndrew Hsieh2012-03-134-5/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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/+11
| | | | | | | | | | | | | | | 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>
* ramblocks: integrate upstream implementation (sophisticated)David 'Digit' Turner2011-06-014-0/+4
| | | | Change-Id: I49e96e2d5ae571849b0b6fef0a30b41ecdee8d23
* integrate: qemu-common.h changesDavid 'Digit' Turner2011-06-014-0/+4
| | | | Change-Id: I4620b4560465ed105202332b59f91b708d91a525
* 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>
* Fix Mac and Windows builds.David 'Digit' Turner2011-05-261-0/+3
| | | | | | Silly me, KVM is only available on Linux hosts. Change-Id: I983c87b1f5473e92823398b7812a574f56fc3a68
* x86: kvm: fix KVM build + enable auto-detection.David 'Digit' Turner2011-05-266-1/+1931
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* x86: Enable KVM mode for Android x86 emulator (update/rebase)Jun Nakajima2011-03-041-0/+1
| | | | | | | | | | 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>
* Remove CONFIG_ANDROID_SNAPSHOTS macro.David 'Digit' Turner2011-03-011-1/+0
| | | | | | The feature is no longer optional. Change-Id: I4558f12e3804e42069e8a3e6bcf0837d350206ed
* Build arm and x86 binaries at the same time.David 'Digit' Turner2011-02-243-11/+15
| | | | | | | | | | | | 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-093-15/+11
| | | | | | This fails to build on MacOS X This reverts commit a39b10bd2574825a815d6ad854499dd127cfa9cb.
* Build arm and x86 binaries at the same time.David 'Digit' Turner2011-02-103-11/+15
| | | | Change-Id: I105c5a097c988cb964b47b40b71c7a08af0d9210
* x86: Add x86 support. Rebase the change (20906/1) due to a minor conflict.Jun Nakajima2011-02-021-4/+11
| | | | | | | Change-Id: Ic73cca0fc6c6e5cf74f63daa6080d00aa7c392bb 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>
* Enable snapshot behaviourTim Baverstock2010-11-251-1/+1
| | | | Change-Id: I383927c7805e840031d83ef7154c335519e1f5a4
* Load state snapshot rather than booting to start emulator.Ot ten Thije2010-10-221-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for an optional file "snapshots.img" in the data directory of an AVD. This file should be an image formatted with the qcow2 file system and will be mounted on -hdb when the emulator starts up. If present, the emulator will attempt to load the snapshot named "default-boot" from this image, rather than going through the full boot procedure. To control the behaviour of this functionality, this patch introduces the following new command line options for the emulator: -snapstorage <file>: override the default location of the snapshot storage file. -no-snapstorage: do not load the snapshots file, even if an explicit path is given. -snapshot <name>: instead of loading "default-boot", load the state snapshot with the given name. -no-snapshot: do not load a snapshot, but force a full boot sequence, even if a snapshots file is mounted. Useful for creating snapshots. Note that this functionality is experimental and will be enabled only if the constant CONFIG_ANDROID_SNAPSHOTS in android/config/config.h is set to "1" before building. It is turned off by default. Change-Id: Iee2e9096a27f3414bacfc271f90ef93a98730c82
* Fix linux-x86_64 build.David 'Digit' Turner2010-10-211-0/+123
| | | | | | | | | 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
* Fix incorrect orientation at boot.David 'Digit' Turner2010-10-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The goldfish kernel's event driver is very picky about the state of the virtual device it talks to. Essentially, it can only listen to h/w events if the corresponding IRQ is raised _after_ it has completed some initial setup. If the IRQ is raised before, the driver will refuse to listen to events, and any interaction becomes impossible. We changed the way our UI windows are built and managed previously, and this had the unfortunate effect of sending one h/w event too soon, which, in the old code, would raise the IRQ prematurely. This resulted in an input freeze. To work around this the UI code was modified to not send the initial h/w event, but this resulted in bad orientation of the home screen at the end of the boot sequence. This change allows the virtual device to wait for the kernel driver before raising the IRQ, in the case any h/w event has been buffered. It also removes the hack in the UI code, allowing the send of the initial h/w event at startup. BONUS MINOR CHANGES: EsounD probe: fix error message. console: fix compiler warnings libpng: proper handling of MMX support. android-configure.sh: fix --ignore-audio handling The option didn't do anything if the audio development packages are properly installed on the system. Change-Id: Ib134158873d5cb72290c9676d92d20233226c889
* Add SDL_config.h for PPC (generated by android-configure.sh)Marcus Comstedt2010-10-051-0/+123
| | | | Change-Id: Idb0e3c52100693958f4856568969985899d0aedd
* Add config-host.h for PPC (generated by android-configure.sh)Marcus Comstedt2010-10-051-0/+18
| | | | Change-Id: I3f42635204bed9f078577d668da4a01263d1ba86
* update linux-x86 and windows config-host.hDavid 'Digit' Turner2010-09-133-35/+25
| | | | | | + remove obsolete 'Linux' config directory. Change-Id: Ib0cc7e2ab6b5b90a2cfe43bd0afced692b29d6dc
* Update darwin-x86 config-host.h, remove obsolete ppc one.David 'Digit' Turner2010-09-132-28/+16
| | | | Change-Id: Ic3c0dcf07dbe0d172ac9a18fc2775d33d171fb60
* upstream: bswap.hDavid Turner2010-09-132-1/+2
| | | | + add a <machine/bswap.h> probe to android-configure.sh
* Add <fnmatch.h> check to android-configure.hDavid Turner2010-09-133-0/+3
|
* Add new "qemu monitor" command to the console.David 'Digit' Turner2010-09-084-0/+4
| | | | | | | | | | | | | | | | | | | This allows you to access the QEMU virtual machine monitor directly from the console (instead of playing with the command-line to do it). The implementation of the 'quit' command has been modified to simply close the connection, instead of stopping the emulator program. This patch introduces changes that allow a console session to be detached and redirected at runtime to other internal services of the emulator program. This will be useful in the future to implement other features. + doc typo + add proper definitions for CONFIG_ANDROID on config-host.h + remove obsolete sysdeps.h dependency in android/console.c Change-Id: If16cfe41c12a26eb8f56e3a9c24452eafa5efab4
* Add a PulseAudio audio backend for Linux.David 'Digit' Turner2010-08-271-0/+68
| | | | Change-Id: Ifaf876c41ab6c7275ba7d1dc8e12139f62840cd6
* Build SDL from sources directly.David 'Digit' Turner2010-05-184-0/+496
| | | | | | | | | | | | | | | | This removes the requirement to build the SDL library before the rest of the emulator. The prebuilt SDL library and installation is now optional and is only kept for the full Android build on Linux (mainly to avoid having to install many dev libraries on build servers). This patch affects both the Android and standalone build systems. The script android-configure.sh will not use a prebuilt SDL installation unless you explicitely use --sdl-config=<script>. Tested for linux-x86 / darwin-x86 / cygwin / linux-mingw builds. Change-Id: If973b2ad199f06aeeff43aec387d1ac629487529
* Upstream: add qemu_fdatasync()David 'Digit' Turner2010-05-111-0/+1
| | | | Change-Id: I232b9c4df372e1fded97694fffcd72ef9ea113c4
* Upstream: HAVE_IOVEC => CONFIG_IOVECDavid 'Digit' Turner2010-05-112-2/+2
| | | | Change-Id: I18025d9c154a02af5d6298c7d7f72fc9f2c1c5d7
* Fix emulator OS X build when using the Android build system.David 'Digit' Turner2010-05-102-2/+2
| | | | Change-Id: Ia19b4e14b84c12edc040a70144a97b5ca9474b00
* Upstream: Use CONFIG_BSD instead of _BSD and HOST_BSDDavid 'Digit' Turner2010-05-101-1/+1
| | | | | Also fix OS X build, which failed with a link error. Change-Id: Idd63f25dc1f46ea66da5727c7577def34f048c3c
* resolved conflicts for merge of 5d8f37ad to eclair-plus-aospJean-Baptiste Queru2009-09-155-3/+11
|\
| * Merge upstream QEMU 10.0.50 into the Android source tree.David 'Digit' Turner2009-09-145-3/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change integrates many changes from the upstream QEMU sources. Its main purpose is to enable correct ARMv6 and ARMv7 support to the Android emulator. Due to the nature of the upstream code base, this unfortunately also required changes to many other parts of the source. Note that to ensure easier integrations in the future, some source files and directories that have heavy Android-specific customization have been renamed with an -android suffix. The original files are still there for easier integration tracking, but *never* compiled. For example: net.c net-android.c qemu-char.c qemu-char-android.c slirp/ slirp-android/ etc... Tested on linux-x86, darwin-x86 and windows host machines.
* | Added config file related to FreeBSD-x86Alexey Tarasov2009-09-081-0/+13
|/
* auto import from //depot/cupcake/@135843The Android Open Source Project2009-03-038-0/+244
|
* auto import from //depot/cupcake/@135843The Android Open Source Project2009-03-038-244/+0
|
* auto import from //branches/cupcake/...@130745The Android Open Source Project2009-02-101-0/+10
|
* Code drop from //branches/cupcake/...@124589The Android Open Source Project2008-12-172-0/+174
|
* Initial ContributionThe Android Open Source Project2008-10-215-0/+60