| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
The minor version number is now always 0, this makes the next
version number "5.0" currently in the eclair branch.
|
|
|
|
|
| |
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: I3ce440cff624138518dc410c304353bea1ecef91
|
|
|
|
| |
from working properly.
|
|
|
|
|
| |
Also remove the error/abort message in case an AVD's image files
are larger than the default.
|
|
|
|
|
| |
Allows to control the maximum heap size of Dalvik applications when running
under emulation.
|
|
|
|
|
|
|
|
| |
This modifies the emulator's build system to ensure that the file at
android/avd/hw-config-defs.h is regenerated automatically each time that
android/avd/hardware-properties.ini is itself changed.
Tested with both the Android build system, and the standalone one.
|
|
|
|
|
| |
This function will call abort() for zero-sized arrays. This is stupid so use
the Android-specific functions that return NULL instead.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The real problem was the size of the static intermediate TCG opcode buffer.
Due to its SIMD nature, a single Neon instruction can generate a very large number
of corresponding TCG opcodes. Using lots of Neon instructions in a big looop like
the one we have in our ARMv7-optimized memcpy did generate enough opcodes to
overwrite the static gen_opc_buf buffer, resulting in overwrites into the following
global buffer (gen_opparam_buf) corresponding to opcode parameters.
The end result was generation of really broken host machine code, and completely
unreliable emulation, including potential assertion failure in the liveness analysis
pass.
This patch does the following:
- bumps the buffer size from 512 to 2048
- adds sanity checks that will abort the emulator if another similar overwrite
is detected before machine code is generated.
- remove the previous hack where we disabled the liveness analysis pass for ARMv7
Note that fixing the code generator to not use a static buffer is not trivial at
this point, and that we much prefer to stay true to the upstream sources at the
moment.
Keep in mind that a previous patch also fixed a bug in the ARM->TCG translator
(typo required changing a 0 into a 1) which affected Neon instructions too.
I can't believe I just lost 2 weeks of my life on that bug :-(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch is used to disable the code generator's liveness analysis pass when we
emulate an ARMv7 CPU. This is required to properly run the dex preoptimization pass
during the build of -user system images.
Also includes:
- a fix for a sad typo in target-arm/translate.c related to NEON instruction emulation
- upstream improvements to the x86 and x86_64 backends to generate better goto branches at runtime
- upstream fixes for 64-bit swap and shift operations in TCG
After this patch is applied, re-enabling the ARMv7 memcpy should allow to run the dex preopt
pass succesfully. Anything else is untested though. WE STILL NEED TO FIX THE CODE GENERATOR.
|
|
|
|
|
|
|
| |
This is required to run the SDK system image with the new assets
in multiple densities.
Change-Id: I4ab21a9c5ef554d1d8d63a32c3e88719e6d49253
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Created .kcm parser and added -charmap option to the emulator, so user
can specify keyboard layout for emulator session.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Disable alignment CPU exceptions to be able to boot an ARMv7 system image.
This is because 4.4.0 emits a machine code sequence that stores an 8-bytes double
on a 4-byte aligned address on the stack in the implementation of cvt() in the C
library (see the disassembly for bionic/libc/stdio/vfprintf.c). It is uncertain
that this is a compiler bug at this point, but the upstream QEMU sources don't have
alignment exceptions enabled for any ARM target anyway.
Also, add a check to force CPU emulation to "cortex-a8" if the kernel file name
ends in "-armv7". This is a poor man's approach to hardware configuration that will
be replaced by a more sophisticated solution in the future. Right now, we just want
to be able to build -user system images with the dex preopt pass running in the
emulator with the minimum amount of fuss.
|
|
|
|
|
|
|
|
|
|
| |
This is used to deal with the fact that the framework *always* assumes that
the physical DPad is rotated in landscaped mode, while the default skin no
longer does that.
NOTE: tested on old skin files for backwards compatibility.
(Upcoming skin fixes coming in another patch)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
disk.systemPartition.size (default 66MB)
disk.dataPartition.size (default 66MB)
If the emulator detects that an image file is larger than the corresponding
setting, it will do the following:
- for AVDs running from the SDK, an error message will be printed and
the emulator aborts. Note that this can only happen if there are some
serious mis-configuration of AVDs anyway.
- when launching the emulator from the Android build system, a warning
will be printed, and the partition size will be automatically adjusted
at launch.
Previously, trying to launch an over-sized system image would result in the
emulated system booting, but then failing to find certain files, depending on
how the yaffs2 disk images are built. This caused hard-to-debug issues.
Note that the option -partition-size <size> can be used to override the AVD's
setting at runtime.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This bug was introduced by previous changes to hw/goldfish_events_device.c
where the list of valid key scancodes reported by the kernel was restricted
to KEY_SOFT1 but not KEY_MENU.
KEY_SOFT1 is the scan-code used to represent a press of the Menu key on
the emulated device. KEY_MENU is some Linux thing that is confusingly unrelated.
Before we filtered out KEY_MENU, the framework or keymap was capable of
transforming KEY_MENU into the proper kKeyCodeMenu at runtime. But the event
filtering added in goldfish_events_device.c meant that KEY_MENU was never
passed by the kernel to user-space.
The fix is simply to generate KEY_SOFT1 for emulated Menu key presses.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The original esdaudio.c file from upstream contains a nasty race condition
that can be triggered when the emulator exists while the audio record thread
is in a blocking read() call. In this case, exit() will end up calling
esd_fini_in which will try to pthread_join() the blocked thread, resulting
in a dead-lock.
This change just gets rid of the helper threads and just performs audio output
and input in the main event loop, avoiding blocking i/o completely. I haven't
experienced any difference compared to the original one, be it in audio lag
or CPU usage when playing a simple MP3 file in the emulated system.
The change also updates the update-audio.sh script since we don't store
our sources in p4 anymore. A small fix in common.sh deals removes an obsolete
special case that is not needed anymore when determining the location of the
host prebuilt binaries.
The version number is also bumped to 1.12 and CHANGES.TXT updated
accordingly.
|
|
|
|
| |
BUG: 2044596
|
|
|
|
|
|
| |
This also modifies hw-events.c because EV_KEY has both
BTN_XXX and KEY_YYY labels that must be accounted for in the
list.
|
|
|
|
|
|
|
|
| |
Bump version number to 1.11 in android/android.h
Update CHANGES.TXT to reflect SDK 1.5_r3 changes
Update some comments in android/boot-properties.[hc]
Add a --debug option to android-configure.sh (and android-rebuild.sh)
to build a unoptimized debug version of the standalone emulator binary.
|
|
|
|
|
|
|
|
|
|
|
| |
This value can be overriden with the already existing -dpi-device <value> option.
The value is mapped to one of 120,160 and 240, then set to the boot-time property
named qemu.sf.lcd_density used by the framework to properly select assets and/or
resize them at runtime.
This means that "emulator -dpi-device 130" will select 120 lcd_density, or
"emulator -dpi-device 220" will select a 240 one.
|
|
|
|
|
|
|
|
|
|
|
| |
to the "sensors" service at the same time. Each client can decide to
listen to different sensors, with different delays too.
The previous implementation only allowed a single client, which blocked
anything application that tried to read the sensors (since the framework
was already the only allowed client)
Signed-off-by: David 'Digit' Turner <digit@google.com>
|
|
|
|
|
|
| |
Fix distrib/make-distrib.sh script to work with git
Fix distrib/build-emulator.sh to accomodate for new SDL configure script
Handle Tiger SDK usage in SDL configure script
|
| |
|
|
|
|
| |
This is different from using the F5 default key-binding that generates the same thing.
|
|
|
|
|
|
|
|
|
|
| |
boot-time system properties from the command line. This is done
by implementing a new 'boot-properties' qemud service in the emulator.
This is to be used by the 'qemu-props' helper program that will be
invoked by /system/etc/init.goldfish.rc to read a list of system
properties from the emulator and set them in the emulated system
during boot.
|
|
|
|
|
|
|
|
|
|
|
| |
system images.
without this, networking doesn't work well when using the 1.1 add-on with
the cupcake sdk
Original author: digit
Merged from: //branches/cupcake/...
Automated import of CL 146315
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
android/hw-qemud.c
Document the supported QEMUD services in known Android systems
Print "Press F6 to exit trackball mode..." in the window title bar when one
activates the persistent trackball mode. The actual text depends on your
key binding configuration.
Refine the skin directory auto-search paths when an AVD name is not given on the
command line. This makes the following work correctly:
tools/emulator -sysdir platforms/android-1.5/images -data foo.img
Original author: digit
Merged from: //branches/cupcake/...
Automated import of CL 145976
|
|
|
|
|
|
|
|
|
|
| |
console "redir add" command from working properly
Fix a bug in sock_address_init_resolve which caused a crashed when getaddrinfo() returned an error.
Original author: digit
Merged from: //branches/cupcake/...
Automated import of CL 145975
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
"sdcard.path" in config.ini to indicate an explicit SD Card image file (instead of using the one in the content directory)
Note that this also fix a bug where the SD Card image was not properly locked in the previous implementation.
Allow the http-proxy support code to actually manage to receive chunked encoding data, instead of complaining needlessly.
Introduce a new CharBuffer object that is used indirectly by "-radio <hostdevice>" and "-gps <hostdevice>" options
Add new documentation for QEMUD and CharDriverState objects
Update the Audio documentation with ASCII graphics (because I'm an artist too)
Original author: digit
Merged from: //branches/cupcake/...
Automated import of CL 144596
|
|
|
|
|
|
|
|
|
|
| |
trying to use an AVD while
ANDROID_PRODUCT_OUT is not defined. Argh..
Original author: digit
Merged from: //branches/cupcake/...
Automated import of CL 143179
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|