| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
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
|
|\
| |
| |
| | |
Change-Id: I4c7d3f7880d10ca6d79378921a3f8811288770fa
|
| |\ |
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
|\ \ \ |
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
|\ \ \
| |/ /
|/| | |
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|\ \ |
|
|/ /
| |
| |
| |
| |
| | |
+ Rename android/pipe-net.c to android/hw-pipe-net.c
Change-Id: Ia2e2466c3bf3ea812f36639420fad7ce2e0cb61d
|
|\ \
| |/
| |
| | |
Change-Id: I58102213a905f75299d323bb902b089a1b550733
|
| |\ |
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
|\ \ \
| |/ /
|/| | |
|
|/ /
| |
| |
| |
| |
| |
| | |
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
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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).
|
|\ \ \
| |/ / |
|
|/ /
| |
| |
| |
| |
| | |
This will be used later by the goldfish network pipe implementation.
Change-Id: I70c770efba15b2fd5ef7cc52450aa07163fa21f5
|
|\ \
| |/
|/| |
|
|/
|
|
|
|
|
|
|
|
|
|
| |
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
|
|\
| |
| |
| | |
Change-Id: I179f483236174b19ca88a2b4b0dac6c8a94c0a99
|
| |\ |
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |\
| | |
| | |
| | | |
bounds. DO NOT MERGE" into tools_r10
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|\ \ |
|
|/ /
| |
| |
| | |
Change-Id: I02dc12caa76c86de5d294b6fc857ae37b74f0130
|
|\ \
| | |
| | |
| | | |
warnings with some compilers."
|
| | |
| | |
| | |
| | |
| | |
| | | |
Removes compiler warnings with some compilers.
Change-Id: Idfb14557181e744d07bef6b5d0da734012d2ff42
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | | |
Change-Id: I14c03c193166c214ce406a3dc524b8dfa16fa733
|
|\ \ \ \
| |/ / / |
|
| | | |
| | | |
| | | |
| | | | |
Change-Id: I7f7f46b6e9526d207f53ad6a9e6baa315bd6af7b
|
|\ \ \ \
| |/ / / |
|
| | | |
| | | |
| | | |
| | | | |
Change-Id: I3ad498380de8438dbf430316af2d4391876057cc
|
|\ \ \ \
| |/ / / |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
|\ \ \ \
| |/ / / |
|
| | | |
| | | |
| | | |
| | | | |
Change-Id: I338334d53fa9bc52c87e9da18341d0cb94fd4269
|
|\ \ \ \
| |/ / / |
|
|/ / /
| | |
| | |
| | |
| | |
| | | |
+ add android/hw-qemud-pipe.h
Change-Id: Icf7b316137cd9f1ce46e4c3642addccea6222a24
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
|\ \ \ \
| |/ / / |
|
| | | |
| | | |
| | | |
| | | | |
Change-Id: If69874ace211e043d82ffd8349f54396fd334e94
|