History log of /external/qemu/android/main.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
741dc13597ac064e6a48bb2a6ec069cbc1cd0dbb 09-May-2012 Bhanu Chetlapalli <bhanu@mips.com> [MIPS] Add Goldfish target support

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>
/external/qemu/android/main.c
6f50aa39e741a1d1f3081665d0b7f8d56b7b793c 26-Apr-2012 Vladimir Chtchetkine <vchtchetkine@google.com> Add an option to set custom size for cache partition

Change-Id: I1be43697ee04f46c5839c4d23e461d54eefc450f
/external/qemu/android/main.c
6c6413d40ea9b8a658f4f1f2fa7303736fd156c6 19-Apr-2012 Xavier Ducrohet <xav@android.com> Merge "Fix skin issue when launching emulator from tree."
689d1147b1994be1d8e33ee4d1a8ec76742bb4a6 19-Apr-2012 Xavier Ducrohet <xav@android.com> Fix skin issue when launching emulator from tree.

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
/external/qemu/android/main.c
88078b8875dab47abf9fe80488503f60d9835eaf 19-Apr-2012 Vladimir Chtchetkine <vchtchetkine@google.com> Increate default partition size to 200MB

Change-Id: I2996197e7ec4c36c7e46b35edab5b10d7f103c10
/external/qemu/android/main.c
7485c2989d727a1d0c14a66fb75e140f885a1583 19-Mar-2012 Vladimir Chtchetkine <vchtchetkine@google.com> Refactor HW config to use hw.camera_back, and hw.camera_front properties.

This is a continuation of an effort to simplify HW config, and make the UI for it clearer.
This CL gets rid of multiple camera emulation properties, combining everything into just
two properties:
- hw.camera_back that controls emulation of a camera facing back, and
- hw.camera_front that controls emulation of a camera facing front.

Change-Id: Ia114ae4caf2053685cbff00f39088e5b5be2952c
/external/qemu/android/main.c
863d1010d9c8fa4342b1b0ea860bcfb096806acc 16-Mar-2012 Vladimir Chtchetkine <vchtchetkine@google.com> Cleanup harware properties.

1. Remove unused hw.camera.maxHorizontalPixels, and hw.camera.maxVerticalPixels parameters.
2. Combine hw.touchScreen, and hw.multiTouch under one property: hw.screen

Change-Id: I3cdf64f7d7e46486110cbc0769f9d98a61f0bea5
/external/qemu/android/main.c
facee1d1d0c3029915f5443c788cd32b9f5b9c83 16-Mar-2012 Andrew Hsieh <andrewhsieh@google.com> Merge "64-bit emulator"
a89252fb1e98161e9c5d4c1506eddda7dc93e6f8 14-Mar-2012 Vladimir Chtchetkine <vchtchetkine@google.com> Merge "Fix snapshot autoconfig"
873c3cb5688092d2822837511cfb2b330d265801 14-Mar-2012 Vladimir Chtchetkine <vchtchetkine@google.com> Fix snapshot autoconfig

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
/external/qemu/android/main.c
c7389bd69e570a2c8432b37399aff1976b021f0f 13-Mar-2012 Andrew Hsieh <andrewhsieh@google.com> 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
/external/qemu/android/main.c
d4f5a3ae87a7246613188940c1667bf2880da402 08-Mar-2012 Vladimir Chtchetkine <vchtchetkine@google.com> Increase default partition size, and fix data partition size calculation.

There is a (reasonable) demand from android development comunity to increase default
data partition size. It seems that 66MB doesn't match anymore user needs. So, with this
CL default data partition size will be increased to 12MB.

This CL also fixes a bug where data partition size set by the AVD manager has been wrongly
treated as an MB value, while it was a byte value.

Change-Id: I27c456a71299aff42bd4ca573d3660292a7d1d44
/external/qemu/android/main.c
8dd31e8e10fc3ca10192368acf19d2345eeddde7 16-Feb-2012 Vladimir Chtchetkine <vchtchetkine@google.com> Multi-touch emulation support

Change-Id: I311dc55fe10f41637775baa330a7c732ff317f51
/external/qemu/android/main.c
9242b33d3545e6632d21c1f416794a9f5d385c45 10-Feb-2012 Vladimir Chtchetkine <vchtchetkine@google.com> Stop emulator when both, gpu and snapshots are on.

This is a temporary solution fixing emulator crash due to the difficulties in
implementing GPU state save to and reload from snapshot.

Change-Id: Id62830d3447538472d3c7a83ade97f4f09dfaa06
/external/qemu/android/main.c
db450d73092add519efddcd6d55c7a0e7541ec70 12-Jan-2012 Vladimir Chtchetkine <vchtchetkine@google.com> Respect HW configs when loading VM from snapshots.

Changing HW configuration properties may cause emulator / guest system crash on
condition that VM has been loaded from a snapshot. This CL addresses this issue
in the following way:

1. Each time a snapshot is saved, a backup copy of HW config is saved with it.
2. Each time a snapshot is loaded, emulator finds an appropriate HW config
backup, and compares current HW config with the one that was saved in the
backup, and if configs are different, emulator exits with an appropriate
error.

Change-Id: I730bec0afbe166e88189fdcc4804b76e109e4422
/external/qemu/android/main.c
f8675c20db7625adc69800ca4ac54e72846ac9a8 06-Jan-2012 Vladimir Chtchetkine <vchtchetkine@google.com> Respect 'camera' flag in AVD

Turns of webcam emulation on condition that 'camera' AVD property is set to 'false'.
Note that command line options (-webcam) will enable webcam emulation even if
'camera' AVD property is set to 'false'

Change-Id: I493446f1d12b732ed49f9a5a9967b87b31b180f6
/external/qemu/android/main.c
33f89d05b375f18596fa5892acaaae356fbb0c0e 28-Sep-2011 Vladimir Chtchetkine <vchtchetkine@google.com> Fix CPU architecture reported in HW config

