aboutsummaryrefslogtreecommitdiffstats
path: root/android
Commit message (Collapse)AuthorAgeFilesLines
* Extract emulator major version number from SDK Tools package revision.David 'Digit' Turner2009-12-032-4/+5
| | | | | The minor version number is now always 0, this makes the next version number "5.0" currently in the eclair branch.
* Fix a crash when using an 8MB SD Card image file.David 'Digit' Turner2009-12-012-3/+6
| | | | | The minimum size is now 9MB. This appears to be a limitation of the emulated MMC hardware code and/or kernel device driver.
* Fix location of prebuilt skins.Xavier Ducrohet2009-11-202-2/+2
| | | | Change-Id: I3ce440cff624138518dc410c304353bea1ecef91
* Fix typo which prevented the computation of the default /data partition sizeDavid 'Digit' Turner2009-10-291-1/+1
| | | | from working properly.
* Remove the disk partition size hardware properties.David 'Digit' Turner2009-10-293-33/+4
| | | | | Also remove the error/abort message in case an AVD's image files are larger than the default.
* Add a new hardware property: vm.heapSizeDavid 'Digit' Turner2009-10-073-0/+23
| | | | | Allows to control the maximum heap size of Dalvik applications when running under emulation.
* Ensure android/avd/hw-config-defs.h is properly regenerated as needed.David 'Digit' Turner2009-10-072-12/+23
| | | | | | | | This modifies the emulator's build system to ensure that the file at android/avd/hw-config-defs.h is regenerated automatically each time that android/avd/hardware-properties.ini is itself changed. Tested with both the Android build system, and the standalone one.
* Do not use qemu_malloc() to allocate arrays.David 'Digit' Turner2009-10-061-5/+8
| | | | | This function will call abort() for zero-sized arrays. This is stupid so use the Android-specific functions that return NULL instead.
* Finally fix ARMv7 NEON emulation.David 'Digit' Turner2009-10-061-10/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The real problem was the size of the static intermediate TCG opcode buffer. Due to its SIMD nature, a single Neon instruction can generate a very large number of corresponding TCG opcodes. Using lots of Neon instructions in a big looop like the one we have in our ARMv7-optimized memcpy did generate enough opcodes to overwrite the static gen_opc_buf buffer, resulting in overwrites into the following global buffer (gen_opparam_buf) corresponding to opcode parameters. The end result was generation of really broken host machine code, and completely unreliable emulation, including potential assertion failure in the liveness analysis pass. This patch does the following: - bumps the buffer size from 512 to 2048 - adds sanity checks that will abort the emulator if another similar overwrite is detected before machine code is generated. - remove the previous hack where we disabled the liveness analysis pass for ARMv7 Note that fixing the code generator to not use a static buffer is not trivial at this point, and that we much prefer to stay true to the upstream sources at the moment. Keep in mind that a previous patch also fixed a bug in the ARM->TCG translator (typo required changing a 0 into a 1) which affected Neon instructions too. I can't believe I just lost 2 weeks of my life on that bug :-(
* Workaround ARMv7 emulation issues.David 'Digit' Turner2009-10-051-0/+10
| | | | | | | | | | | | | | This patch is used to disable the code generator's liveness analysis pass when we emulate an ARMv7 CPU. This is required to properly run the dex preoptimization pass during the build of -user system images. Also includes: - a fix for a sad typo in target-arm/translate.c related to NEON instruction emulation - upstream improvements to the x86 and x86_64 backends to generate better goto branches at runtime - upstream fixes for 64-bit swap and shift operations in TCG After this patch is applied, re-enabling the ARMv7 memcpy should allow to run the dex preopt pass succesfully. Anything else is untested though. WE STILL NEED TO FIX THE CODE GENERATOR.
* Increase Emulator system image to 72MBXavier Ducrohet2009-09-302-2/+2
| | | | | | | This is required to run the SDK system image with the new assets in multiple densities. Change-Id: I4ab21a9c5ef554d1d8d63a32c3e88719e6d49253
* Fix free() bug in charmap codevchtchetkine2009-09-251-0/+9
|
* Fix emulator crash on exit, due to invalid free() call.David 'Digit' Turner2009-09-232-13/+1
|
* Fix build break caused by undefined min(a,b)vchtchetkine2009-09-211-1/+4
|
* Implementation for dynamic charmap option in emulator.vchtchetkine2009-09-217-32/+696
| | | | | Created .kcm parser and added -charmap option to the emulator, so user can specify keyboard layout for emulator session.
* Fix ARMv7 emulation by disabling CPU alignment exceptionsDavid 'Digit' Turner2009-09-201-2/+25
| | | | | | | | | | | | | | | Disable alignment CPU exceptions to be able to boot an ARMv7 system image. This is because 4.4.0 emits a machine code sequence that stores an 8-bytes double on a 4-byte aligned address on the stack in the implementation of cvt() in the C library (see the disassembly for bionic/libc/stdio/vfprintf.c). It is uncertain that this is a compiler bug at this point, but the upstream QEMU sources don't have alignment exceptions enabled for any ARM target anyway. Also, add a check to force CPU emulation to "cortex-a8" if the kernel file name ends in "-armv7". This is a poor man's approach to hardware configuration that will be replaced by a more sophisticated solution in the future. Right now, we just want to be able to build -user system images with the dex preopt pass running in the emulator with the minimum amount of fuss.
* Allow skins to provide a "dpad-rotation" field for each layout.David 'Digit' Turner2009-09-198-128/+180
| | | | | | | | | | This is used to deal with the fact that the framework *always* assumes that the physical DPad is rotated in landscaped mode, while the default skin no longer does that. NOTE: tested on old skin files for backwards compatibility. (Upcoming skin fixes coming in another patch)
* Merge upstream QEMU 10.0.50 into the Android source tree.David 'Digit' Turner2009-09-149-25/+71
| | | | | | | | | | | | | | | | | | | 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 two new hardware properties to control AVD partition sizes.David 'Digit' Turner2009-08-285-21/+169
| | | | | | | | | | | | | | | | | | | | | | | disk.systemPartition.size (default 66MB) disk.dataPartition.size (default 66MB) If the emulator detects that an image file is larger than the corresponding setting, it will do the following: - for AVDs running from the SDK, an error message will be printed and the emulator aborts. Note that this can only happen if there are some serious mis-configuration of AVDs anyway. - when launching the emulator from the Android build system, a warning will be printed, and the partition size will be automatically adjusted at launch. Previously, trying to launch an over-sized system image would result in the emulated system booting, but then failing to find certain files, depending on how the yaffs2 disk images are built. This caused hard-to-debug issues. Note that the option -partition-size <size> can be used to override the AVD's setting at runtime.
* Fix F2/PageUp to properly generate an emulated Menu key press.David 'Digit' Turner2009-08-211-1/+1
| | | | | | | | | | | | | | | | This bug was introduced by previous changes to hw/goldfish_events_device.c where the list of valid key scancodes reported by the kernel was restricted to KEY_SOFT1 but not KEY_MENU. KEY_SOFT1 is the scan-code used to represent a press of the Menu key on the emulated device. KEY_MENU is some Linux thing that is confusingly unrelated. Before we filtered out KEY_MENU, the framework or keymap was capable of transforming KEY_MENU into the proper kKeyCodeMenu at runtime. But the event filtering added in goldfish_events_device.c meant that KEY_MENU was never passed by the kernel to user-space. The fix is simply to generate KEY_SOFT1 for emulated Menu key presses.
* Fix EsounD audio backend and bump version number.David 'Digit' Turner2009-08-212-13/+1
| | | | | | | | | | | | | | | | | | | | | The original esdaudio.c file from upstream contains a nasty race condition that can be triggered when the emulator exists while the audio record thread is in a blocking read() call. In this case, exit() will end up calling esd_fini_in which will try to pthread_join() the blocked thread, resulting in a dead-lock. This change just gets rid of the helper threads and just performs audio output and input in the main event loop, avoiding blocking i/o completely. I haven't experienced any difference compared to the original one, be it in audio lag or CPU usage when playing a simple MP3 file in the emulated system. The change also updates the update-audio.sh script since we don't store our sources in p4 anymore. A small fix in common.sh deals removes an obsolete special case that is not needed anymore when determining the location of the host prebuilt binaries. The version number is also bumped to 1.12 and CHANGES.TXT updated accordingly.
* Shorten the title of the emulator to only contain very relevant info.Xavier Ducrohet2009-08-111-3/+3
| | | | BUG: 2044596
* Add KEY_XXX values to console "event send EV_KEY:<name>:<value>"David 'Digit' Turner2009-07-302-82/+430
| | | | | | This also modifies hw-events.c because EV_KEY has both BTN_XXX and KEY_YYY labels that must be accounted for in the list.
* Fix ANDROID_SDK_HOME handling on Unix (the env. var was ignored)David 'Digit' Turner2009-07-244-7/+14
| | | | | | | | Bump version number to 1.11 in android/android.h Update CHANGES.TXT to reflect SDK 1.5_r3 changes Update some comments in android/boot-properties.[hc] Add a --debug option to android-configure.sh (and android-rebuild.sh) to build a unoptimized debug version of the standalone emulator binary.
* Add a new hw.lcd.density hardware property to AVD configuration files.David 'Digit' Turner2009-06-195-1/+73
| | | | | | | | | | | This value can be overriden with the already existing -dpi-device <value> option. The value is mapped to one of 120,160 and 240, then set to the boot-time property named qemu.sf.lcd_density used by the framework to properly select assets and/or resize them at runtime. This means that "emulator -dpi-device 130" will select 120 lcd_density, or "emulator -dpi-device 220" will select a 240 one.
* This fixes the hardware emulation to support several clients listeningDavid 'Digit' Turner2009-06-121-153/+238
| | | | | | | | | | | to the "sensors" service at the same time. Each client can decide to listen to different sensors, with different delays too. The previous implementation only allowed a single client, which blocked anything application that tried to read the sensors (since the framework was already the only allowed client) Signed-off-by: David 'Digit' Turner <digit@google.com>
* Add our modified SDL sources under distrib/sdl-1.2.12David 'Digit' Turner2009-06-087-396/+545
| | | | | | Fix distrib/make-distrib.sh script to work with git Fix distrib/build-emulator.sh to accomodate for new SDL configure script Handle Tiger SDK usage in SDL configure script
* Bump version number and update ChangeLogDavid 'Digit' Turner2009-06-011-1/+1
|
* Allow emulator skins to provide a button for the "search" hardware scan-code.David 'Digit' Turner2009-05-261-0/+1
| | | | This is different from using the F5 default key-binding that generates the same thing.
* This adds the '-prop <name>=<value>' option which is used to setDavid 'Digit' Turner2009-05-2611-20/+409
| | | | | | | | | | boot-time system properties from the command line. This is done by implementing a new 'boot-properties' qemud service in the emulator. This is to be used by the 'qemu-props' helper program that will be invoked by /system/etc/init.goldfish.rc to read a list of system properties from the emulator and set them in the emulated system during boot.
* AI 146315: am: CL 146314 modify GSM emulation to accomodate 1.0 and 1.1 ↵David Turner2009-04-151-0/+7
| | | | | | | | | | | system images. without this, networking doesn't work well when using the 1.1 add-on with the cupcake sdk Original author: digit Merged from: //branches/cupcake/... Automated import of CL 146315
* AI 145976: am: CL 145806 Add qemud-version auto-detection logic to ↵David Turner2009-04-133-91/+241
| | | | | | | | | | | | | | | | android/hw-qemud.c Document the supported QEMUD services in known Android systems Print "Press F6 to exit trackball mode..." in the window title bar when one activates the persistent trackball mode. The actual text depends on your key binding configuration. Refine the skin directory auto-search paths when an AVD name is not given on the command line. This makes the following work correctly: tools/emulator -sysdir platforms/android-1.5/images -data foo.img Original author: digit Merged from: //branches/cupcake/... Automated import of CL 145976
* AI 145975: am: CL 145805 Fix a bug in android/console.c that prevented the ↵David Turner2009-04-131-1/+1
| | | | | | | | | | console "redir add" command from working properly Fix a bug in sock_address_init_resolve which caused a crashed when getaddrinfo() returned an error. Original author: digit Merged from: //branches/cupcake/... Automated import of CL 145975
* AI 144596: am: CL 144595 Fix the AVD configuration code to support ↵David Turner2009-04-053-48/+68
| | | | | | | | | | | | | | "sdcard.path" in config.ini to indicate an explicit SD Card image file (instead of using the one in the content directory) Note that this also fix a bug where the SD Card image was not properly locked in the previous implementation. Allow the http-proxy support code to actually manage to receive chunked encoding data, instead of complaining needlessly. Introduce a new CharBuffer object that is used indirectly by "-radio <hostdevice>" and "-gps <hostdevice>" options Add new documentation for QEMUD and CharDriverState objects Update the Audio documentation with ASCII graphics (because I'm an artist too) Original author: digit Merged from: //branches/cupcake/... Automated import of CL 144596
* AI 143179: am: CL 142901 Avoid a segmentation fault in the emulator when ↵David Turner2009-03-271-0/+1
| | | | | | | | | | trying to use an AVD while ANDROID_PRODUCT_OUT is not defined. Argh.. Original author: digit Merged from: //branches/cupcake/... Automated import of CL 143179
* Automated import from //branches/donutburger/...@142528,142528David Turner2009-03-254-32/+33
|
* auto import from //branches/cupcake_rel/...@140373The Android Open Source Project2009-03-1811-567/+1793
|
* auto import from //branches/cupcake_rel/...@138607The Android Open Source Project2009-03-135-4/+26
|
* auto import from //branches/cupcake/...@137873The Android Open Source Project2009-03-116-217/+6
|
* auto import from //depot/cupcake/@136594The Android Open Source Project2009-03-053-494/+34
|
* auto import from //depot/cupcake/@135843The Android Open Source Project2009-03-03101-0/+35816
|
* auto import from //depot/cupcake/@135843The Android Open Source Project2009-03-0399-35096/+0
|
* auto import from //depot/cupcake/@132589The Android Open Source Project2009-03-0311-1054/+334
|
* auto import from //depot/cupcake/@137055The Android Open Source Project2009-03-0211-334/+1054
|
* auto import from //branches/cupcake/...@131421The Android Open Source Project2009-02-131-2/+2
|
* auto import from //branches/cupcake/...@130745The Android Open Source Project2009-02-1088-223/+31769
|
* auto import from //branches/cupcake/...@127101The Android Open Source Project2009-01-201-1/+1
|
* auto import from //branches/cupcake/...@126645The Android Open Source Project2009-01-151-16/+38
|
* auto import from //branches/cupcake/...@125939The Android Open Source Project2009-01-095-11/+10
|
* Code drop from //branches/cupcake/...@124589The Android Open Source Project2008-12-1722-0/+3469
|