aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fix emulator audio.David 'Digit' Turner2011-05-051-0/+3
| | | | | | | | Audio support was compiled in, but never initialized because the hardware init function is in a different module and required HAS_AUDIO to be defined too. Change-Id: I57eccfb3a0abea86c29a9046f9f35d482a99c1f5
* merge from tools_r11The Android Open Source Project2011-05-040-0/+0
|\ | | | | | | Change-Id: I4c7d3f7880d10ca6d79378921a3f8811288770fa
| * Merge "Merge "Fix ANDROID_SDK_HOME handling."" into tools_r11Raphaël Moll2011-05-041-12/+5
| |\
| | * Merge "Fix ANDROID_SDK_HOME handling."David 'Digit' Turner2011-05-041-12/+5
| |/ | | | | | | | | | | | | | | | | | | | | A previous patch introducing the "emulator" launcher program did regress the way ANDROID_SDK_HOME is parsed. Fix that by actually trusting bufprint_config_path() to always do the right thing :-) (Merged from original id: I11a13fea95727ee9c487595fd4ae5e81805986da) Change-Id: I999de28a1cba530bc48e4219e5586ae20d80127b
* | Merge "Fix ANDROID_SDK_HOME handling."David 'Digit' Turner2011-05-041-12/+5
|\ \
| * | Fix ANDROID_SDK_HOME handling.David 'Digit' Turner2011-05-041-12/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | A previous patch introducing the "emulator" launcher program did regress the way ANDROID_SDK_HOME is parsed. Fix that by actually trusting bufprint_config_path() to always do the right thing :-) Change-Id: I11a13fea95727ee9c487595fd4ae5e81805986da
* | | Merge "Correct fix for snapshot saving speed"David 'Digit' Turner2011-05-042-2/+20
|\ \ \
| * | | Correct fix for snapshot saving speedDavid 'Digit' Turner2011-05-042-2/+20
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QEMU is a weird animal. The "snapshot" property speeds-up snapshot saving but also redirect all stores to a temporary file which is deleted when the emulator exit. Use a different property to get the desired speed-up. Note that using "writeback" instead of "unsafe" forces the use of fdatasync() which will still be horribly slow. + Argument checking in avd snapshot commands in the console. (trying to load a name-less snapshot actually crashes the emulator). Change-Id: Ie61f110f037bbb3539c7f9892cb03bee8bfec6bd
* | | Merge "Fix snapshot save pathetic speed."David 'Digit' Turner2011-05-041-1/+6
|\ \ \ | |/ / |/| |
| * | Fix snapshot save pathetic speed.David 'Digit' Turner2011-05-041-1/+6
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | It turns out that the 'snapshot' property must be turned on on the block device corresponding to the snapshot storage file. Otherwise, the file is mounted O_DIRECT, which on my speedy machine limits the operation to a max of about 2.5 MB/s. This explains why saving snapshots was so pathetic. With this change, the save throughput is up to 278 MB/s on the same machine! Change-Id: I77c792114171a4ecaf3e3f08f64d8b3a30709f23
* | Merge "Document new QEMU pipe implementation."David 'Digit' Turner2011-05-045-3/+227
|\ \
| * | Document new QEMU pipe implementation.David 'Digit' Turner2011-05-045-3/+227
|/ / | | | | | | | | | | + Rename android/pipe-net.c to android/hw-pipe-net.c Change-Id: Ia2e2466c3bf3ea812f36639420fad7ce2e0cb61d
* | merge from tools_r11The Android Open Source Project2011-05-030-0/+0
|\ \ | |/ | | | | Change-Id: I58102213a905f75299d323bb902b089a1b550733
| * Merge "Add 'emulator' launcher program." into tools_r11David 'Digit' Turner2011-05-0312-229/+694
| |\
| | * Add 'emulator' launcher program.David 'Digit' Turner2011-05-0312-229/+694
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | NOTE: This integrates https://review.source.android.com/#change,21995 into the tools_r11 branch. 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: Id883b67c0255b6deeae393443a1732e10ab223cb
* | Merge "Add 'emulator' launcher program."David 'Digit' Turner2011-05-0312-229/+694
|\ \
| * | Add 'emulator' launcher program.David 'Digit' Turner2011-05-0212-229/+694
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | Merge "Use user-specific directory for temporary files."David 'Digit' Turner2011-05-021-2/+8
|\ \ \ | |/ / |/| |
| * | Use user-specific directory for temporary files.David 'Digit' Turner2011-05-021-2/+8
|/ / | | | | | | | | | | | | Instead of use /tmp/android/, use /tmp/android-$USER/ so that several users can run the emulator easily on the same system. Change-Id: Ifda1b773cc87a9e0d4ff7e256b74a3f93377d73a
* | Merge "New goldfish_pipe virtual device."David 'Digit' Turner2011-04-299-1410/+1525
|\ \
| * | New goldfish_pipe virtual device.David 'Digit' Turner2011-04-289-1410/+1525
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds a new virtual hardware device named "goldfish_pipe" used to implement a very fast communication channel between the guest system and the emulator. IMPORTANT: This depends on a special kernel driver, see: https://review.source.android.com/#change,22496 Usage from the guest is simply the following: fd = open("/dev/qemu_pipe", O_RDWR); const char* pipename = "pipe:<name>"; ret = write(fd, pipename, strlen(pipename)+1); if (ret < 0) { /* could not connect to service named <name> */ } /* now you can read()/write()/close() as a normal * file descriptor to exchange data with the service. */ In addition, this implements the following pipe services in the emulator: tcp:<port> tcp:<hostname>:<port> unix:<path> opengles The 'tcp:' and 'unix:' services simply redirect to a TCP or Unix socket on the host with minimal The 'opengles' service simply connects to tcp:locahost:22468 for now. We may change this to be more configurable in the future, but that's the port number used by the current experimental OpenGL ES hardware emulation host libraries / programs. Benchmarking with a simple ping-pong program shows that the guest <-> emulator can achieve a roundtrip bandwidth of 192 MB/s (on a 2.7 Ghz Xeon PC). Using the tcp: service to talk to a ping-pong server listening on localhost reaches 102 MB/s on the same machine, using a Unix socket reaches 140 MB/s. By contrast, using standard sockets in the guest reaches only 3.8 MB/s on the same machine (and requires special privileges from the application anyway).
* | | Merge "Add loopIo_poll() function."David 'Digit' Turner2011-04-283-0/+22
|\ \ \ | |/ /
| * | Add loopIo_poll() function.David 'Digit' Turner2011-04-283-0/+22
|/ / | | | | | | | | | | This will be used later by the goldfish network pipe implementation. Change-Id: I70c770efba15b2fd5ef7cc52450aa07163fa21f5
* | Merge "Fix -qemu -vnc startup."David 'Digit' Turner2011-04-275-7/+24
|\ \ | |/ |/|
| * Fix -qemu -vnc startup.David 'Digit' Turner2011-04-275-7/+24
|/ | | | | | | | | | | | Starting the emulator with something like "-qemu -vnc :1" didn't result in a valid boot sequence, due to the way our "hw-control" service is initialized. This patch fixes the issue. Note however that since a VNC client cannot send proper touch events, it can only be used as a viewer at the moment. Change-Id: Ib9b60ff7028892368547bff89b84f580344c2edd
* reconcile tools_r10 into master - no actual changeThe Android Open Source Project2011-04-210-0/+0
|\ | | | | | | Change-Id: I179f483236174b19ca88a2b4b0dac6c8a94c0a99
| * Merge "Fix touch emulation for tools_r10 emulator." into tools_r10David 'Digit' Turner2011-03-213-0/+36
| |\
| | * Fix touch emulation for tools_r10 emulator.David 'Digit' Turner2011-03-213-0/+36
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is a bug in the previous commit because the values of the android_display_width and android_display_height variables are not properly initialized when events_dev_init() is called. The variables contain their default values (640 and 480) instead of anything specific to the device's skin/emulated LCD. The result is that touch emulation doesn't work well if the screen is not exactly 640x80, because reported touch events are then incorrectly scaled. NOTE: The problem doesn't exist in the master branch, which fixed the issue with a different patch, which takes care of the core/ui separation work to do stuff the right way(TM). This adds a tools_r10-specific patch to fix the issue. Change-Id: Idc1902db5d1b2c596aadc352e62c6523922d7a20
| * Merge "Fix touchscreen emulation to return correct min/max coordinate ↵David 'Digit' Turner2011-03-181-0/+40
| |\ | | | | | | | | | bounds. DO NOT MERGE" into tools_r10
| | * Fix touchscreen emulation to return correct min/max coordinate bounds. DO ↵David 'Digit' Turner2011-03-181-0/+40
| |/ | | | | | | | | | | | | | | | | | | | | | | NOT MERGE This is needed by future changes in the input framework that depend on touchscreen devices to properly return the min/max bounds of their absolute pointer coordinates. Fixes bug 4126574 Change-Id: Iad3c8b9c78f69180ee5466cde0dbba557cb7d5c1
* | Merge "Add support for hw.lcd.backlight"David Turner2011-04-153-1/+18
|\ \
| * | Add support for hw.lcd.backlightTim Wan2011-04-153-1/+18
|/ / | | | | | | Change-Id: I02dc12caa76c86de5d294b6fc857ae37b74f0130
* | Merge "Converted a variable from char * to const char *. Removes compiler ↵David Turner2011-04-111-2/+2
|\ \ | | | | | | | | | warnings with some compilers."
| * | Converted a variable from char * to const char *.Ashish Bhatia2011-04-081-2/+2
| | | | | | | | | | | | | | | | | | Removes compiler warnings with some compilers. Change-Id: Idfb14557181e744d07bef6b5d0da734012d2ff42
* | | Merge "vl-android.c: Init opengles pipe on startup"David 'Digit' Turner2011-04-111-0/+4
|\ \ \
| * | | vl-android.c: Init opengles pipe on startupDavid 'Digit' Turner2011-04-111-0/+4
| | | | | | | | | | | | | | | | Change-Id: I14c03c193166c214ce406a3dc524b8dfa16fa733
* | | | Merge "hw/android_arm.c: Initialize qemud pipes properly."David 'Digit' Turner2011-04-111-0/+4
|\ \ \ \ | |/ / /
| * | | hw/android_arm.c: Initialize qemud pipes properly.David 'Digit' Turner2011-04-111-0/+4
| | | | | | | | | | | | | | | | Change-Id: I7f7f46b6e9526d207f53ad6a9e6baa315bd6af7b
* | | | Merge "Add OpenGLES pipe implementation."David 'Digit' Turner2011-04-112-0/+789
|\ \ \ \ | |/ / /
| * | | Add OpenGLES pipe implementation.David 'Digit' Turner2011-04-112-0/+789
| | | | | | | | | | | | | | | | Change-Id: I3ad498380de8438dbf430316af2d4391876057cc
* | | | Merge "goldfish_trace: Hook with goldfish_pipe.h functions."David 'Digit' Turner2011-04-113-36/+102
|\ \ \ \ | |/ / /
| * | | goldfish_trace: Hook with goldfish_pipe.h functions.David 'Digit' Turner2011-04-113-36/+102
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Note that this is also forces tracing support during machine initialization. Measurements show that this doesn't have any significant impact on emulation performance. Change-Id: Ie32352659611531ce65ba2c95c5896e2421f509d
* | | | Merge "hw/goldfish_pipe.c: New support code for QEMUD fast-pipes."David 'Digit' Turner2011-04-113-0/+839
|\ \ \ \ | |/ / /
| * | | hw/goldfish_pipe.c: New support code for QEMUD fast-pipes.David 'Digit' Turner2011-04-113-0/+839
| | | | | | | | | | | | | | | | Change-Id: I338334d53fa9bc52c87e9da18341d0cb94fd4269
* | | | Merge "qemud: prevent recursive closure of clients."David 'Digit' Turner2011-04-113-8/+36
|\ \ \ \ | |/ / /
| * | | qemud: prevent recursive closure of clients.David 'Digit' Turner2011-04-113-8/+36
|/ / / | | | | | | | | | | | | | | | + add android/hw-qemud-pipe.h Change-Id: Icf7b316137cd9f1ce46e4c3642addccea6222a24
* | | Merge "Simplify async utils by removing extra LoopIo parameter."David 'Digit' Turner2011-04-1110-49/+76
|\ \ \
| * | | Simplify async utils by removing extra LoopIo parameter.David 'Digit' Turner2011-04-1110-49/+76
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | Merge "<android/utils/assert.h>: Small refactoring"David 'Digit' Turner2011-04-111-23/+73
|\ \ \ \ | |/ / /
| * | | <android/utils/assert.h>: Small refactoringDavid 'Digit' Turner2011-04-111-23/+73
| | | | | | | | | | | | | | | | Change-Id: If69874ace211e043d82ffd8349f54396fd334e94