History log of /external/qemu/android/main-common.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
496168ed6e29479bcc2c5cac2ade6f045013a59c 12-Jul-2014 David 'Digit' Turner <digit@google.com> Remove obsolete android/protocol/ directory.

This feature was never really completed, and impedes refactoring.
The corresponding sources were used to try to implement the separation
of UI and emulation engine into two separate processes, but never
truly worked. The lack of DSL to generate protocol stubs/proxies
was also very painful.

The feature could be revived in the future with a very different
implementation, if desirable.

Change-Id: I516d6627ee5d649bbcbf140b6274f1ff1b57fdd3
/external/qemu/android/main-common.c
d174434fbf6fbfce54f7eabaa54b8296f55527b8 11-Jul-2014 David 'Digit' Turner <digit@google.com> android-constants.c: Move constants to single file.

This patch refactors the sources slightly to reduce dependency
drag between various functions and constant definitions. This
is general cleanup work for future patches.

Change-Id: I5fc0f53f5c933bc89ddf1a43d67a309d03a03c2d
/external/qemu/android/main-common.c
c5f12b935ced6c029244b1a3230edc9b7646da97 11-Jul-2014 David 'Digit' Turner <digit@google.com> main-common.h: Add reassign_string().

Simple patch to introduce a convenience function that can
reassign heap-allocated string pointers in place.

Change-Id: If810fe10d4149749202d73f3cf2c9cfef0298754
/external/qemu/android/main-common.c
0e5ff1bd3073e3847ac8400ba46814878beb8605 04-Jul-2014 David 'Digit' Turner <digit@google.com> memcheck: Remove feature entirely

This patch removes the memcheck feature from the Android emulator
code base. This is for several reasons:

- Supporting the feature impacts many QEMU-specific emulation files
in subtle ways, that make it difficult to refactor this code to
integrate upstream changes.

- The feature only works for ARM (32-bit), has no unit tests, and
generates massive amounts of false positive messages coming
from the platform.

- Barely anyone uses it.

This feature might make a comeback in the future, but this will be
under a different life-form that will have adapted to the new state
of the code.

+ As a bonus, fix the build!

Change-Id: Idd19a3bc7923379cb1e82850f14499549b6a991b
/external/qemu/android/main-common.c
916f9cc4b9adf4eca98b4a6cc4366d43c4971617 15-May-2014 Ji-Hwan Lee <jihwan@google.com> Allow using dynamic skin from android build

Bug: 14981377
Change-Id: Ifeb281216008aa163aa81d1179af72e2843abd90
/external/qemu/android/main-common.c
cef730bbc330b4a0ad84d12c71fdcb010ddb3772 04-Feb-2014 David 'Digit' Turner <digit@google.com> Cleanup: Remove 100+ compiler warnings.

This is a big cleanup that removes compiler warnings by performing
the following:

- Remove unused functions or variables.
- Change pointer cast to be alias safe using unions.
- Use __attribute__((unused)) on some local variable definitions
when their usage depends on conditional defines that are not
always true when compiling the same source several times.
- Fix a couple array indexing bugs.

There are still a few warnings from the JSON lexer, libjpeg and
the TCG helpers though, but the overall compilation is much cleaner.

BUG=NONE

Change-Id: Ic4483e6402b266ecfd7bca8c92a73d8fcf392a1f
/external/qemu/android/main-common.c
52e9942c2e0ffac6f7ccc2d2c916c855ad62c33d 03-Feb-2014 David 'Digit' Turner <digit@google.com> Add android/utils/eintr_wrapper.h

Add a new Android-specific header that defines two macros to
handle EINTR in a consistent way, as well as allow detecting
when a system call loops too many times and exit with a fatal
error message when that happens.

+ Unit tests.

+ Update existing code under android/ which uses to deal directly
with EINTR to use the new HANDLE_EINTR() and IGNORE_EINTR()

+ Remove EINTR checks for functions that call socket_xxx() functions
which already loop around EINTR.

Change-Id: I1d2ee64d9743a2edc506f616465ea091878db620
/external/qemu/android/main-common.c
1c31e3e43ce4cca85a707dfff631e5e102fdeced 14-Dec-2013 David 'Digit' Turner <digit@android.com> Even more moves.

include/ui + ui/
include/qapi/qmp/ + qobject/

Change-Id: Ief236a08cb234d9dd692e85907757678ef32f035
/external/qemu/android/main-common.c
09aa9774a68528f2269813833e2313e20d60d0d3 09-Oct-2012 Siva Velusamy <vsiva@google.com> Obtain path to dynamic skin layout folder from sdk root

Change-Id: Id83e082238f696aaa0c330020e3310b20ebe5a32
/external/qemu/android/main-common.c
ffdea0dc7537b21472d89f42cbcd230fd8d17857 08-Oct-2012 Siva Velusamy <vsiva@google.com> Display basic controls in the dynamic skin.

Change-Id: If7266ec7562aa430f676c6ae8e72e1b485538838
/external/qemu/android/main-common.c
2abcdc47688227d5683938938b0f4eecd21b3bc4 05-Oct-2012 Siva Velusamy <vsiva@google.com> Support dynamic skin layout