Change-Id: I9221916514a39435d2710fa9dada92a87bdc4dab
/external/qemu/android/main.c
b8dcaffaf7dcb0c795d2776abf3bb75196f8527c 17-Sep-2011 Vladimir Chtchetkine <vchtchetkine@google.com> Add -webcam commandline option to control webcam emulation

-webcam name=<name>[,dir=<direction>] options controls web cameras to use for emulation.

Change-Id: I961fd399c7e041541adda040dd24f194cc383cb9
/external/qemu/android/main.c
ae0d8136ce0d3c39ca80c64763e633b86b0c5453 13-Sep-2011 Vladimir Chtchetkine <vchtchetkine@google.com> Add cmdline param to control fake camera emulation

- Enable / Disable fake camera
- Set fake camera facing direction: back, or front

Change-Id: Iab741a694daf2bf752e91e23df566a83ac7a97e7
/external/qemu/android/main.c
9da935dd0c616cfd9072d11080a622320497dc9e 12-Sep-2011 David Turner <digit@android.com> Add -gpu <mode> option to force GPU emulation

By default, GPU emulation is still disabled. You can
still try to force it with '-gpu on' for experimentation
purpose (alternatively, you can define hw.gpu.enabled to
'true' in your AVD config.ini)

Change-Id: I87efdf45337a80aeadd94b3922312b3f564c1608
/external/qemu/android/main.c
9ff69721d24f81317183ddb2e9e352bb34650752 13-Sep-2011 David 'Digit' Turner <digit@google.com> Fix -ramdisk option handling.

For some reason, there was a bug, where the option was being ignored
if set from the command-line.

Change-Id: I61c6e3127b469f4ec661b834b15c4da0841551af
/external/qemu/android/main.c
72d561178e62b74923cfe3bc0faa59bcb07c57c3 12-Aug-2011 Xavier Ducrohet <xav@android.com> Revert "Revert "Merge c80340 from master to r13: Move charmap to hardware 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
/external/qemu/android/main.c
c462eb94f5e4f8b9dcb101ce4e4fcc714ddd7410 12-Aug-2011 The Android Open-Source Project <initial-contribution@android.com> merge from tools_r13

Change-Id: Iabd0b49a5c3ad991da1b4f636ecdf881b1c271aa
cccd28ca5064a7bd14282cd774ee5bb7126d5845 12-Aug-2011 Xavier Ducrohet <xav@android.com> Revert "Merge c80340 from master to r13: Move charmap to hardware properties". do not merge.

This reverts commit f490aee025b3bab5bcdb065e5fc1b1abecf16b97.

Change-Id: I59a0b2aebc8ab2b788a820a206c6eb4fc6e6e6d2
/external/qemu/android/main.c
f490aee025b3bab5bcdb065e5fc1b1abecf16b97 19-May-2011 David 'Digit' Turner <digit@android.com> Merge c80340 from master to r13: Move charmap to hardware properties

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
/external/qemu/android/main.c
41c787acecaa497b2ee5fd8297feb7be976d0f1d 23-Jun-2011 David 'Digit' Turner <digit@android.com> Fix -sysdir handling.

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
/external/qemu/android/main.c
e4a3bea51fc7b377234b5af7a6cecfd529962f2e 15-Jun-2011 Maciek Molerus <maciek@google.com> Fixes dataPartition size problem

This is a back-port from master to tools_r13

Fixes the problem when disk.systemPartition.size
avd setting gets overrided by default 66 MBytes
hardcoded in qEmu.

Change-Id: Ie15a820c60f48320ee8ca2ea60e4dcb65b762cf9
Orig-Change-Id: Ideb7ca172cb72076c83037f823b86ede2442d6f9
/external/qemu/android/main.c
ea2837728272b04bd236a74cd1ea547ec6f63c20 07-Jul-2011 David 'Digit' Turner <digit@android.com> Fix a small bug in the -sysdir handling.

The issue was that auto-configuration would set the value of -system
to point to the full path of the system image (e.g. <sysdir>/system.img).

Later, the emulator would try to load the <sysdir>/<sysdir>/system.img due
to this.

Change-Id: Id77ea9bdc55bb99c1bfbd2ade291ec41f31ec65d
/external/qemu/android/main.c
c803400d45535925fb35c373e2d610fde522c546 19-May-2011 David 'Digit' Turner <digit@android.com> Move charmap to hardware properties

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
/external/qemu/android/main.c
f758411e012389b1d9699e10cae6f1ac98cca419 15-Jun-2011 Maciek Molerus <maciek@google.com> Fixes dataPartition size problem

Fixes the problem when disk.systemPartition.size
avd setting gets overrided by default 66 MBytes
hardcoded in qEmu.

Change-Id: Ideb7ca172cb72076c83037f823b86ede2442d6f9
/external/qemu/android/main.c
2ed457ee5259b236bf39701404897f4c486326e8 15-Jun-2011 David 'Digit' Turner <digit@android.com> arm: Automic ARMv7-A support for platform builds.

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
/external/qemu/android/main.c
0a879bf9ba318562e41a1bd4a6f9547f124a9831 12-May-2011 David 'Digit' Turner <digit@android.com> Dump hardware config. with -verbose option.

This patch dumps the content of the hardware configuration
file when the -verbose option (or equivalent -debug-init)
is used.

This is useful to determine exactly what is launched when
debugging emulator issues.

Change-Id: I101b87cddb12c603b43420ea72bb357fc33f327d
/external/qemu/android/main.c
d80a7861fe5e21e3dcb80480a77b033e6b307dd5 05-May-2011 David 'Digit' Turner <digit@android.com> Fix -snapshot-list option.

This patch makes -snapshot-list work properly. More specifically:

- If the AVD has snapshotting enabled, the emulator will find the
appropriate file if you don't use -snapstorage.

