| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch modifies android-configure.sh in several ways:
- It adds --gles-include and --gles-libs options to point
to the location where one can find the headers and host
shared libraries required for OpenGLES emulation support.
- It also adds --no-gles to disable adding such support.
- In the case of a platform build, it auto-configs
--gles-include and --gles-libs for you.
- adds '#define CONFIG_ANDROID_OPENGLES 1" to the
auto-generated config-host.h file.
This is in preparation of more GLES-related patches.
Note that this does *not* add GLES emulation support to the
emulator itself, this will come later.
Change-Id: I42d93475d323334db1b585f61c963688c80a3f06
|
|
|
|
|
|
|
|
|
|
| |
Other Android.mk parsed before this one may define SDL_CONFIG
in an unexpected way. We only use this variable as input when
want to implement the --sdl-config option in ./android-configure.sh
Use QEMU_SDL_CONFIG instead to avoid issues.
Change-Id: I89d56284017c696227d7c66ea7d7b0acaa73a9ca
|
|
|
|
| |
Change-Id: I49e96e2d5ae571849b0b6fef0a30b41ecdee8d23
|
|
|
|
|
|
|
|
| |
This patch ensures that CONFIG_KVM_GS_RESTORE is defined
in the auto-generated config-host.h. Does not affect normal
platform builds.
Change-Id: Ib064fd44d73e9b6e9b3e9349c1e72c060a83f38c
|
|
|
|
|
|
|
|
| |
+ Fix LOCAL_GENERATED_SOURCES handling
+ Fix missing library dependencies for executables
+ Move generated library files to objs/libs/ (instead of objs/)
Change-Id: If3ebaa7ae856efa9bd3ff9e2c199389989db7f71
|
|
|
|
|
|
|
|
| |
The latest patch broke the script because TARGET_ARCH is no longer
defined as it should. Use the --arch=x86 option to force an x86 build
(which currently fails though), arm being the default.
Change-Id: Ie5f508b2caa972620787fc268f8dccc02df65f2b
|
|
|
|
|
|
|
| |
Change-Id: Ic73cca0fc6c6e5cf74f63daa6080d00aa7c392bb
Signed-off-by: Xiaohui Xin <xiaohui.xin@intel.com>
Signed-off-by: Yunhong Jiang <yunhong.jiang@intel.com>
Signed-off-by: Jun Nakajima <jun.nakajima@intel.com>
|
|
|
|
|
|
|
|
| |
This makes android-configure.sh probe for our custom 32-bit
toolchain. If found, it will be used unless you have defined
CC in your environment, use --try-64 or --cc=<compiler>
Change-Id: I40855378eaadf52daf004dab074e53b9df0262b5
|
|
|
|
|
|
| |
This actually prevents the script from working when using a cross-toolchain.
Change-Id: I9083cbb1fc78a9e5e3e569259ccdc7c87698ceef
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change only applies to the stand-alone build system. It ensures
that when one does the following under Linux:
./android-configure.sh --mingw
make
then, the Windows executables that are generated have their name
ending in .exe (e.g. objs/emulator.exe instead of objs/emulator)
This does not affect the Android build system which already does the
right thing (and is used to build SDK binaries).
Change-Id: If9597e550f0bceec04d334eb84199a0f024a3fdf
|
|
|
|
|
|
|
|
|
|
| |
The host endianness in android-configure.sh was backwards (assuming
that HOST_BIGENDIAN=1 means that the host is bigendian). However,
the script also failed to use the result, which is probably why
nobody noticed. Now, HOST_WORDS_BIGENDIAN is defined in
config-host.h if HOST_BIGENDIAN is 1.
Change-Id: Ied07f9db76c24e5ce403ae17fde5df7f50fafe8a
|
|
|
|
| |
+ add a <machine/bswap.h> probe to android-configure.sh
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This allows you to access the QEMU virtual machine monitor directly
from the console (instead of playing with the command-line to do it).
The implementation of the 'quit' command has been modified to simply
close the connection, instead of stopping the emulator program.
This patch introduces changes that allow a console session to be
detached and redirected at runtime to other internal services of
the emulator program. This will be useful in the future to implement
other features.
+ doc typo
+ add proper definitions for CONFIG_ANDROID on config-host.h
+ remove obsolete sysdeps.h dependency in android/console.c
Change-Id: If16cfe41c12a26eb8f56e3a9c24452eafa5efab4
|
|
|
|
| |
Change-Id: Ifaf876c41ab6c7275ba7d1dc8e12139f62840cd6
|
|
|
|
|
|
| |
This should ease testing of the Windows build during development.
Change-Id: I45cc9e396a0e82d764cf7a27fd40ad7c5367c51a
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This removes the requirement to build the SDL library before the rest
of the emulator. The prebuilt SDL library and installation is now optional
and is only kept for the full Android build on Linux (mainly to avoid having
to install many dev libraries on build servers).
This patch affects both the Android and standalone build systems.
The script android-configure.sh will not use a prebuilt SDL installation
unless you explicitely use --sdl-config=<script>.
Tested for linux-x86 / darwin-x86 / cygwin / linux-mingw builds.
Change-Id: If973b2ad199f06aeeff43aec387d1ac629487529
|
|
|
|
| |
Change-Id: I232b9c4df372e1fded97694fffcd72ef9ea113c4
|
|
|
|
| |
Change-Id: I18025d9c154a02af5d6298c7d7f72fc9f2c1c5d7
|
|
|
|
|
| |
Also fix OS X build, which failed with a link error.
Change-Id: Idd63f25dc1f46ea66da5727c7577def34f048c3c
|
|
|
|
|
|
|
|
|
|
| |
emulator executable.
This is needed to run the emulator in restricted environment where libX11.so and even
libstdc++.so are not available. Only tested on Linux. The resulting binary will not
start unless you use -no-window. Also don't expect any audio output working.
Change-Id: Ia736898cd3ae6eb928614a00a1a3e18cc8086a5c
|
|\
| |
| |
| |
| |
| |
| |
| |
| | |
Tools package revision.
Merge commit 'dc3dd741551c323bb853782656c0d693db98ecdc' into eclair-mr2-plus-aosp
* commit 'dc3dd741551c323bb853782656c0d693db98ecdc':
Extract emulator major version number from SDK Tools package revision.
|
| |
| |
| |
| |
| | |
The minor version number is now always 0, this makes the next
version number "5.0" currently in the eclair branch.
|
|\ \
| |/
| |
| |
| |
| |
| | |
Merge commit '73b9926fd43c9b5cd00319c5d117448bd1b31112' into eclair-plus-aosp
* commit '73b9926fd43c9b5cd00319c5d117448bd1b31112':
Fix upstream ARM emulation bug that broke singlestep mode.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This fixes a really bad bug in the Thumb/Thumb2 ARM emulation related to
conditional instructions execution. The issue was that the previous
implementation did break badly if a page fault occured during the conditional
instruction's emulation. Giving an example if probably the best way to demonstrate
this. Consider the following two instructions:
itt eq
streq r0,[r4, #0]
These two instructions mean, respectively:
- If the Z flag is set, execute the next instruction. Otherwise ignore it
- Store the value of r0 at the address pointed to by r4
In single-step mode (used when debugging the emulator), each instruction is
separately JIT-ed and executed in a different pass. The 'condexec_bits' field
of the CPU state if used to store flags corresponding to the conditional
execution of up to 4 next instructions.
When the first instruction is executed, it simply sets 'condexec_bits' to a
specific value (4).
When the second instruction is executed, things get slightly bit more funky
because what happened was the following:
- the JIT-ed code started by clearing the 'condexec_bits' right at the
start of its sequence (a comment says "to avoid complications trying to
do it at the end of the block", famous last words...)
- a conditional test, based on the current value of the Z flag was added
to skip over the rest of the instruction sequence
- the store itself is implemented through a call to the __stl_mmu helper
function.
The thing is that __stl_mmu may implement a *page fault* (i.e. when the
address in r4 hasn't been commited to memory yet) which requires a switch
to kernel mode (to populate the page), then going back to the instruction's
execution.
This is done in the current implementation by re-running the JIT-er for the
same instruction, however, since 'condexec_bits' was already cleared to 0,
the new JIT-ed code sequence doesn't have the conditional test to skip over
the store. The conditional instruction has been transformed into a
non-conditional one due to the page fault ! This results in either bad behaviour
or, even a crash in the emulator.
The patch fixes the clearing of condexec_bits to happen as it should, i.e.
only when execution has really cleared it.
This is preliminary work to fix the -trace option.
Also, disable the IO Thread when running the standalone emulator. This makes
debugging much easier since everything happens in a single thread.
|
|\ \
| |/ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|/ |
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|