History log of /external/qemu/hw/goldfish_trace.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
08c7228c50f8b27acba312c4d2f0c07d0ab6a06b 03-Jan-2013 Tom Knych <thomaswk@google.com> x86-kvm: only sync SREGS when doing address translation

cpu_synchronize_state is 10x or more expensive on AMD then on intel.
This makes all nand read/writes extremely slow (eg: mounting /system takes
over a minute when KVM is enabled on AMD).

Looking at hw/goldfish* all callers of cpu_synchronize_state want to do
is translate virtual to physical addresses. You can do that with 1 ioctl
(KVM_GET_SREGS). Performance on AMD is significant improved (matching
intel) and intel is not affected.

Converted all callers of cpu_synchronize_state in hw/goldfish-* to sync
over only KVM_GET_SREGS when running in KVM mode.

Change-Id: Id15c4e99c0f541527684fba23d639c9dee3525c6
Signed-off-by: Tom Knych <thomaswk@google.com>
/external/qemu/hw/goldfish_trace.c
406a59bd0a2e7a38cd840a5c08602e3a36bd2df8 12-May-2011 David 'Digit' Turner <digit@android.com> trace.h: rename to trace-android.h

This is done to allow for future integration of the
upstream auto-generated "trace.h" header file.

Change-Id: I9d1bba3320d9e8acfd7359540d3ed6695773061e
/external/qemu/hw/goldfish_trace.c
d4d688e926097faba7fd3717d1c0d3f296bdb526 26-Apr-2011 David 'Digit' Turner <digit@android.com> New goldfish_pipe virtual device.

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).
/external/qemu/hw/goldfish_trace.c
335d2c1342bb887ac67f1f60cff795f0c06beaca 21-Mar-2011 David 'Digit' Turner <digit@android.com> goldfish_trace: Hook with goldfish_pipe.h functions.

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
/external/qemu/hw/goldfish_trace.c
4e024bb4f5c8aa8b07459f7fbd65c35122127fd1 22-Sep-2010 David 'Digit' Turner <digit@android.com> Remove compiler warnings when building the emulator.

This forces -Wall during the build. Note that this patch doesn't
remove all warnings, but most of the remaining ones are from upstream anyway.

Change-Id: I8808d8495e99866e156ce5780d2e3c305eab491f
/external/qemu/hw/goldfish_trace.c
b91980562344f6a3b719bfe4be007fa9406e585f 10-Sep-2010 David Turner <digit@android.com> upstream: osdep changes + fix mingw build.
/external/qemu/hw/goldfish_trace.c
5389aa19033153c09556d1362a8b8a56abccb8f5 16-Feb-2010 Vladimir Chtchetkine <vchtchetkine@google.com> Merge memory checking from sandbox

Change-id: Ibce845d0
/external/qemu/hw/goldfish_trace.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/hw/goldfish_trace.c
e3ea32ffa04468eddaf9c6ce2d36090f7bf43e49 19-May-2009 Jack Veenstra <veenstra@android.com> Add support for new trace records for native (JNI) calls.

This change adds new trace record types for entering (and exiting)
native code from Java code. There is a corresponding change in the
Dalvik interpreter to generate these trace records.
/external/qemu/hw/goldfish_trace.c
9980bbb9965ee2df42f94aafa817e91835dad406 05-May-2009 Jack Veenstra <veenstra@android.com> Add support for tracing Java method entry/exit to qemu.

This is part of a larger change to add support for tracing Java methods.
There is also a kernel change and a small change to the Dalvik interpreter
that will be checked in separately.
There used to be support for tracing Java methods but it relied on trapping
every store and checking if the store address matched a special "magic"
region (and that stopped working because we can no longer trap on loads
and stores). The new approach uses a memory-mapped page to catch stores to
just that page.
/external/qemu/hw/goldfish_trace.c
8b23a6c7e1aee255004dd19098d4c2462b61b849 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/external/qemu/hw/goldfish_trace.c
f721e3ac031f892af46f255a47d7f54a91317b30 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/external/qemu/hw/goldfish_trace.c
c27f813900a3c114562efbb8df1065e94766fc48 11-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@130745
/external/qemu/hw/goldfish_trace.c
55f4e4a5ec657a017e3bf75299ad71fd1c968dd3 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution
/external/qemu/hw/goldfish_trace.c