- If the AVD has no snapshot support, the emulator will print
a user-friendly message to explain that.

- If you're in the Android build, the emulator indicates that
-snapstorage <file> is mandatory.

Bug 4384430

Change-Id: I472b12f50b7f7da5a282b24036083c7598fe48eb
/external/qemu/android/main.c
b64325d15d9e767c652491414c95f4fc148b0211 22-Mar-2011 David 'Digit' Turner <digit@android.com> Set hw.keyboard.lid default value to false for API level >= 12

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
/external/qemu/android/main.c
5e736937d49affc9131944d7c879246fbcba3b70 18-Mar-2011 David 'Digit' Turner <digit@android.com> Fix -shell and -logcat options.

They didn't work because the guest was trying to write to the wrong serial port.

Change-Id: Ibd68c4b63d0808afcb0cfaffa07c35898e21df9a
/external/qemu/android/main.c
53eb66db4eba72d2e4fc951456be725e14243f25 01-Mar-2011 David 'Digit' Turner <digit@android.com> Move AVD name initialization to the core.

Use a hardware property to send the AVD name to the core.
The -android-avdname core option is still supported though.

Change-Id: I4daac5c9fb65ed5261b5c04c1e1a18daed057a3f
/external/qemu/android/main.c
062dd6a8b90c7c553a6a7257e9c245276b1dd969 01-Mar-2011 David 'Digit' Turner <digit@android.com> Move some serial ports initialization to the core.

This moves the initialization of the ports used by qemud
and the "kmsg" component to the core.

+ Gets rid of the -old-system option used to suppot pre-1.4
Android system. We don't officially support anything before 1.5
anyway.

Change-Id: Ied7e284d952adfd3419d96c39a7c48761f1b3f5c
/external/qemu/android/main.c
fd59c330bec77e7b9241e478efb1e1c508480d1d 01-Mar-2011 David 'Digit' Turner <digit@android.com> Move data partition initialization to core.

Change-Id: I3c2b4668593391026da028194503fc87246e44ba
/external/qemu/android/main.c
40841b2d221273a08abfe20824e7631211ade31d 01-Mar-2011 David 'Digit' Turner <digit@android.com> Move system image initialization to core.

Change-Id: Ic8da3ccaed9bab7dbb44c0bb341b0dba20b90980
/external/qemu/android/main.c
5f64b873605baa5519211b0d47a53c93df9d4868 28-Feb-2011 David 'Digit' Turner <digit@android.com> Move snapshot storage initialization to the core.

Change-Id: I2c2b782fe4711cc8c323433e7976222b878cf679
/external/qemu/android/main.c
48a3c66361158678f476fc7c2eca2bef025eae62 01-Mar-2011 David 'Digit' Turner <digit@android.com> Move the SD Card initialization to the core.

Change-Id: I2c8fa2a7df3d79ed4222296a93b787994a8ee11d
/external/qemu/android/main.c
c480cca8d2007f5df62a7431beda310911b963e6 25-Feb-2011 David 'Digit' Turner <digit@android.com> Move cache partition initialization to core.

Change-Id: I1f887e6f8fc38e43b1fff3f7bab3814b52542762
/external/qemu/android/main.c
0b0194940523fa3f318c380d0693907bd522241c 01-Mar-2011 David 'Digit' Turner <digit@android.com> Move kernel/ramdisk initialization to the core.

The QEMU -kernel, -initrd and -append options are still supported for
overriding the hardware configuration.

Change-Id: I034d9e25d0a23341086aa052f449db5de50b2c8d
/external/qemu/android/main.c
25eb6557b94da066d6e137c07aeced39badf5aa6 25-Feb-2011 David 'Digit' Turner <digit@android.com> Rework AvdInfo processing.

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
/external/qemu/android/main.c
e5af8a259e619973538f393011b1c26a3e2f4afb 24-Feb-2011 David 'Digit' Turner <digit@android.com> Remove CONFIG_ANDROID_SNAPSHOTS macro.

The feature is no longer optional.

Change-Id: I4558f12e3804e42069e8a3e6bcf0837d350206ed
/external/qemu/android/main.c
092361e19ecc2992965729538984354099eea8cb 01-Mar-2011 David 'Digit' Turner <digit@android.com> Remove un-needed "-netspeed full" and "-netdelay none".

This patch removes the use of "-netspeed full" and "-netdelay none"
when starting a core, since these values correspond to the default.

Usually, these were triggered by the values found in the skin files.

Change-Id: I88944c6736dc721a8645b1c7d87bc0cb949feec4
/external/qemu/android/main.c
d543578f5d2e900ca9a95befaf15d49da163d5fb 01-Mar-2011 David 'Digit' Turner <digit@android.com> Remove un-needed -clock unix core option.

Remove the '-clock unix' used to start the core on Linux.
We do that by moving the problematic 'dynticks' clock to the
end of the list in qemu-timer.c.

The effect is that the unix clock will become the default
for normal usage. You can still use the dynticks one for
experimentation with -qemu -clock dynticks though.

Change-Id: Ia7a8b2b262c62e8b80a82d6dbadec25964774b57
/external/qemu/android/main.c
26d415322b75784f123d39f36616b8ebd1fbb359 01-Mar-2011 David 'Digit' Turner <digit@android.com> Prevent hardware-qemu.ini overwrites.

When launching two instances of the same AVD, we need to ensure that
we don't end-up overwriting the hardware-qemu.ini in the content
directory.

Note that this case is supported at the moment. Both the system and
data partition will be backed by a temporary file when this is detected.

Change-Id: I2c5d9195edc4c5be3b889c8da38cb1c7cae3662a
/external/qemu/android/main.c
26722dde31c3467cd31a078662810927eec05de5 24-Feb-2011 David 'Digit' Turner <digit@android.com> Quote concatenated QEMU options when -verbose is used.

