| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Change-Id: I49e96e2d5ae571849b0b6fef0a30b41ecdee8d23
|
|
|
|
| |
Change-Id: I4620b4560465ed105202332b59f91b708d91a525
|
|
|
|
|
|
|
|
|
|
| |
In some versions of the kvm module in Ubuntu, the host's GS_BASE MSR is not save/restored correctly
when running guests on 64-bit hosts if the qemu/emulator is 32-bit.
This patch implements a workaround in the emulator code.
Change-Id: If3ebe3cb49f377c5d0547c75f6ac3a3ceacdc375
Signed-off-by: Yunhong Jiang <yunhong.jiang@intel.com>
Signed-off-by: Jun Nakajima <jun.nakajima@intel.com>
|
|
|
|
|
|
| |
Silly me, KVM is only available on Linux hosts.
Change-Id: I983c87b1f5473e92823398b7812a574f56fc3a68
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch fixes the build of KVM support in the x86 emulator by
copying official Ubuntu Lucid KVM headers into android/config/linux-*/
This removes the need to rely on the build machine's versions of these
headers, which caused various issues.
Also, by default, the emulator will now probe the system to see if it
can start in KVM mode automatically. See android-kvm.c for details.
You can see the result of the probing with the -verbose option.
IMPORTANT NOTE:
It looks like there is a bug in the KVM code when the emulator
is built as a 32-bit binary, running on a 64-bit kernel, so
we explicitely disable KVM when we detect this case. It's hard
to tell whether this is a bug in QEMU or some versions of the
KVM driver.
As such, KVM only works when building the emulator as a
64-bit program. For now, this is only possible with
"android-configure.sh --try-64", not the Android build system.
+ Add a new QEMU option (-disable-kvm) to explicitely disable KVM
if needed. This is an addition to -enable-kvm which already exists
(and forces usage of KVM).
Change-Id: I6a397cae29ab62b1c56fce95c1ee75a4664d6688
|
|
|
|
|
|
|
|
|
|
| |
This patch enables KVM mode on x86 Linux to boost performance of x86 emulaiton
if the hardware-based virtualization feature is present on the host machine.
Change-Id: I4b24474b3ec115a3b9a7bf017801f4f610253b09
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>
|
|
|
|
|
|
| |
The feature is no longer optional.
Change-Id: I4558f12e3804e42069e8a3e6bcf0837d350206ed
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
This fails to build on MacOS X
This reverts commit a39b10bd2574825a815d6ad854499dd127cfa9cb.
|
|
|
|
| |
Change-Id: I105c5a097c988cb964b47b40b71c7a08af0d9210
|
|
|
|
|
|
|
| |
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>
|
|
|
|
| |
Change-Id: I383927c7805e840031d83ef7154c335519e1f5a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch adds support for an optional file "snapshots.img" in the
data directory of an AVD. This file should be an image formatted with
the qcow2 file system and will be mounted on -hdb when the emulator
starts up. If present, the emulator will attempt to load the snapshot
named "default-boot" from this image, rather than going through the
full boot procedure.
To control the behaviour of this functionality, this patch introduces
the following new command line options for the emulator:
-snapstorage <file>: override the default location of the
snapshot storage file.
-no-snapstorage: do not load the snapshots file, even if an explicit
path is given.
-snapshot <name>: instead of loading "default-boot", load the state
snapshot with the given name.
-no-snapshot: do not load a snapshot, but force a full boot
sequence, even if a snapshots file is mounted. Useful for
creating snapshots.
Note that this functionality is experimental and will be enabled
only if the constant CONFIG_ANDROID_SNAPSHOTS in
android/config/config.h is set to "1" before building. It is turned
off by default.
Change-Id: Iee2e9096a27f3414bacfc271f90ef93a98730c82
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Change-Id: Idb0e3c52100693958f4856568969985899d0aedd
|
|
|
|
| |
Change-Id: I3f42635204bed9f078577d668da4a01263d1ba86
|
|
|
|
|
|
| |
+ remove obsolete 'Linux' config directory.
Change-Id: Ib0cc7e2ab6b5b90a2cfe43bd0afced692b29d6dc
|
|
|
|
| |
Change-Id: Ic3c0dcf07dbe0d172ac9a18fc2775d33d171fb60
|
|
|
|
| |
+ 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 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
|
|
|
|
| |
Change-Id: Ia19b4e14b84c12edc040a70144a97b5ca9474b00
|
|
|
|
|
| |
Also fix OS X build, which failed with a link error.
Change-Id: Idd63f25dc1f46ea66da5727c7577def34f048c3c
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|/ |
|
| |
|
| |
|
| |
|
| |
|
|
|