This CL adds support for a skin whose layout section is
generated at runtime based on the hardware configuration.

Change-Id: I5f81f665b49ce0f3ec5795d922a08b30c1f34b98
/external/qemu/android/main-common.c
7f661af7cfca4b7857d30d598923dd2095f78ff0 02-May-2012 Andrew Hsieh <andrewhsieh@google.com> Fixed compilation error with new x86_64-w64-mingw32 compiler

Fixed the following for the new compiler
1. android/camera/camera-capture-windows.c:
Added "#include <windows.h>"
2. SetClassLong() is deprecated. GCL_HICON doesn't exist in _WIN64.
Replacted it with SetClassLongPtr(h, GCLP_HICON, icon)
3. [v]asprintf now actually exisit in libray. Changed the prototype
to match the standard ones but will remove them later for GCC 4.5 and up.
4. Renamed _set_errno to set_errno because it exists in stdlib.h.
Renamed _fix_errno to fix_errno for consistency.
5. EAI_NODATA and EAI_NONAME become the same things.
6. ddk/*h don't exisit. tap-win32.c actually only needs winioctl.h which
provide constants. I have make sure they got the same constants in
both old and new mingw compilers
7. #undef DELETE before redefining it for KEY_CODE in hw-events.h because
DELETE is defined to be a constant in standard header.

The above don't break the old one (ie. /usr/bin/i586-mingw32msvc-*)

Change-Id: Ic7d13fd0fd237d433f923ee01c6ce50f5c02f095
/external/qemu/android/main-common.c
4bcc1d92f4d49ee7331bd2eacd28d497e505c5c7 05-Jan-2012 Jean-Baptiste Queru <jbq@google.com> Explicitly use the top of the source tree to find the kernel.

This way, we don't rely on the relative position of the source
directory and the out directory, and the emulator works when
using OUT_DIR_COMMON_BASE

Change-Id: I319f4fffc9ffee676d8040ebbb017831db08f6b6
/external/qemu/android/main-common.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-common.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-common.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-common.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-common.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-common.c
f816a75ca5b357563a4ecf996e95b24ffabd0b54 23-Jun-2011 David 'Digit' Turner <digit@android.com> Fix -audio <name> and -no-audio processing.

Turns out that the string passed to putenv() must not be modified :-/

We provide our own win32 implementation for emulator-ui that doesn't
embed the os-win32.c QEMU-specific file.

Change-Id: I7260fbc37d23a5340dab589dfde577ef5eb10005
/external/qemu/android/main-common.c
adc34fb9e9ad0700e9752ca67174c68925ca0c71 23-Jun-2011 David 'Digit' Turner <digit@android.com> Fix -sysdir handling.

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
/external/qemu/android/main-common.c
f9e333ade2529f257ced6bcff8e5824cb07eacf9 17-Mar-2011 David 'Digit' Turner <digit@android.com> Simplify async utils by removing extra LoopIo parameter.

This patch removes the LoopIo parameter from asyncReader_run() by
storing the initial pointer passed to asyncReader_init() inside the
object itself.

Same treatment is performed for:
- AsyncReader
- AsyncWriter
- AsyncLineReader
- AsyncConnector
- AsyncConsoleConnect

Change-Id: Ic74b817e4c326230ca1d38b3a5d8c4790c4f90c1
/external/qemu/android/main-common.c
50142ee2ba636acb48ef92776770bd3270d7bf9c 25-Mar-2011 David 'Digit' Turner <digit@android.com> Fix framebuffer width/height computation.

This patch fixes a bug in the skin parsing code that computes the
dimensions of the emulated framebuffer. The bug had the following
symptoms:

- The vertical framebuffer size reported by the 'events' device
was always 640 (the default), independent of the skin's
dimensions and emulated 'framebuffer' device dimensions.

As such, all touch event Y coordinates were scaled by the
system by 480/640 when running inside a HVGA screen.

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

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

Change-Id: Ic8da3ccaed9bab7dbb44c0bb341b0dba20b90980
/external/qemu/android/main-common.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-common.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-common.c
c480cca8d2007f5df62a7431beda310911b963e6 25-Feb-2011 David 'Digit' Turner <digit@android.com> Move cache partition initialization to core.

Change-Id: I1f887e6f8fc38e43b1fff3f7bab3814b52542762
/external/qemu/android/main-common.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-common.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-common.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-common.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-common.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-common.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-common.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-common.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-common.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-common.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-common.c
07db34976ba1dd045a51c4ab2c7f52479cddcc57 02-Feb-2011 David 'Digit' Turner <digit@android.com> Simplify UI-only sources.

Get rid of console-ui.c, qemu-timer-ui.c and modify vl-android-ui.c
to use a generic Looper object instead of a crummy event loop.

We still need to implement qemu_set_fd_handler for two sources under
android/protocol/ but this will be cleaned up later.

Change-Id: Icd0762675ca2f54e720a9cec40f96caea500b52f
/external/qemu/android/main-common.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-common.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-common.c