Change-Id: I2d95fa0aa9a5f679372dfd1ae7c7cec906c3049d
/external/qemu/android/main.c
bdb6f2dd35a4c749186e665d55d7b76375d7e71d 23-Feb-2011 David 'Digit' Turner <digit@android.com> Remove android/main-ui.c

The differences between android/main.c and android/main-ui.c are now
minimal, so remove the latter source file by moving the corresponding
code into android/main-common.c

Also add a -snapshot-no-time-update core option to implement the
emulator-ui -no-snapshot-update-time option. We're probably going to
clean this up a little in the future, but this is enough for now.

Change-Id: I868bb4e47c3d106ae7436ee3f5b2c0ff5fb6ea5c
/external/qemu/android/main.c
462564f31bbdc9939bf1d2376e2782defa7ef655 23-Feb-2011 David 'Digit' Turner <digit@android.com> Minor cleanups for core/ui Makefile separation.

This patch contains minor cleanups that will be needed by
a few future patches that will improve the way core and ui
sources are separated and built.

- remove a few compiler warnings
- formatting
- remove the memcheck CONFIG_MEMCHECK checks (they later get in the way)
- refine hw/hw.h inclusion's of cpu.h (this comes from upstream)
- add missing definitions for PRUd64 and PRUx64 (used later)
- remove CONFIG_SHAPER test, replace with CONFIG_ANDROID instead.
- add missing strdup() calls.

Change-Id: Ic7d6681a51af718c298f0ee4bd884b1d8750f28e
/external/qemu/android/main.c
83ffd66e78d290aa054ace5e484ae3766f638390 11-Feb-2011 Vladimir Chtchetkine <vchtchetkine@google.com> Stuff hardware configuration with paths to image / partition files

Change-Id: Id26cd578fc3faf1fee1a55f4999c3613e47c0e96
/external/qemu/android/main.c
2ee095966aba5003799675b2ccbb5d629dfc7dde 17-Feb-2011 The Android Open Source Project <initial-contribution@android.com> merge from tools_r10

Change-Id: I8730ebf34c07bf1a5167970ee1fdce4fb3094c54
6b8555cac04862908bf6c64565061f2c8e871ad7 17-Feb-2011 David 'Digit' Turner <digit@android.com> Fix "avd name" bug.

The console's 'avd name' command returned "unknown" incorrectly.
This was due to a missing option when invoking the core, even in
the standalone case.

Fixes bug 3454261

Change-Id: I7efcfc50792231f57dc76d3c11e7968faf057e12
NOTE: This is a quick fix for tools_r10. A proper fix should instead
move the AVD name to auto-generated qemu-hardware.ini instead of
using a core command-line option.
/external/qemu/android/main.c
5377c5bfde6ba62490417bb0a7d7c1be1151692e 10-Feb-2011 David 'Digit' Turner <digit@android.com> Correct auto-detection of default VM heap size.

This patch removes the need for the -m <memory> core option.
Instead, the RAM size is taken by default from qemu-hardware.ini.

Also, the default value of vm.heapSize is no longer 16MB, it is
now adjusted based on the RAM size (16/32/48 values)

+ Get rid of core -lcd-density option (use .ini file instead)

Change-Id: I93919926b61a132c7943a1bb2c41f7a3ab7f2d2f
/external/qemu/android/main.c
2507cab8a78fb609461a2b9cc4708bab60fc53a4 10-Feb-2011 David 'Digit' Turner <digit@android.com> Get rid of -android-gui core option.

Instead, pass all LCD configuration in qemu-hardware.ini.

+ Make the latter file mandatory to launch a core. You can easily
generate one by launching "emulator <options>" though.

Change-Id: I81a1938217562517e4c2bbb828aef934033c29a5
/external/qemu/android/main.c
42074e5e184aed78dee0efb14d7376325516c070 10-Feb-2011 David 'Digit' Turner <digit@android.com> Write the core hardware configuration file to AVD's content directory.

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
/external/qemu/android/main.c
fc8ed80ba1362d2ce500003625e1c9c39f765661 10-Feb-2011 Xavier Ducrohet <xav@android.com> Revert "Build arm and x86 binaries at the same time."

This fails to build on MacOS X

This reverts commit a39b10bd2574825a815d6ad854499dd127cfa9cb.
/external/qemu/android/main.c
a39b10bd2574825a815d6ad854499dd127cfa9cb 07-Feb-2011 David 'Digit' Turner <digit@android.com> Build arm and x86 binaries at the same time.

Change-Id: I105c5a097c988cb964b47b40b71c7a08af0d9210
/external/qemu/android/main.c
755811e67c266333807571f798b62b6916611f87 07-Feb-2011 David 'Digit' Turner <digit@android.com> Rename emulator_config_xxx to user_config_xxx

Change-Id: Icfcef72a02e388f2aa87b97f004ed43715fc9f30
/external/qemu/android/main.c
bac9add881e0b7cfa2da2b86242347c096329a4c 09-Feb-2011 Jun Nakajima <jnakajim@gmail.com> Fixing aborts caused by compute_fb_update_rect_linear() when the framebuffers
are large. Also, added a boot parameter for the goldfish kernel to use PIT,
rather than TSC.

Change-Id: I5824c7248e0c1a4c487aeb52da112d870846ae62
Signed-off-by: Jun Nakajima <jun.nakajima@intel.com>
/external/qemu/android/main.c
334ab475d2f27dbf6fbf836c2d4fb86dbb02a15c 03-Feb-2011 Jun Nakajima <jnakajim@gmail.com> x86: Add x86 support. Rebase the change (20906/1) due to a minor conflict.

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>
/external/qemu/android/main.c
e3fdd075ed97085b4201cb0c79609633b19bddcc 02-Feb-2011 David 'Digit' Turner <digit@android.com> Move framebuffer.h to android/

The QFrameBuffer is no used by QEMU-specific code anymore so it's
more logical to move it here.

