aboutsummaryrefslogtreecommitdiffstats
path: root/android/avd/info.c
Commit message (Collapse)AuthorAgeFilesLines
* Fix skin issue when launching emulator from tree.Xavier Ducrohet2012-04-191-2/+15
| | | | | | | | | | | When launching the emulator with just -skin from the dev tree the fake AVD was not using the hardware.ini config from the skin due to creating it before resolving skinDir and skinName from the command line options. This change updates the AVD after doing so. Change-Id: Ia0912d72775e26f080f763b29629a3691c253c43
* Fix snapshot autoconfigVladimir Chtchetkine2012-03-141-0/+9
| | | | | | | | | | This CL should fix external issue 26839, where system gets loaded from a snapshot even it is explicitly disabled in config.ini. The reason for that was a bug in autoconfig generator that didn't respect config.ini settings for snapshot. Change-Id: I617e9de7f7472f8d5b75d544f81c5b160f81c2f8
* Reference kernels from their new locationJean-Baptiste Queru2012-01-051-1/+1
|
* Implement ADB communication over QEMU pipeVladimir Chtchetkine2011-12-131-0/+5
| | | | Change-Id: I62ff5898c7a955aaaa8af8f7ee7ed018af860f80
* Revert "Revert "Merge c80340 from master to r13: Move charmap to hardware ↵Xavier Ducrohet2011-08-221-0/+19
| | | | | | | | | | | | | properties"..." This reverts commit cccd28ca5064a7bd14282cd774ee5bb7126d5845. c80340 add a CL to tools_r13 that broken the build. It was therefore reverted with cccd28. This revert was merged into tools_r13 but shouldn't have been. This reverts the revert to put back the CL in master. Change-Id: I95fcefedb77596cfdf76269f248b2ae80c85c830
* merge from tools_r13The Android Open-Source Project2011-08-111-19/+0
|\ | | | | | | Change-Id: Iabd0b49a5c3ad991da1b4f636ecdf881b1c271aa
| * Revert "Merge c80340 from master to r13: Move charmap to hardware ↵Xavier Ducrohet2011-08-111-19/+0
| | | | | | | | | | | | | | | | properties". do not merge. This reverts commit f490aee025b3bab5bcdb065e5fc1b1abecf16b97. Change-Id: I59a0b2aebc8ab2b788a820a206c6eb4fc6e6e6d2
| * Merge c80340 from master to r13: Move charmap to hardware propertiesDavid 'Digit' Turner2011-08-051-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The name of the emulated charmap must be passed to the guest kernel because it is used by the guest input handling code to load the proper charmap files from the system partition. This mandates that the name becomes a hardware property for the sake of supporting proper snapshotting and ui/core separation. From now on, the charmap name found in a skin will be ignored completely. This shouldn't be a problem in practice because all skins used the default name (qwerty2) anyway. The only reason to change the default value would be if emulating a guest system image that depends on a different charmap during emulation. Change-Id: If571684000b159ae9e9849661c9ff18e19b4cc75
| * Fix -sysdir handling.David 'Digit' Turner2011-08-041-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a back-port from master to tools_r13 This patch fixes the processing of the -sysdir option. Previously, using -sysdir <path> would imply that the -system <path>/<path>/system.img is used, which is incorrect. Also fixes the skin search for the case where we are using the emulator without a pre-existing AVD outside of platform builds (e.g. when running tests). This happens with stuff like: emulator -sysdir /path/to/known/sdk/platforms/<name>/images The patch ensures that the /path/to/known/sdk/platforms/<name>/skins directory is probed (this was the behaviour of the Tools R11 emulator). Change-Id: Ibf7ad97de8e1da375f1049600807e0b3d30bfaaa Orig-Change-Id: I32398bec0d7a28ead234f63c847d3ec95ed14b63 Orig-Change-Id: Id77ea9bdc55bb99c1bfbd2ade291ec41f31ec65d
* | Move charmap to hardware propertiesDavid 'Digit' Turner2011-07-071-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The name of the emulated charmap must be passed to the guest kernel because it is used by the guest input handling code to load the proper charmap files from the system partition. This mandates that the name becomes a hardware property for the sake of supporting proper snapshotting and ui/core separation. From now on, the charmap name found in a skin will be ignored completely. This shouldn't be a problem in practice because all skins used the default name (qwerty2) anyway. The only reason to change the default value would be if emulating a guest system image that depends on a different charmap during emulation. Change-Id: If571684000b159ae9e9849661c9ff18e19b4cc75
* | Fix -sysdir handling.David 'Digit' Turner2011-06-231-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch fixes the processing of the -sysdir option. Previously, using -sysdir <path> would imply that the -system <path>/<path>/system.img is used, which is incorrect. Also fixes the skin search for the case where we are using the emulator without a pre-existing AVD outside of platform builds (e.g. when running tests). This happens with stuff like: emulator -sysdir /path/to/known/sdk/platforms/<name>/images The patch ensures that the /path/to/known/sdk/platforms/<name>/skins directory is probed (this was the behaviour of the Tools R11 emulator). Change-Id: I32398bec0d7a28ead234f63c847d3ec95ed14b63
* | arm: Automic ARMv7-A support for platform builds.David 'Digit' Turner2011-06-161-2/+23
|/ | | | | | | | | | | | | | | | | This patches forces the emulator-arm program to emulate a Cortex A8 when it detects that it is launching a platform build that was built for the ARMv7-A architecture. This is done by parsing the build.prop file and comparing the target ABI to the value 'armeabi-v7a'. When this is the case, this will also automatically adjust which prebuilt kernel image is selected from the Android tree. Note that nothing is changed for SDK AVDs in this change. They will still need to define 'hw.cpu.model = cortex-a8' in their config.ini to enable ARMv7-A support. Change-Id: Ibba2a9a4bafbea3c33cb2dd365a881d488de15a9
* Add 'emulator' launcher program.David 'Digit' Turner2011-05-021-220/+6
| | | | | | | | | | | | | | | | | | | | | | | 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
* Set hw.keyboard.lid default value to false for API level >= 12David 'Digit' Turner2011-03-221-53/+195
| | | | | | | | | | | | | | | | | | | | | This patch modifies the emulator to extract the target API level for the AVD or the current platform release, and use it to set the default value of hw.keyboard.lid. This will *not* affect any existing AVD/platform that sets the value explicitely in its config.ini (for AVDs) or hardware.ini (for platform builds). The change is beneficial for platform builds targetting API level >= 12, because the input framework changed its the window orientation behaviour depending on the availability of a hardware lid. In short, this allows platform builds to be correctly oriented, even if they don't provide a custom hardware.ini. Fix for bug 4128604 Change-Id: I195135aae6f3c4cc11d2f01e1293f3cd6cad2f58
* Move data partition initialization to core.David 'Digit' Turner2011-03-011-465/+15
| | | | Change-Id: I3c2b4668593391026da028194503fc87246e44ba
* Move system image initialization to core.David 'Digit' Turner2011-03-011-42/+8
| | | | Change-Id: Ic8da3ccaed9bab7dbb44c0bb341b0dba20b90980
* Move snapshot storage initialization to the core.David 'Digit' Turner2011-03-011-17/+7
| | | | Change-Id: I2c2b782fe4711cc8c323433e7976222b878cf679
* Move the SD Card initialization to the core.David 'Digit' Turner2011-03-011-18/+23
| | | | Change-Id: I2c8fa2a7df3d79ed4222296a93b787994a8ee11d
* Move cache partition initialization to core.David 'Digit' Turner2011-03-011-33/+12
| | | | Change-Id: I1f887e6f8fc38e43b1fff3f7bab3814b52542762
* Move kernel/ramdisk initialization to the core.David 'Digit' Turner2011-03-011-35/+47
| | | | | | | The QEMU -kernel, -initrd and -append options are still supported for overriding the hardware configuration. Change-Id: I034d9e25d0a23341086aa052f449db5de50b2c8d
* Rework AvdInfo processing.David 'Digit' Turner2011-03-011-506/+598
| | | | | | | | | | | | | | | | | | | | | This patch changes the code in android/avd/info.c to prepare for future patches that will move initialization disk images to the core (including locking and creating temporary files). + Remove AvdInfo structure dependencies on many of the functions, to make them more generic/usable. + Remove skin-related processing from avdInfo_new() and avdInfo_newFromBuild(). + Remove avdInfo_getSkinName() and avdInfo_getSkinDir(), and replace them with a single avdInfo_getSkinInfo(). + Rename 'qemu-hardware.ini' to 'hardware-qemu.ini' to follow the same naming convention than the one used for disk images (e.g. "userdata-qemu.img" and "system-qemu.img") Change-Id: I32cb0a5850f8c0b9df93d2630552941fd2b461c1
* Remove CONFIG_ANDROID_SNAPSHOTS macro.David 'Digit' Turner2011-03-011-8/+0
| | | | | | The feature is no longer optional. Change-Id: I4558f12e3804e42069e8a3e6bcf0837d350206ed
* Remove target-specific hard-coded macro.David 'Digit' Turner2011-02-231-8/+74
| | | | | | | | | | | | | | | This removes the hard-coding of the prebuilt architecture path in android/avd/info.c, in order to build a single version of this source that can work with any supported architectures. NOTE: The target architeture is only useful in the case of the Android build system. We check the target arch by parsing $ANDROID_PRODUCT_OUT/system/build.prop and look for a line that looks like: ro.product.cpu.abi=<abi> Change-Id: I4e573343fa532e66eb034c895a5759754f2d1aef
* Add hw.keyboard.lidDavid 'Digit' Turner2011-02-101-4/+4
| | | | | | | | | | | This is used to control the lid switch virtual device. + Add support for a "version <number>" field to the skin format. This will later be used for skin format #3. + Fix a bug where string hw properties didn't work/compile Change-Id: I678a0988d2cd24169dd0c2ece96e7ab0b2822104
* Write the core hardware configuration file to AVD's content directory.David 'Digit' Turner2011-02-101-17/+48
| | | | | | | | | | | | | Do not write the core's hardware configuration file to a temporary file. Instead, stored it under the AVD's content directory with the name qemu-hardware.ini. For platform builds, use $ANDROID_PRODUCT_OUT/qemu-hardware.ini The purpose of this auto-generated file is to contain all hardware configuration required to properly launch a core from the UI. Further patches will get rid of special core command-line options (e.g. -android-gui) and rely on the content of this file, by adding new hw properties. Change-Id: Id761151c8c8990f1cfa7380779b720080f49469f
* Revert "Build arm and x86 binaries at the same time."Xavier Ducrohet2011-02-091-9/+12
| | | | | | 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-12/+9
| | | | Change-Id: I105c5a097c988cb964b47b40b71c7a08af0d9210
* x86: Add x86 support. Rebase the change (20906/1) due to a minor conflict.Jun Nakajima2011-02-021-0/+5
| | | | | | | 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>
* Create user data image using the initial user data imageOrjan Percy2011-01-281-1/+0
| | | | | | | | | | Starting the emulator with a new AVD should create a new user data image (userdata-qemu.img) as a copy of existing user data image (userdata.img). This is not done since the flag IMAGE_EMPTY_IF_MISSING will cause the user data image to be reset. By not setting the flag the user data is initialized in the way documented in code and on-line help. Change-Id: I787bcbc904f79edf241fbacb7446f459fc5f2ad0
* Make the emulator find the skins in their new location.Xavier Ducrohet2011-01-071-1/+1
| | | | Change-Id: Ib5c43306376e51a2a0866868f990ca8c8899ae7a
* Load state snapshot rather than booting to start emulator.Ot ten Thije2010-10-221-23/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* When running from the Android build system and no skin is definedJeff Hamilton2010-04-271-3/+18
| | | | | | on the command line check for a skin in $ANDROID_PRODUCT_OUT/skin. Change-Id: I776aa481b38bd4e48982fdb5c032a10c970576a8
* Revert previous patch to fix SD Card emulationDavid 'Digit' Turner2010-04-151-39/+23
| | | | | | | | | | | The previous patch modifies SD Card hardware emulation in a way that is not backwards compatible with previous SDK platform releases. This has the unfortunate effect of making SD Card emulation not work properly when running existing AVDs. Reverting the patch until we get a better one. Change-Id: I82dac87709d88aa3bd292bf2ed0008ae74d95853
* Automatically parse a file named 'hardware.ini' if it is foundDavid 'Digit' Turner2010-04-061-0/+35
| | | | | | in the skin directory, and we are using the Android build system. Change-Id: I62480314f73ae60e769c113d6e4421e9946bb818
* qemu: android: Add support for multiple SD cardsSan Mehat2009-12-071-23/+39
| | | | | | | | | | | | | | | | | | | | | | | | Add commandline support for an additional SD card, and plumb support to the MMC emulation layer. This patch also reworks the way the hw emulation layer registers devices. Previously, the mmc virtual hardware was only created if the sdcard image existed. Now, two virtual MMC controllers are *always* created as on real hardware. When a request is made to one of our controllers which has no image file bound to it, a new interrupt status indicating a command timeout is sent to the guest driver, as is standard with MMC controllers. This patch also sets the stage for supporting hot-add / hot-remove. Signed-off-by: San Mehat <san@google.com> qemu: android: Integrate card detect into the virtual mmc hardware and wire it up to the STATE_CHANGE irq status Signed-off-by: San Mehat <san@google.com> fixups from review - mmc now works with legacy drivers Signed-off-by: San Mehat <san@google.com>
* Fix location of prebuilt skins.Xavier Ducrohet2009-11-201-1/+1
| | | | Change-Id: I3ce440cff624138518dc410c304353bea1ecef91
* Added two new hardware properties to control AVD partition sizes.David 'Digit' Turner2009-08-281-0/+15
| | | | | | | | | | | | | | | | | | | | | | | 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.
* AI 146184: am: CL 145976 am: CL 145806 Add qemud-version auto-detection ↵David Turner2009-04-141-3/+12
| | | | | | | | | | | | | | | | | logic to 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/... Original author: android-build Automated import of CL 146184
* AI 144597: am: CL 144596 am: CL 144595 Fix the AVD configuration code to ↵David Turner2009-04-051-2/+32
| | | | | | | | | | | | | | | support "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/... Original author: android-build Automated import of CL 144597
* AI 143329: am: CL 143179 am: CL 142901 Avoid a segmentation fault in the ↵David Turner2009-03-271-0/+1
| | | | | | | | | | | | emulator when trying to use an AVD while ANDROID_PRODUCT_OUT is not defined. Argh.. Original author: digit Merged from: //branches/cupcake/... Original author: android-build Merged from: //branches/donutburger/... Automated import of CL 143329
* Automated import from //branches/master/...@142679,142679David Turner2009-03-251-1/+11
|
* auto import from //depot/cupcake/@136594The Android Open Source Project2009-03-051-488/+11
|
* auto import from //depot/cupcake/@135843The Android Open Source Project2009-03-031-0/+1865
|
* auto import from //depot/cupcake/@135843The Android Open Source Project2009-03-031-1585/+0
|
* auto import from //depot/cupcake/@132589The Android Open Source Project2009-03-031-414/+134
|
* auto import from //depot/cupcake/@137055The Android Open Source Project2009-03-021-134/+414
|
* 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-101-0/+1585