| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
| |
This provides a new read i/o port to return the framebuffer's format to the
kernel driver.
Change-Id: Ifd1c4d8a4dc75fa73d5f6750e0b501c34468aec5
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch modifies the framebuffer's update callback to compute the minimum
bounding rectangle of each framebuffer update. Before that, the code only
computed the minimum and maximum Y coordinates, assuming xmin=0 and xmax=width-1.
This should help reduce un-necessary traffic/churn for our core->UI framebuffer
protocol.
Moreover, introduce the ability to support framebuffers / display surfaces with
different depths. This is a first step towards providing 32-bit framebuffers to
the guest system to slightly speed-up emulated rendering on Gingerbread and
above.
Change-Id: I6194824ce67a3b1d6d95b5d97ddec3ef459e408e
|
|
|
|
|
|
|
|
| |
This large patch upgrades the block support code to the upstream
version available in ba5e7f82169f32ab8163c707d97c799ca09f8924
dated 2010-08-08
Change-Id: I8b24df0c287e72f6620650a4d6a62e1bb315453e
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This option can be used to quickly check audio output (without
having to boot a full AVD and launch a sound-playing application).
Usage:
emulator <other-options> -qemu -audio-test-out
qemu-android <other-options> -audio-test-out
This simply generates an ugly saw signal, but that's enough for us.
Change-Id: I060300b4000b9705d181c6262de8d4d13c749e69
|
|
|
|
|
|
|
|
| |
Also stored some other parameters, speculatively.
Guard ftruncate and lseek against EINTR
Change-Id: I4237640318564db6c375a90415097c00e4fcafaa
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is needed if there's already a /tmp/android which the current user
can't access on the system. It would prevent the emulator from starting
with a cryptic error message:
NAND: could not create temp file for system NAND disk image: Permission deniedemulator: User-config was not changed.
SDK Bug: 3154431
Change-Id: Iefe7fd6a5139da545aaef5670fb7f42d210d0edc
|
|
|
|
|
|
|
|
|
| |
Fix various 64-bitness issues in the source code to
make the --try-64 option work again on Linux. Note that
the generated binary is not faster than its 32-bit variant
when it comes to benchmarking the boot sequence.
Change-Id: Iad248e033757d4cd25524a438a5dbe1cf3aca6cf
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The goldfish kernel's event driver is very picky about the
state of the virtual device it talks to. Essentially, it can
only listen to h/w events if the corresponding IRQ is raised
_after_ it has completed some initial setup.
If the IRQ is raised before, the driver will refuse to listen
to events, and any interaction becomes impossible.
We changed the way our UI windows are built and managed
previously, and this had the unfortunate effect of sending
one h/w event too soon, which, in the old code, would raise
the IRQ prematurely. This resulted in an input freeze.
To work around this the UI code was modified to not send
the initial h/w event, but this resulted in bad orientation
of the home screen at the end of the boot sequence.
This change allows the virtual device to wait for the kernel
driver before raising the IRQ, in the case any h/w event has
been buffered. It also removes the hack in the UI code,
allowing the send of the initial h/w event at startup.
BONUS MINOR CHANGES:
EsounD probe: fix error message.
console: fix compiler warnings
libpng: proper handling of MMX support.
android-configure.sh: fix --ignore-audio handling
The option didn't do anything if the audio development packages
are properly installed on the system.
Change-Id: Ib134158873d5cb72290c9676d92d20233226c889
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With this patch, both modem and sensor functionality are correctly
restored when a state snapshot is loaded. This was not the case
previously because communication with either of these services is
done using the qemud daemon, which did not support snapshots.
The boot-properties and charpipe services have no specific save/load
functionality yet, since the framework itself should be reviewed
first. Adding support for bootproperties should not be difficult
though, and charpipe may not need it.
For a description of the high-level process for saving and loading,
consult section IV "State snapshots" in docs/ANDROID-QEMUD.TXT.
Change-Id: I5b06d88b911ca096e78060163174904c48a01c66
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The compiler generated incorrect instructions when loading timers,
because qemu_get_be64 was used before it was declared. This caused
the compiler to assume that a normal (32 bit) int would be returned,
rather than a 64 bit one. Just including the "hw/hw.h" header is
sufficient to correct this.
The makefile for the project has recently been changed to build with
-Wall, which should prevent this from going unnoticed again.
Change-Id: I74c98183287cf26b767a36f7a6ff9ebf0b891826
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch fixes saving and restoring the state of the emulated NAND
disks, by copying all contents of each disk into the snapshot file.
During restore the disks are then entirely overwritten with the
snapshot contents.
The main issue with this approach is that the size of the disk
snapshots is determined by the maximum capacity of the disk in
question, rather than the actual size of the underlying file, which
may be considerably smaller. The difference is filled with padding.
Unfortunately, obvious approaches to avoid this padding result in
incorrect state after restoring.
Change-Id: I4abe329ff2cf2f159c3d6dfc206959614cc4ca35
|
|
|
|
|
|
|
| |
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
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch saves the current state of the SMSC 91C111 ethernet
emulation. The restore function will restore all buffers, thus
preventing segfaults when guest code tries to access data that was
there when state was saved. However, no effort is made to
re-establish connections. This is probably impossible anyway, since
we have no way to generically make the remote end pick up where we
left when state was suspended.
From the perspective of the guest, resuming is therefore equivalent
to a temporary network failure, in which all open connections are
lost. After the restore is complete, new connections can be made
as though nothing happened.
Change-Id: Ibbbabc685ef296e675d4018996f703e07d9aad6a
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This brings the code for saving and restoring the vm clock up to
date with the current codebase. It also includes a workaround for an
issue that occurred when the state of a goldfish timer was restored.
For unexplained reasons, the compiler generated code to copy the
least significant 32 bits only when reading a 64 bit number,
dropping the remaining 32 bits.
In order to facilitate debugging, the variables in the goldfish
timer code have been suffixed with their units ("ns" for nanoseconds
or "tks" for ticks).
|
|
|
|
| |
Change-Id: Ide3914fa52f62f618d39ac20f02bce8185a6805a
|
|
|
|
|
|
| |
+ new document under docs/DISPLAY-STATE.TXT to explain what's happening.
Change-Id: Ia0d233377266212da49af932c7528f46f5feb92d
|
|
|
|
| |
Change-Id: Iea5edfbae0caff45161c814d631d35d2e6d61d1c
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Change-Id: I24acbdebe58d207352548f54dda1abf5be01e7d4
|
|
|
|
| |
Change-Id: I41aa30fff127338665a6a32fa66dcd43dd3bfe8b
|
|
|
|
| |
Change-Id: I5c51f54a7fe2ea702420429bbf0c789ed6d8c534
|
|
|
|
| |
Change-Id: Ica9022695d83fb48a8c25fdb1e1f0dc1c63747ff
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
Change-id: Ibce845d0
|
|
|
|
|
|
|
|
| |
Signed-off-by: San Mehat <san@google.com>
qemu: goldfish: Fix compile error introduced in refactoring
Signed-off-by: San Mehat <san@google.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
| |
The minimum size is now 9MB. This appears to be a limitation
of the emulated MMC hardware code and/or kernel device driver.
|
|
|
|
| |
Change-Id: I67152761977b330e3f4c1bbe3d8eb99e48e2e7e7
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|\
| |
| |
| |
| | |
* changes:
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.
|
|/ |
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|