Change-Id: Id49ff53dd49648000e7543652d66f7c03881a8cb
/external/qemu/android/main.c
74d7acec6643694132a127feb5ccadda7ea793d6 02-Feb-2011 David 'Digit' Turner <digit@android.com> Separate init_skinned_ui() into two functions.

This removes init_skinned_ui() and adds parse_skin_files() and init_sdl_ui().

The first function only parses skin files and options, and doesn't do anything
related to the UI.

The second function does setup the SDL UI after all options/skin processing has
been performed. We also modify main.c and main-ui.c to move the call to
init_sdl_ui() as far as possible after the options parsing.

+ Move core attachment code to the end of qemu_main() in main-ui.c

Change-Id: I2bf5f0a096d827ae1fee070a8fa45cbd4629d54f
/external/qemu/android/main.c
f845627c83ce6ce3e306f9b6842d1e30ef89ae97 02-Feb-2011 David 'Digit' Turner <digit@android.com> Move common main routines from into android-common.[hc]

This is a first step towards cleaning-up our initialization/startup code.

Change-Id: I2d4fbc5c2cd0181fb39a1a97a15650945038c3b9
/external/qemu/android/main.c
622f1530c8a6badfbcaf8c59976348678fbe248b 01-Feb-2011 David 'Digit' Turner <digit@android.com> Generate temporary hardware.ini from configuration settings.

This patch generates a temporary hardware.ini from the hardware
configuration. The idea is to move as much hw config info as possible
to a single file that the core can read.

Other patches will change how various config info is passed to the
core, from command-line options to the generated hardware.ini.
/external/qemu/android/main.c
3bbc919b70c78e0be6387d06faa90743deedb4dc 19-Jan-2011 David 'Digit' Turner <digit@android.com> Compute default memory size from screen size.

This change is used when using a magic skin (e.g. -skin 800x600)
or when using the full Android build system, in order to determine
a good default for the RAM size.

Change-Id: I900e28146592cdd3f0df9b3f1828b119309eea85
/external/qemu/android/main.c
3336176fc898915b7b5544f3a7c60ec2794507c3 19-Jan-2011 David 'Digit' Turner <digit@android.com> Print concatenated QEMU options with -verbose.

This makes it easier to launch the core (qemu-android) with the same
set of options than the stand-alone emulator.

Change-Id: I55d0007f83280ffc5b9a26adc1300472013ff93d
/external/qemu/android/main.c
97d795c955f8d261a0a5294d49ea06d5a473ed03 16-Jan-2011 David 'Digit' Turner <digit@android.com> Add support for 32-bit framebuffers.

This modifies the emulator so support 32-bit framebuffers.
You can create such a frame-buffer using one of these methods:

- Add a "bpp 32" line to the "display" element of your skin
- Use the new 'magic' skin option format: e.g. -skin 320x480x32

Note that the result will be hideous since the kernel driver still
thinks the hardware is only 16-bits. This will be addressed in a
later patch to hw/goldfish_fb.c and to the kernel driver
($KERNEL/drivers/video/goldfishfb.c)

Change-Id: I0fc700c4a4cb8521076605324e15ed34e5d01136
/external/qemu/android/main.c
90c6235ce7bdc6f7afbcfe56ea6f2c3d2b128447 13-Jan-2011 Vladimir Chtchetkine <vchtchetkine@google.com> Refining main-ui.c to better separate UI and core related initialization

