| Commit message (Collapse) | Author | Age | Files | Lines |
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Statically linked emulator is easy to setup in sandboxed environment.
With this and BUILD_HOST_static in build/ (seperate CL), statically-linked
SDK tools can be built with the following command
BUILD_HOST_static=1 make PRODUCT-sdk-aapt adb aidl dexdump fastboot \
llvm-rs-cc dmtracedump emulator emulator-arm emulator-x86 \
etc1tool hprof-conv mksdcard sqlite3 zipalign
No need to build HW GL libraries (libOpenglRender, libGLES_CM_translator,
libGLES_V2_translator and libEGL_translator) because statically-linked
emulator doesn't support audio and graphics. (eg. -no-window)
Change-Id: I209287a00f66295b8b8135451025428f03776a1a
|
|/
|
|
|
|
|
|
|
|
| |
- Allow building with OpenGL ES acceleration disabled, avoiding a
dependency on stuff outside the QEMU project.
- Allow the standalone configure.sh to provide the include/lib path
for the OpenGL ES libraries.
- Update the default OpenGL ES include path for standalone builds.
Change-Id: I03f4627af4c271783b65a116ceb5934385c68cdc
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The emulator opengles.c file duplicated the function declarations from
libOpenglRenderer's render_api.h instead of including it directly.
This led to multiple bugs since the declarations didn't actually
match, but there was no way for the compiler or dynamic loader to
check this.
This change makes opengles.c include render_api.h to get function
pointer prototypes, and changes the prototypes/implementation as
necessary to make both sides actually match. It should be much more
difficult to introduce interface mismatch bugs now.
Two bugs this change would have prevented:
(a) The interface mismatch caused by inconsistent branching which led
to GPU acceleration crashing on Windows. With this change, we
would have caught the problem at compile time.
(b) The emulator verbose log has always been printing "Can't start
OpenGLES renderer?" even when the renderer started fine. This is
because the renderer was returning a bool (true == success) but
the emulator's declaration said it returned int, and the emulator
assumed 0 meant success. This difference in return type should now
be caught at compile time.
Change-Id: I5b3c70c9a40854332d67e37333acd6edb6ad01f6
|
|
|
|
|
|
|
| |
Restore rules in Makefiles for Linux 64-bit emulator, now that
all the dependencies are merged (toolchain, lib64*.{a,so}, etc)
Change-Id: I25ecc53837ad9f10ceafb89d9e1d7a3124ce2d71
|
|
|
|
|
|
|
|
|
|
| |
The new prebuilt toolchains prebuilts/tools/gcc-sdk points to aren't
available in AOSP yet (*). Without it, 64-bit emulator can't be built.
Revert to previous prebuilt toochain and disable 64-bit emulator for now.
(*) This git auto-sync to AOSP in short-time
Change-Id: I7301bcbcbc1d4505d34ad69b562d0b9e5968093a
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Patch to allow emulator searches for emulator64-${ARCH} first on
64-bit OS. If none is found, the original behavior which searchs
for 32-bit emulator-${ARCH} is performed as usual.
64-bit emulator (which still emulates Android built in 32-bit) offers
up to 20% speedup compared to its 32-bit counterpart.
Details:
android/main-emulator.c
1) search emulator64 based on the OS
2) dlopen lib64OpenglRender in 64-bit
Makefile.*
1) Rules to build 64-bit executable emulator64-{x86,arm} and libraries
emulator64-{libui,libqemu,target-i386,target-arm,libelff,common}
2) remove -Wa,-32
3) Changes prebuit toolchain path
android-configure.h
android/build/common.h
1) no longer force 32-bit build (because now prebuilts/tools/gcc-sdk/gcc
can now handle 64-bit
2) set ANDROID_PREBUILTS to correctly locate ccache
android/config/*/config-host.h
1) Detect HOST_X86_64 and HOST_X86_64/HOST_I386
Misc 64-bit porting clean-up
1) use %zx to print variable of type size_t in hex
2) use %zu to print variable of type size_t in dec
3) Initialize query_parm to NULL
4) use PRIu64 to replace PDUd64
5) use PRId64/PRIu64/PRIX64 to print 64-bit
6) drop PRUx64 because PRIx64 does the same
7) cast pointer arith to intptr_t before casting to int
8) fixed 1ULL<<63
Change-Id: Ife62a20063a6ec38d4a9b23977e840af1fce149a
|
|
|
|
| |
This reverts commit 6e8d9298782ce4d5a7d506638ced4de0396735f9.
|
|
|
|
| |
Change-Id: Id28db802a5401141a5ec1052de81dbee5033577f
|
|
|
|
| |
Change-Id: Id990e37b9d8803aa5a23c365076c4044ef4719af
|
|
|
|
|
|
| |
Lion/XCode4 needs to be explicitly told the dynamic library
lookup symbols in the precompiled libSDL are resolved at
runtime
|
|
|
|
|
|
|
|
|
| |
Force the inclusion of the dynamic linker libraries used by the
prebuilt libSDL. I did look at turning the switch on to build libSDL
from source, but libSDL-1.2 isn't buildable under 10.7/XCode 4,
and they've moved on to 1.3 now, so that would have been a dead end;
Change-Id: Idf75bb46e855929543395811d4d56e1f7dfa3785
|
|
|
|
|
|
|
|
|
|
|
| |
This is change of a check in the emulator build file so it only
applies a rule when it's being run on 10.6 instead of what it
currently does, which is apply the run to any build running on
10.5 and above. This is needed because it's the part of the
emulator build which requires the 10.4 SDK, which, of course,
isn't available under XCode 4;
Change-Id: I4748cc4ac50c966a7add04e000aa665d4738ba62
|
|
|
|
| |
Change-Id: I01609e8bfcdd8ee5ef876344d0a334ecd69a2b7a
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is fully functional camera service implementation, that works (tested) on both,
Linux and Windows.
Fixed little/big endian bugs in the coverter code. Moved preview frames to use RGB32
instead of RGB565: RGB32 conversions are simpler and faster in the guest.
Made "payload size send" a separate routine
Change-Id: I96954f4c2cb4e4ef4dd6a20e41897d79c5037bae
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch adds a new hardware property to enable GPU emulation
(named hw.gpu.enabled). It is currently disabled by default.
It also modifies the UI code to display the GL output properly
inside the UI window. And sets the kernel parameter qemu.gles
to either 0 or 1 to indicate to the guest system's GLES libraries
whether to use GPU emulation or fallback to the software renderer.
A future patch will also add auto-detection of desktop GL capabilities.
For example, if the emulator is started on a headless server without
an X11/GL display, hw.gpu.enabled will be forced to 'no', forcing the
guest to use the software renderer.
Another patch will allow to change the property from the command-line
for debugging purpose.
NOTE: If you want to test GPU emulation, change the default value of
the property in android/avd/hardware-properties.ini from 'no'
to 'yes'. You will need to run a ToT master AOSP tree with
the following pending patches applied:
https://review.source.android.com/25797
https://review.source.android.com/25154
https://review.source.android.com/25759
Change-Id: I1fa3512be24395244fd5068f2bf59ad54db5c7d5
|
|
|
|
|
|
|
|
|
|
|
| |
This patch modifies the emulator's build system to place the
auto-generated file android/avd/hw-config-defs.h into the build
directory. Before that, the file was placed in the source tree.
+ Fix the standalone build system to properly deal with
generated source file dependencies + LOCAL_C_INCLUDES
Change-Id: I4e77cd20bf4ca21f79d5dd19f27724bd8be53a79
|
|
|
|
|
|
|
|
|
| |
Turns out that the string passed to putenv() must not be modified :-/
We provide our own win32 implementation for emulator-ui that doesn't
embed the os-win32.c QEMU-specific file.
Change-Id: I7260fbc37d23a5340dab589dfde577ef5eb10005
|
|
|
|
|
|
|
| |
This option is no longer necessary, nor is it supported by recent versions
of Cygwin and/or i586-mingw32msvc-gcc.
Change-Id: Ie34481b60bfc3c1ced3e1ba09c4c935a7867e96d
|
|
|
|
| |
Change-Id: I6856ded73b4dcd10fe4831697c8518f958aeffbb
|
|
|
|
|
|
| |
+ Generate qemu-options.def instead of qemu-options.h
Change-Id: I043e6b0c1c58e5cc2e96d05465f39b42f9054b5a
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
This avoids a problem where the Makefile force the use of the
non-existing prebuilt/windows/ccache/ccache.
Change-Id: Icad0fb91a211787bbe73b169aa4e8046de349679
|
|
|
|
|
|
| |
The previous commit broke it due to the way it handled LOCAL_AR.
Change-Id: I3458f9306b3fca9771d868673ae89f4d995aeec3
|
|
|
|
|
|
|
|
|
| |
HOST_CC and HOST_CXX are defined/controlled by the build system.
We don't want to redefine them here because this forces, on Linux,
the use of the 32-bit host toolchain for all other host modules
built after external/qemu.
Change-Id: Ic9dc32b56f5e8d28559b5375178768726ad5cdcc
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch modifies the way we build the emulator's various programs.
It reduces the number of static libraries generated, and better segregates
between common, ui, qemu and target-specific code.
Note that we build both the arm and x86 binaries at the same time in all
build scenarios for now. This is done to catch build regressions as soon as
possible.
Change-Id: I6240705041e137e32f207e1e2444c614c52aaf05
|
|
|
|
|
|
|
|
|
|
|
|
| |
The differences between android/main.c and android/main-ui.c are now
minimal, so remove the latter source file by moving the corresponding
code into android/main-common.c
Also add a -snapshot-no-time-update core option to implement the
emulator-ui -no-snapshot-update-time option. We're probably going to
clean this up a little in the future, but this is enough for now.
Change-Id: I868bb4e47c3d106ae7436ee3f5b2c0ff5fb6ea5c
|
|
|
|
|
|
| |
This fails to build on MacOS X
This reverts commit a39b10bd2574825a815d6ad854499dd127cfa9cb.
|
|
|
|
| |
Change-Id: I105c5a097c988cb964b47b40b71c7a08af0d9210
|
|
|
|
|
|
|
| |
This makes it easier to distinguish between the ARM and x86 versions
of the program.
Change-Id: Id6991e4c4b14c560d1732da05e253c678ca392d9
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
| |
Get rid of console-ui.c, qemu-timer-ui.c and modify vl-android-ui.c
to use a generic Looper object instead of a crummy event loop.
We still need to implement qemu_set_fd_handler for two sources under
android/protocol/ but this will be cleaned up later.
Change-Id: Icd0762675ca2f54e720a9cec40f96caea500b52f
|
|
|
|
|
|
|
| |
The QFrameBuffer is no used by QEMU-specific code anymore so it's
more logical to move it here.
Change-Id: Id49ff53dd49648000e7543652d66f7c03881a8cb
|
|
|
|
| |
Change-Id: I1f04ed1f00fccdea043f4a4fbf5ba745b36bbcc7
|
|
|
|
|
|
| |
This is a first step towards cleaning-up our initialization/startup code.
Change-Id: I2d4fbc5c2cd0181fb39a1a97a15650945038c3b9
|
|
|
|
|
|
|
| |
The file cache-utils.c contains code that is referenced in a
build for a PowerPC host.
Change-Id: I284481d4015de8d7fc230014faf9a1ead61c222c
|
|
|
|
| |
Change-Id: Ia68ceb57ee5b5a66fa76b837fe3b990eb12e7188
|
|
|
|
| |
Change-Id: I8ac4580af65b8d58976c97b77b309dd202e75003
|
|
|
|
| |
Change-Id: I08afb96ef17a52c3795f5029acfc244a93ab57c7
|
|
|
|
|
|
|
| |
Also cleaned the code up from obsolete ui-core-protocol.* and
core-ui-protocol.*
Change-Id: I194bec669d25b68a10c32b2be50bc9da50c52ebb
|
|
|
|
| |
Change-Id: Iecc1b5bb9ddcdaf9f22c500a5195718db3f25354
|
|
|
|
| |
Change-Id: I503aa691cada5250b76167a923d4a226d20ee41d
|
|
|
|
|
|
|
|
|
|
|
| |
The main reason for this is to clarify initialization for UI that starts core,
and UI that attaches to an existing core. In this CL I did:
- Removed -initdata option that seems obsolete (doesn't affect anything in the code)
- Passed through -timezone option that doesn't affect anything in the UI, and is needed
only in the core.
- Removed dependency on AVD info from the core (core needed only virtual device name)
Change-Id: Ie631249848a1b5b8d837c0c7b201a40ee7e4a367
|
|
|
|
|
|
|
| |
The reason for the build breakage is still mysterious though.
Were the system headers updated during the last system update ?!?
Change-Id: Ib0ea2b54bf7ffad907752c3a82fb4bbe686425a5
|
|
|
|
|
|
|
|
| |
This large patch upgrades the block support code to the upstream
version available in ba5e7f82169f32ab8163c707d97c799ca09f8924
dated 2010-08-08
Change-Id: I8b24df0c287e72f6620650a4d6a62e1bb315453e
|
|
|
|
| |
Change-Id: Ibd4321edb2abe349d32483a60fdb94a282f22240
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Change-Id: I184e27a1e8d88835bc9f0502eccfa3f64a7aaf9e
|
|
|
|
|
|
|
| |
Core display is a framebuffer client that receives framebuffer updates and dispatches
them to the UI attached to the core.
Change-Id: Iff1e0609cbe66240031e3670934a6796a9ae3b15
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Squashed commit of the following:
commit aeefab810c6331e2f96e81f20e4408b39dd3a2ca
Author: Vladimir Chtchetkine <vchtchetkine@google.com>
Date: Thu Dec 2 07:40:34 2010 -0800
Implement -attach-core UI option
Change-Id: I4168e2d707cab1b4873ee16d86d5126c1a316abf
Change-Id: I2da1ef5d53641f3c60d83d8d5ddf3aff34b0c6c7
|