History log of /external/qemu/android/utils/system.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
7654e7efee943bdbaf167170a087388c54681366 11-Jul-2014 David 'Digit' Turner <digit@google.com> emulator-arm64: ARM64 wrapper for QEMU executable.

This patch adds two new binaries (emulator-arm64 and emulator64-arm64)
which act as a wrapper for QEMU-based emulation engines for ARM64
emulation (and ARM64 _only_).

The (prebuilt) qemu binary must be located under:

$PROGRAM_DIR/qemu/$SYSTEM/qemu-system-aarch64$EXE

Where:

$PROGRAM_DIR is the location of the 'emulator-arm64' binary.
$SYSTEM is a host system tag (e.g. linux-x86 or linux-x86_64)
$EXE is the host executable extension.

The program is in charge of parsing command-line arguments,
computing AVD configuration, then calling the QEMU program
with a (very long) list of configuration arguments.

See https://qemu-android.googlesource.com/qemu-ranchu/ for
scripts used to rebuild the QEMU prebuilt binary from
sources.

Change-Id: Ifcb9dd50fc5d83a864a1f957d12b1c199e0504fb
/external/qemu/android/utils/system.h
7891dd35fa2439a70f43ab8572778a398365bf24 28-Apr-2014 David 'Digit' Turner <digit@google.com> Support building with newest Mingw64 cross-toolchain.

This modifies android-configure.sh to detect the new Mingw64-based
cross toolchain (i.e. x86_64-w64-mingw32-gcc) and use it when it
is in the user's path.

Note that this only builds a 32-bit Windows binary, it just uses
a different toolchain to do it. A future patch will add support
for building both Win32 and Win64 binaries at the same time
(which the new toolchain supports).

Since this switches from GCC 4.2 to 4.8, this introduces a ton of
new warnings that require some cleanups in the sources too.

Only the most important warnings are fixed here.

Change-Id: Iec8c9b8332d4a38a2cb8acf368c8aa5341cf77be
/external/qemu/android/utils/system.h
af81d7432594d8459c4fb9f76c5e8a981f69a94c 03-Feb-2014 David 'Digit' Turner <digit@google.com> Add android/utils/eintr_wrapper.h

Add a new Android-specific header that defines two macros to
handle EINTR in a consistent way, as well as allow detecting
when a system call loops too many times and exit with a fatal
error message when that happens.

+ Unit tests.

+ Update existing code under android/ which uses to deal directly
with EINTR to use the new HANDLE_EINTR() and IGNORE_EINTR()

+ Remove EINTR checks for functions that call socket_xxx() functions
which already loop around EINTR.

Change-Id: I1d2ee64d9743a2edc506f616465ea091878db620
/external/qemu/android/utils/system.h
7745b32edeb9ec1c2763030bb42a8fc0c3e6d8c4 22-Jan-2014 David 'Digit' Turner <digit@google.com> Fix Windows command-line quoting.

When the 'emulator.exe' program invokes the real emulation program
(e.g. 'emulator-arm.exe' or 'emulator-x86.exe'), it passes its own
command-line arguments through execv().

Unfortunately, on Windows this doesn't work, as the command-line
arguments must be quoted in a special way. This is describ
is described in detail in the MSDN blog post named
"Everyone quotes command line arguments the wrong way" [1]

The code under android/main-emulator.c had several problems:

- It only quoted the first parameter (the program name), but
not any other one.

- The quoting was too naive to work in the general case.

This patch adds a utility function named win32_cmdline_quote()
to perform correct quoting, and changes android/main-emulator.c
to use it.

Fix for http://b.android.com/18317

[1] http://blogs.msdn.com/b/twistylittlepassagesallalike/archive/2011/04/23/everyone-quotes-arguments-the-wrong-way.aspx

Change-Id: I7cfd6ddd10706c7aeb6c7df56e20398277d78409
/external/qemu/android/utils/system.h
c7389bd69e570a2c8432b37399aff1976b021f0f 13-Mar-2012 Andrew Hsieh <andrewhsieh@google.com> 64-bit emulator

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
/external/qemu/android/utils/system.h
462564f31bbdc9939bf1d2376e2782defa7ef655 23-Feb-2011 David 'Digit' Turner <digit@android.com> Minor cleanups for core/ui Makefile separation.

This patch contains minor cleanups that will be needed by
a few future patches that will improve the way core and ui
sources are separated and built.

- remove a few compiler warnings
- formatting
- remove the memcheck CONFIG_MEMCHECK checks (they later get in the way)
- refine hw/hw.h inclusion's of cpu.h (this comes from upstream)
- add missing definitions for PRUd64 and PRUx64 (used later)
- remove CONFIG_SHAPER test, replace with CONFIG_ANDROID instead.
- add missing strdup() calls.

Change-Id: Ic7d6681a51af718c298f0ee4bd884b1d8750f28e
/external/qemu/android/utils/system.h
fc8ed80ba1362d2ce500003625e1c9c39f765661 10-Feb-2011 Xavier Ducrohet <xav@android.com> Revert "Build arm and x86 binaries at the same time."

This fails to build on MacOS X

This reverts commit a39b10bd2574825a815d6ad854499dd127cfa9cb.
/external/qemu/android/utils/system.h
a39b10bd2574825a815d6ad854499dd127cfa9cb 07-Feb-2011 David 'Digit' Turner <digit@android.com> Build arm and x86 binaries at the same time.

Change-Id: I105c5a097c988cb964b47b40b71c7a08af0d9210
/external/qemu/android/utils/system.h
622f1530c8a6badfbcaf8c59976348678fbe248b 01-Feb-2011 David 'Digit' Turner <digit@android.com> Generate temporary hardware.ini from configuration settings.

This patch generates a temporary hardware.ini from the hardware
configuration. The idea is to move as much hw config info as possible
to a single file that the core can read.

Other patches will change how various config info is passed to the
core, from command-line options to the generated hardware.ini.
/external/qemu/android/utils/system.h
4c0f745dc80d392fddea23eb8d4d7d86425ce0c6 17-Nov-2010 David 'Digit' Turner <digit@android.com> Update android/utils/ with misc. new features.

This introduces a few new features to android/utils/ that will
be used in later patches.

+ <android/utils/assert.h> to handle assertions
+ <android/utils/vector.h> to handle dynamic arrays
+ <android/utils/reflist.h> slightly updated (more docs)
+ <android/utils/refset.h> implements a set of pointers

Change-Id: Iebc14cfefd1c0e8aaecda9958a980d40f0be610a
/external/qemu/android/utils/system.h
8b23a6c7e1aee255004dd19098d4c2462b61b849 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/external/qemu/android/utils/system.h
f721e3ac031f892af46f255a47d7f54a91317b30 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/external/qemu/android/utils/system.h
c27f813900a3c114562efbb8df1065e94766fc48 11-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@130745
/external/qemu/android/utils/system.h