The main reason for this is to clarify initialization for UI that starts core,
and UI that attaches to an existing core. In this CL I did:
- Removed -initdata option that seems obsolete (doesn't affect anything in the code)
- Passed through -timezone option that doesn't affect anything in the UI, and is needed
only in the core.
- Removed dependency on AVD info from the core (core needed only virtual device name)

Change-Id: Ie631249848a1b5b8d837c0c7b201a40ee7e4a367
/external/qemu/android/main.c
1306e385222558accba9a01fd93858f06dccf77e 02-Jan-2011 David 'Digit' Turner <digit@android.com> Remove obsolete -audio-in and -audio-out options.

Use -audio <backend> to select the audio driver.

Change-Id: I71c837e4c78241711be5f38ef9b03294a69145bd
/external/qemu/android/main.c
622b8f4c760b8c4479d28430f978bad8bb9ea32c 07-Dec-2010 Tim Baverstock <weasel@google.com> Send unsolicited time response to first signal strength query after loadvm

Change-Id: I9c6260493d42564ee3aa34799313368bb2de7d4d
/external/qemu/android/main.c
53d8a5c0c8fc087d16316a4399f5a773339c4956 02-Dec-2010 Tim Baverstock <weasel@google.com> Add -no-snapshot-load option to permit reboot.

This is a workaround for the emulator not being able to detect the guest's
power-down situation, and simply lingering like a zombie: on exit it's saved
as a zombie, and is restored as a zombie which isn't useful. Denying autoload
forces a reboot.

Change-Id: I48f32600f5ce18cd5c71aa01d1b71b382102f227
/external/qemu/android/main.c
24204cc964cf7d56b1a20c12ece08eecab1093fa 25-Nov-2010 Tim Baverstock <weasel@google.com> Augment the auto-loadvm behaviour with corresponding auto-savevm-on-exit behaviour.

Autosave fires when loadvm would have been tried - whether it succeeded or not - in
order to bootstrap from an empty snapshot file.

- New autosave behaviour inhibited with -no_snapshot_save flag.
- Underlying behaviour implemented with a new qemu option -savevm_on_exit

Change-Id: If64d89f004565ecbb431bc7e96ecc37e27876d67
/external/qemu/android/main.c
d2c51cfa819f995d7a285a15ccae9755480c0a54 24-Nov-2010 Vladimir Chtchetkine <vchtchetkine@google.com> Separate main.c used to build the emulator from main-ui.c used to build the UI

Change-Id: I1c7baeaa8447fe1df895869bfb6b74631b765845
/external/qemu/android/main.c
e654412d45c41d9dc83a87fce42f1d283fe0c55b 18-Nov-2010 David 'Digit' Turner <digit@android.com> Parallelize -list-cores implementation.

Modify the implementation of list_cores() to perform all 16
connection requests in parallel, using a generic looper and
and asyncConsoleConnector per probed port, with a global
timeout of half a second.

This is also a demonstration of the new asynchronous helpers.

Change-Id: Ib09adf44b00d0694ec29d7ed0b26b44eef77f88a
/external/qemu/android/main.c
9a33e8554225c82cd900208f88e8965bb085ab87 09-Nov-2010 Vladimir Chtchetkine <vchtchetkine@google.com> Implement -list-cores UI option

Also fixed a bug in iolooper-select.c (io_looper_del_write was buggy)
Also switched iolooper-select.c to use malloc/free instead of qemu_xxx

Change-Id: Ief47608f30a863d624af6363620e93e903cbdadc
/external/qemu/android/main.c
ae835acc2d1a8b4aaeb599add9cfc02ea5789eaf 18-Oct-2010 Ot ten Thije <ottenthije@google.com> Add command line flag to show list of snapshots.

This patch introduces the flag '-snapshot-list', which causes the
emulator to output a table of snapshots in the currently mounted
snapshot storage file.

The snapshot file is accessed with a very simple driver for the Qcow2
file system, independent of Qemu's block driver framework. This way,
the flag is available in the emulator-ui builds as well. Using Qemu's
framework would have resulted in adding a lot of Qemu dependencies to
the UI build, which we are explicitly trying to avoid.

Change-Id: I059b9ac53e2f8e051757a5c637761eccf8ea17cb
/external/qemu/android/main.c
353b3b1135563e2bcaf7797acfa35a2fe2d3a818 05-Oct-2010 Ot ten Thije <ottenthije@google.com> Load state snapshot rather than booting to start emulator.

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
/external/qemu/android/main.c
18fe86e8245878f3b7a2813bd59b8cfcf636e15c 19-Oct-2010 David 'Digit' Turner <digit@android.com> emulator-ui: Remove dependencies from qemu sources.

This change removes some QEMU-specifics that crept into the UI code.

Change-Id: Ib1974dc64e54a35dc0cd01aec1eb547a9263a0c8
/external/qemu/android/main.c
b25bf2a7477595aa54181874921086d4c0071c03 08-Sep-2010 Vladimir Chtchetkine <vchtchetkine@google.com> Passed boot properties from main to core as -boot-property parameters.

Change-Id: I56955fb13a073b15ee2a41fdfbd6845bfe65edc5
/external/qemu/android/main.c
cefa7443eb3d3e4bb134595f756145426d5613e3 01-Sep-2010 Vladimir Chtchetkine <vchtchetkine@google.com> Add android_port initialization in the core.

Also some minor cleanups to the ui <-> core stuff.

Change-Id: I7d64ec1aa694c027851b7e262b6e1b80bb6cef08
/external/qemu/android/main.c
318f17a0050e729bce8545463b657c1d62835b5e 27-Aug-2010 Vladimir Chtchetkine <vchtchetkine@google.com> Fixed dependency ob core data in android/help.c

Also moved along -tcpdump option

Change-Id: I9fc53e0dc6a86e9a880d6127bf2da3ac1d7ec58a
/external/qemu/android/main.c
e13168648d5947955e0fd4fbf396f891ae53921f 26-Aug-2010 Vladimir Chtchetkine <vchtchetkine@google.com> Moved nand and netspeed initialization from main to core.

Change-Id: Ide3914fa52f62f618d39ac20f02bce8185a6805a
/external/qemu/android/main.c
13f3b6c53817255217f40db289abace42c3c31a6 25-Aug-2010 Vladimir Chtchetkine <vchtchetkine@google.com> Cleaned up build script from rebuilding locally generated sources

Also passed along -show-kernel option to the emulator core

Change-Id: Ic606a7a9cdac677cbd5ce9ca1a9f1a2b16da4dfa
/external/qemu/android/main.c
b2438402d16ee4a0bb4b077d0ad0ef1d82b2a08c 24-Aug-2010 Vladimir Chtchetkine <vchtchetkine@google.com> Moved radio, gps and audio setup entirely into the core

Change-Id: I9d76bb3cd892b7b2b0713a27ff5477195c93ff36
/external/qemu/android/main.c
7fbf49776a98847a5f95325646f7eb5ff787423f 12-Aug-2010 Vladimir Chtchetkine <vchtchetkine@google.com> Cleanup stuff for the UI build

1. Move DNS server registration entirely to the core.
2. Move -memcheck option initialization entirely to the core.
3. Move qemu_help routine (used by both, Core and UI) to common qemu-help.c file.

Change-Id: I5e47e94bdc375f0e037ccc6bd88daeb5fa06d1cf
/external/qemu/android/main.c
b5365f32d7b1dcc6c3e9be7584ce8d4f68b3e7e1 09-Aug-2010 Vladimir Chtchetkine <vchtchetkine@google.com> Move memchecker initialization from main.c to vl-android.c (core)

Also move qemu-malloc.c to common CORE and UI sources

Change-Id: Ifd62ae247cc03700d85b5fc35072d73ac37cc570
/external/qemu/android/main.c
055ae42d36d9d78a7920f66ee2df485d81d24264 27-Jul-2010 David 'Digit' Turner <digit@android.com> Better separation of UI and Core sources for framebuffer emulation.

+ new document under docs/DISPLAY-STATE.TXT to explain what's happening.

Change-Id: Ia0d233377266212da49af932c7528f46f5feb92d
/external/qemu/android/main.c
43552dc4fa64aad0c9fdb8f4c92ae7ac79406596 22-Jul-2010 Vladimir Chtchetkine <vchtchetkine@google.com> Remove UI dependency from goldfish_event_device.c

Change-Id: Iea5edfbae0caff45161c814d631d35d2e6d61d1c
/external/qemu/android/main.c
2fa5173bd1ce7341c50adac676a317945f0969c7 16-Jul-2010 Vladimir Chtchetkine <vchtchetkine@google.com> Moved dependency on android_ui_set_window_scale to ui-core-protocol.h

Also cleaned up dependency on android_base_port variable

Change-Id: I8c1675a859e3d24e9bb174471dd03556c696aff1
/external/qemu/android/main.c
eb8382507c6b802f378cf940fae4775633c1d84e 15-Jul-2010 Vladimir Chtchetkine <vchtchetkine@google.com> Move net-related routines from main.c to net-android.c

Change-Id: If102220e6db913f4a51bb1809ce60f4bf24bdd6a
/external/qemu/android/main.c
7258f6b1539906849d02fa9f5e75360b0d01f48c 14-Jul-2010 Vladimir Chtchetkine <vchtchetkine@google.com> Finished shuffling files.

Change-Id: Ifb0a1458fa9aa5c5143e876242e03e1eee2044b9
/external/qemu/android/main.c
4057561d5414c89f0d9964017e9473b68643e865 08-Jul-2010 Vladimir Chtchetkine <vchtchetkine@google.com> Removed hw-control dependency from the UI.

qemulator_setup has been setting brighness callback via direct call to hw-control.
After the change callback is set via call to ui-core-protocol

Change-Id: Ib96887d47cf765f38f4a7ad39f4f39963d9fb90d
/external/qemu/android/main.c
d81e6d1ce722d7e561d495bbd4b137e728e25b83 16-Jun-2010 Vladimir Chtchetkine <vchtchetkine@google.com> Pass core-specific options to emulator core as cmd-line options.

Change-Id: I7ed897ca92c1344505f982897e2f59cc68c42d89
/external/qemu/android/main.c
111d6f8ed6dea6e651ab450e1ea11310ff0b2857 09-Jun-2010 Dries Harnie <botje.linux@gmail.com> Inter-emulator networking: add interfaces in the correct order

Change-Id: I9cab6f47bbde9f4dacdb2a426064af63eb4709c4
/external/qemu/android/main.c
34f2974ce7ec7c71beb47b5daf9089d5c8c40c79 26-May-2010 David 'Digit' Turner <digit@android.com> Add small user-event abstraction interface.

Preparation for future UI frontend/backend separation.

This is done to ensure that the code under android/skin/ does not depend
on any QEMU-specific header. We achieve this by adding a new abstract header
"user-events.h" and one QEMU-specific implementations for the functions
defined here.

This also modifies console.h and vl-android.c to make them closer to
upstream (by removing Android-specific changes).

+ fix Makefile.android to always build SDL from sources in standalone mode.

Change-Id: I0d152741e7bb2c9cd283f5c35bd054385c7c1eb3
/external/qemu/android/main.c
34d165185730eac6ddc4e7a23d192d22aa3d4dfb 19-May-2010 David 'Digit' Turner <digit@android.com> Build SDL from sources directly.

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
/external/qemu/android/main.c
40beab42ecdc4e2a79714b54c401feb0fb33b6d0 15-May-2010 Dries Harnie <botje.linux@gmail.com> Enable interconnection of emulators

This patch adds a -shared-net-id option to the emulator which
joins the emulator in a shared network.
If the option is given the emulator is started with an additional
network interface bound to a multicast socket. This multicast socket
emulates a network hub, interconnecting emulators.
If the -shared-net-id option is not given, nothing changes.

Change-Id: I0ea70a073cdbd34f804161300240fafca34080d0
/external/qemu/android/main.c
d27aca1c8172462c6e834c3c42582106b36aa422 13-May-2010 Vladimir Chtchetkine <vchtchetkine@google.com> Moved android_emulation_setup from android/main.c to android/qemu-setup.c

Change-Id: Ic66bb0d07e28088ae02055c88d37bfd00edea592
/external/qemu/android/main.c
0119362f0d74ca74f3ea743f6e0e527a9edcc474 11-May-2010 Vladimir Chtchetkine <vchtchetkine@google.com> Moved QEmulator out of main.c

Change-Id: I20964bb5d7fbef5ea22d265427793a2a7fce2017
/external/qemu/android/main.c
20894ae3fa98f82da925fbeb72e616eef509758a 11-May-2010 David 'Digit' Turner <digit@android.com> Upstream: HOST_WORDS_ALIGNED -> WORDS_ALIGNED

Change-Id: Ica9022695d83fb48a8c25fdb1e1f0dc1c63747ff
/external/qemu/android/main.c
c306052006efb151cc10c28ce2f0087b8ded5e1c 19-Apr-2010 The Android Open Source Project <initial-contribution@android.com> merge from tools_r6

Change-Id: I860d4b338cba9ea749797d6607b262c8072dd1f6
92568958dd42bf35667cc6451b5edd7f7d1f73a1 16-Apr-2010 David 'Digit' Turner <digit@google.com> Revert previous patch to fix SD Card emulation

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
/external/qemu/android/main.c
4c189f8aa64218fa21195e63842944e35eff222a 29-Mar-2010 Stefan Hilzinger <hilzinger@google.com> Making the port where adb is expected configurable.

Environment variable ANDROID_ADB_SERVER_PORT allows to control the port
the emulator expects adb to be listening on.

Change-Id: Ibe52c02829ac9a0308f2cf5da32a57ab773110f8
/external/qemu/android/main.c
5389aa19033153c09556d1362a8b8a56abccb8f5 16-Feb-2010 Vladimir Chtchetkine <vchtchetkine@google.com> Merge memory checking from sandbox

Change-id: Ibce845d0
/external/qemu/android/main.c
68a8f7b5ed6ee2bbbc7b67070b9c401c2276426f 05-Dec-2009 San Mehat <san@google.com> qemu: android: Add support for multiple SD cards

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>
/external/qemu/android/main.c
a383d02cb57dd7dadd382654175e51354073a139 03-Dec-2009 David 'Digit' Turner <digit@google.com> Extract emulator major version number from SDK Tools package revision.

The minor version number is now always 0, this makes the next
version number "5.0" currently in the eclair branch.
/external/qemu/android/main.c
8b657e5deaa03b989b0b36791fcf2aa6b2882656 01-Dec-2009 David 'Digit' Turner <digit@google.com> Fix a crash when using an 8MB SD Card image file.

The minimum size is now 9MB. This appears to be a limitation
of the emulated MMC hardware code and/or kernel device driver.
/external/qemu/android/main.c
49dcc4de79c93de65c20706b798353be1e840915 30-Oct-2009 David 'Digit' Turner <digit@google.com> Fix typo which prevented the computation of the default /data partition size
from working properly.
/external/qemu/android/main.c
def0e542c9cc004a7b83ff965103c34097c0960b 29-Oct-2009 David 'Digit' Turner <digit@google.com> Remove the disk partition size hardware properties.

Also remove the error/abort message in case an AVD's image files
are larger than the default.
/external/qemu/android/main.c
03e124409bd08e620898fbaf8ce27dde3afa1143 08-Oct-2009 David 'Digit' Turner <digit@google.com> Add a new hardware property: vm.heapSize

Allows to control the maximum heap size of Dalvik applications when running
under emulation.
/external/qemu/android/main.c
065242de51ba1e18387ce22a99eb091a859990f7 07-Oct-2009 David 'Digit' Turner <digit@google.com> Ensure android/avd/hw-config-defs.h is properly regenerated as needed.

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.
/external/qemu/android/main.c
bcc6ae14820ddb24e2403d84b420ce61f371ae94 06-Oct-2009 David 'Digit' Turner <digit@google.com> Finally fix ARMv7 NEON emulation.

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 :-(
/external/qemu/android/main.c
ddf49e53df97a349f42c733059165dc73c9907dc 05-Oct-2009 David 'Digit' Turner <digit@google.com> Workaround ARMv7 emulation issues.

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.
/external/qemu/android/main.c
9085a28c14f369d231dbae099a690689179f428a 15-Sep-2009 vchtchetkine <vchtchetkine@google.com> Implementation for dynamic charmap option in emulator.

Created .kcm parser and added -charmap option to the emulator, so user
can specify keyboard layout for emulator session.
/external/qemu/android/main.c
238b4b0ef1a01afa66ef267dae4a96401ad386db 20-Sep-2009 David 'Digit' Turner <digit@google.com> Fix ARMv7 emulation by disabling CPU alignment exceptions

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.
/external/qemu/android/main.c
87250c24aec9449eb615951cf537a2fcf709f1d8 18-Sep-2009 David 'Digit' Turner <digit@google.com> Allow skins to provide a "dpad-rotation" field for each layout.

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)
/external/qemu/android/main.c
5d8f37ad78fc66901af50c762029a501561f3b23 14-Sep-2009 David 'Digit' Turner <digit@google.com> Merge upstream QEMU 10.0.50 into the Android source tree.

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.
/external/qemu/android/main.c
cd059b15f2c7df69f4a087bd66900eb172e41d1c 28-Aug-2009 David 'Digit' Turner <digit@google.com> Added two new hardware properties to control AVD partition sizes.

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.
/external/qemu/android/main.c
945a054848c64af7351620f09101f7a687498d34 11-Aug-2009 Xavier Ducrohet <xav@android.com> Shorten the title of the emulator to only contain very relevant info.

BUG: 2044596
/external/qemu/android/main.c
c5b127050f2dbed015d6b01703a33062d6910d4a 19-Jun-2009 David 'Digit' Turner <digit@google.com> Add a new hw.lcd.density hardware property to AVD configuration files.
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.
/external/qemu/android/main.c
46be48730333120a7b939116cef075e61c12c703 04-Jun-2009 David 'Digit' Turner <digit@google.com> Add our modified SDL sources under distrib/sdl-1.2.12
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
/external/qemu/android/main.c
318e4f294c181df33cf2541763904565b29bcccb 25-May-2009 David 'Digit' Turner <digit@google.com> This adds the '-prop <name>=<value>' option which is used to set
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.
/external/qemu/android/main.c
791d86195fedca3a8cba5d7fa3e3610302361a78 14-Apr-2009 David Turner <> AI 145976: am: CL 145806 Add qemud-version auto-detection 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/...

Automated import of CL 145976
/external/qemu/android/main.c
b58c44e55548129243185ef5927bd3abb5903044 25-Mar-2009 David Turner <> Automated import from //branches/donutburger/...@142528,142528
/external/qemu/android/main.c
9877e2e3e3c2df64de306b48f80a4f5d0b028d95 19-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake_rel/...@140373
/external/qemu/android/main.c
b3ee93a038ab992ffdda9f232befdea6ea713b24 13-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake_rel/...@138607
/external/qemu/android/main.c
b059facee5eb498c78c573617c62cc13eddc8644 11-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@137873
/external/qemu/android/main.c
92c7311b1cb354745ec7b59b0e03910b3fe4c205 05-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@136594
/external/qemu/android/main.c
8b23a6c7e1aee255004dd19098d4c2462b61b849 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/external/qemu/android/main.c
f721e3ac031f892af46f255a47d7f54a91317b30 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/external/qemu/android/main.c
bae1bc39312d5019bd9a5b8d840a529213a69a17 03-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@132589
/external/qemu/android/main.c
ee2298a313b6e425d6ff0324be6a313b1cd9a399 03-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@137055
/external/qemu/android/main.c
c27f813900a3c114562efbb8df1065e94766fc48 11-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@130745
/external/qemu/android/main.c