History log of /external/qemu/include/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
0e5ff1bd3073e3847ac8400ba46814878beb8605 04-Jul-2014 David 'Digit' Turner <digit@google.com> memcheck: Remove feature entirely

This patch removes the memcheck feature from the Android emulator
code base. This is for several reasons:

- Supporting the feature impacts many QEMU-specific emulation files
in subtle ways, that make it difficult to refactor this code to
integrate upstream changes.

- The feature only works for ARM (32-bit), has no unit tests, and
generates massive amounts of false positive messages coming
from the platform.

- Barely anyone uses it.

This feature might make a comeback in the future, but this will be
under a different life-form that will have adapted to the new state
of the code.

+ As a bonus, fix the build!

Change-Id: Idd19a3bc7923379cb1e82850f14499549b6a991b
xec/exec-all.h
xec/softmmu_template.h
89461623ee2b7c0dc4019c43da575c3adf8497ee 28-May-2014 David Turner <digit@android.com> Merge "Allow path to KVM to be overridden by environment." into idea133
automerge: 4ebb7b4

* commit '4ebb7b422272c21d0c5c0c12bbdbb2879a3aff8a':
Allow path to KVM to be overridden by environment.
3a17697f24cc0f7aa0d7f72f356b20c08a8d3806 10-Apr-2014 thomas knych <thomaswk@google.com> Allow path to KVM to be overridden by environment.

In a secured environments /dev/kvm may not be readable/writable by the
current user. However the same device node may have been created at
another path by the administrator with file permissions that allow the
current user to access it. In order to use the emulator with KVM in this
environment, the hard-coded paths to /dev/kvm must be removed.

This introduces the ANDROID_EMULATOR_KVM_DEVICE environment variable.
If defined, this variable must point to the full device path.

Change-Id: I3ca3ae61c043a2e58d98756851770736db3647c5
Signed-off-by: thomas knych <thomaswk@google.com>
ndroid/kvm.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
xec/cpu-all.h
emu-common.h
86b1fb06ee6ef53d8961ce96343ba4aa37518840 21-Mar-2014 David 'Digit' Turner <digit@google.com> tcg: Upgrade to upstream version.

This switches the full TCG implementation to the upstream version
from the following upstream commit:

1a8e80d7e82aa385ad887dba5d039e399a18264b

Note that this requires completely reqwriting the softmmu_template.h
declarations to adapt to the new world order where all ld/st helpers
now accepts a CPUArchState* value as their first parameter.

+ This also gets rid of the REGPARM macro, which means that on
i386, parameters are now passed on the stack instead of using
registers. As surprising as it is, this doesn't seem to affect
emulation performance in significant ways when starting the
emulator with -force-32bit, compared to the latest SDK emulator
binary. This may be due to the improved binary translator.

Note that this doesn't switch the emulation to use the new
MemoryRegion API, so there are still a few minor differences
with upstream softmmu_*.h headers.

The target-*/ sources have been minimally modified to accomodate
for the changes, and everything seems to work. However, not that
CONFIG_ANDROID_MEMCHECK_MMU hasn't been tested yet.

+ get rid of obsolete softmmu_outside_jit.c

NOTE: There are two important differences with the upstream sources:

- An '#undef small' in tcg.c used to build the Windows binaries
with mingw32 on Linux.

- The declaration of cc_compute_all and cc_compute_c helpers in
target-i386/helper.h use TCG_CALL_NO_SE instead of
TCG_CALL_NO_SE_RWG. Otherwise, it's impossible to boot
an x86 system image properly.

Change-Id: I6ed5c58f237493d29b1cefaff3e0db6f58977fbf
xec/exec-all.h
xec/poison.h
xec/softmmu_defs.h
xec/softmmu_exec.h
xec/softmmu_header.h
xec/softmmu_template.h
emu/osdep.h
4bbd1f42c6455f56a434338e2ffb63523df0bfa0 14-Apr-2014 David 'Digit' Turner <digit@google.com> SCSI: Remove obsolete files.

Not used by the Android emulator, remove to simplify upstream integration.

Change-Id: I2a3b423ed15a1d2b65fcaa35382383e6db4e5985
w/scsi/scsi-disk.h
46d03d3c2f65781b5f826c0ae750224154008bbd 12-Apr-2014 David 'Digit' Turner <digit@google.com> Remove obsolete goldfish switch and memlog devices.

These devices were never used in any official SDK system images,
so remove them entirely.

Change-Id: I061c189a278cb9ca1c6cfe7eaf62d55959d9dd04
w/android/goldfish/device.h
7f38c7f905384c064b88fbdfa2eb054a92be63f3 26-Mar-2014 David 'Digit' Turner <digit@google.com> hax: CPUOldState -> CPUState

Change-Id: I4352da69e3a4e064a9fbaebee1dcb717cbb329b7
xec/hax.h
ysemu/kvm.h
e36a683b547e540c68bf9c5578e05b29c8676f47 25-Mar-2014 David 'Digit' Turner <digit@google.com> kvm: CPUOldState -> CPUState migration.

Change-Id: I1528b1fde21d42d6f0a3a77ce8ba827a9f23a5a1
ysemu/kvm.h
0b1a84571c04503c5fb1ac012483f03454e2b140 25-Mar-2014 David 'Digit' Turner <digit@google.com> gdb: CPUOldState -> CpuState.

Change parameter type and modify callers.

Change-Id: Iafcfe694279f715ed0b0fd92a55dfe884d0330e5
xec/gdbstub.h
aaef275467ba13162d52ef6f690fd97f9733eb58 25-Mar-2014 David 'Digit' Turner <digit@google.com> cpu_memory_rw_debug: Use CPUState instead of CPUOldState

Change-Id: I3c3440d6d13380dcde18260c54ebbba6e8616d6d
xec/cpu-all.h
xec/softmmu-semi.h
w/android/goldfish/vmem.h
bf7a22f3a6c38d359d2e933dec4706d1c7375f0a 25-Mar-2014 David 'Digit' Turner <digit@google.com> Move cpu_xxx functions to qom/cpu.h

This patch moves a few CPU-releated function declarations to
include/qom/cpu.h, while changing their signature to take a
CPUState instead of a CPUOldState.

Change-Id: I5f09b522dc755be334973a27f58b6704fbccc4c6
xec/cpu-all.h
emu-common.h
emu/log.h
om/cpu.h
om/object.h
fed223d2bab55eda155e3463b9cb6966e69dd73c 24-Mar-2014 David 'Digit' Turner <digit@google.com> Move singlestep_enabled to CPUState.

The previous patch forgot to move this field from CPU_COMMON to
CPUState, so do it here.

Change-Id: I71ed4605c939eb6c23d3e70b08ea89e59842cdd0
xec/cpu-all.h
xec/cpu-defs.h
om/cpu.h
6657678c3d86395084f6a699e73614195f06c445 24-Mar-2014 David 'Digit' Turner <digit@google.com> Introduce CPUState.

This patch splits the definitions previously found in CPUArchState,
to place some of them in a common data structure called CPUState,
to mirror upstream.

Note that upstream also makes CPUState a complete QOM object that
derives from DeviceState / DeviceClass, but this patch doesn't do
that. That's why the target-*/cpu-qom.h files, as well as
include/qom/cpu.h are not the real ones from upstream yet.

Future patches will get rid of CPUOldState, which is currently used
as an alias for CPUArchState, but will be replaced entirely by
CPUState, requiring changing the signature of many functions to
match upstream.

QOM-ification will probably happen after that, but may require
a few more patches due to layering / coupling issues.

Change-Id: Ifc33f8abe2aa80b20da13f5c83c109e37aff7e11

Conflicts:
cputlb.c
target-arm/op_helper.c
target-i386/op_helper.c
target-mips/op_helper.c
xec/cpu-all.h
xec/cpu-defs.h
w/qdev-core.h
om/cpu.h
4ab1225535dfc5fbcbde37a171b39224ea34e30b 24-Mar-2014 David 'Digit' Turner <digit@google.com> exec.c: Use a QTAILQ to list CPUs.

This introduces CPUState, a mere typedef to CPUOldState for now,
and changes the way CPUs are listed in QEMU. The goal is to get
closer to upstream, while also allowing really separating CPUState
from CPUArmState in future patches.

+ Move "current_cpu" to a thread-local variable on Linux, just like
upstream. Testing shows this doesn't affect performance.

Change-Id: Id07bbef4ba1584e607bec647d5117ac755c48ce6
xec/cpu-all.h
xec/cpu-defs.h
emu/tls.h
a49711e9c9b502d186114e600a045d33b5b61c4c 24-Mar-2014 David 'Digit' Turner <digit@google.com> Move hw/qdev.h declarations to hw/qdev-core.h

Change-Id: I2f2aef9a7df07e6b96f6bb07d2a91573b33a941d
w/qdev-core.h
w/qdev.h
e6125dec823c2725c6b494378a7acd5b6c33aa4f 04-Apr-2014 David 'Digit' Turner <digit@google.com> softmmu: Pass env to load/store routines.

Also define __ldl_mmu et al. in cputlb.c because the TCG-generated
code still calls these directly. Note that these will go once we
actually upgrade TCG to a more recent version.

Change-Id: Id1983a9f16f64a28c089e458c79f74ac065bf66c
xec/exec-all.h
xec/softmmu_defs.h
xec/softmmu_header.h
xec/softmmu_template.h
589fe9bc37aebf62e6d80c371d47a19e52a5f58a 03-Apr-2014 David 'Digit' Turner <digit@google.com> target-mips: Ensure do_unaligned_access() takes CPUArchState parameter.

Small cleanup to prepare for bigger ones.

Change-Id: I6ec45cc32a5d83283963fbf79099a76ede1b7d1f
xec/softmmu_template.h
fdec1f1b82ec4e5ce7b62b8120ba5b1218a9c0af 21-Mar-2014 David 'Digit' Turner <digit@google.com> memory: move mmio access to functions

Upstream acbbec5d438dcf04234519bac53e1f5263572d76

Change-Id: If0e08248bb93c345e7d112280f3aa23b6e295ad9
xec/exec-all.h
xec/softmmu_template.h
eb3bc46a1a876f279b06d7372bf5866fbcf4e8f8 21-Mar-2014 David 'Digit' Turner <digit@google.com> exec/softmmu*: Misc fixes.

Upstream 2050396801ca0c8359364d61eaadece951006057
Upstream b065927a02cbbaca032ed20d3039baca0914165c

Change-Id: I5b484ed026f8755804d443d45be2e96010cef60a
xec/cpu-defs.h
xec/exec-all.h
xec/softmmu_header.h
xec/softmmu_template.h
0d8b235c0c6c02de86a4e7415d574175b4518ff0 20-Mar-2014 David 'Digit' Turner <digit@google.com> Large page TLB flush

+ Remove unused is_softmmu parameter.

Upstream d4c430a80f000d722bb70287af4d4c184a8d7006
Upstream 97b348e7d221c94ddde609346407bd2cd6f85044

Change-Id: I7ccc6a8ffc040f91a58a3206d95417d22001b67b
xec/cpu-defs.h
xec/exec-all.h
84e503472843ff4c9e6da5cb3ffaa8b6de600dcd 19-Mar-2014 David 'Digit' Turner <digit@google.com> Avoid CPU endian memory accesses in devices

Upstream 21673cdecb9e9b5a22acaf0a44e47145beb1999e

Change-Id: Ib89ba8c62b6f52afab5f2835a78b3dcf8ed26e5f
xec/cpu-common.h
xec/poison.h
b9c76db8b369b7899768b32984eaebb2bbc18ddc 19-Mar-2014 David 'Digit' Turner <digit@google.com> ds1225y: Remove protection stuff, which doesn't belong to this device

Upstream 86f25c7c37c6f6250cfac4d0ee331af3ca73cac1

Change-Id: I324a0b423f59c938f71bb014356de12ebc4d4c4b
w/mips/mips.h
2afeb4c534203d6ab9ce2b003315ff8c25083a31 18-Mar-2014 David 'Digit' Turner <digit@google.com> exec: add endian specific phys ld/st functions

Upstream 1e78bcc19c60c60c11ece020ab35952b5b2895ec

Change-Id: I390ed55b83167b35bf773ce7957e29c3f879c52c
xec/cpu-common.h
44f815d624819c821e4baf588ee29837f649f4a6 18-Mar-2014 David 'Digit' Turner <digit@google.com> arm: Add const attribute to some arm_boot_info pointers

Upstream 462a8bc6468912b79629f20f18798558342ce315

Change-Id: I772f11dd9283780b6779db9d433921b2db910850
w/arm/arm.h
7f7d9a9741a5bf946a51bba2de1eb8fc3374149e 18-Mar-2014 David 'Digit' Turner <digit@google.com> exec.h: fix coding style and change cpu_has_work to return bool

+ Remove obsolete env_to_regs + regs_to_env functions.

Upstream f3e270377acd074f62e08960ef9444adf67d3590

Change-Id: Idd7561fce7b9a92f2194d2a9a1b710d32dc61183
xec/cpu-all.h
26d285dfa9f482e5b2f6d6df2bcb0eaed06cb1a9 18-Mar-2014 David 'Digit' Turner <digit@google.com> tcg: Use hash table + static table for helpers.

This changes the registration of helper functions inside of TCG to:

- Use a GHashTable to store the map from helpers to function names.
- Move the helper registration from targets to tcg.
- Merge tcg_register_helper into tcg_context_init.

Note: this makes TCG more dependent on target helper.h headers, it
adds significant coupling, but so be it.

Upstream 7c57df0d852a9a9faf9068ff235886c8b28b113e
Upstream 6e085f72c6d331fb0e9fc69e3061cd1e5893d9e4
Upstream 5cd8f6210f83db15702e81b91e40e7079608e6f3
Upstream 100b5e0170e86661aaf830869be930a1a201ed08
Upstream 84fd9dd3f78ced9d41e1160d43862bb620cb462a

Change-Id: Ie0877cf9a62451d89881e882d06d04456e5abe1b
xec/def-helper.h
eca7bc24e45fb6809582795ff88f13384b5ce7df 14-Mar-2014 David 'Digit' Turner <digit@google.com> softmmu_header.h: Pass CPUArchState to helper routines.

This patch modifies the functions defined in softmmu_header.h
to accept a CPUArchState as their first parameter, then it
adjusts every caller appropriately.

This gets up closer to upstream, and remove the obsolete
softmmu_outside_jit.h that was used to do the same thing.

Change-Id: I9eef01e95b7233c8c6f6da43d17262b9a9ebcd99
xec/softmmu_header.h
xec/softmmu_outside_jit.h
5bb450ee9cc5da0c6582e63f41c504c7861e2788 14-Mar-2014 David 'Digit' Turner <digit@google.com> Rename CONFIG_MEMCHECK to CONFIG_ANDROID_MEMCHECK

Change-Id: I9b0edcc1e243111f86f18c22eecbebb23219c297
xec/exec-all.h
xec/softmmu_template.h
96e493a7f0be0193cb17b24c3492d998411b5031 14-Mar-2014 David 'Digit' Turner <digit@google.com> Move memcheck implementation to android/qemu/memcheck/

Change-Id: I806820d2c3d3f1436bbca54e53a7fa1a0e0a4dba
xec/softmmu_template.h
6234c0bcfcdd730c6815136cf958b240af8f4a7c 14-Mar-2014 David 'Digit' Turner <digit@google.com> memcheck: Remove compiler warnings

+ Remove compiler warnings related to qdev_get_dev_path()

Change-Id: I40c239d9e363fc6426d571fd1146e4d33281fb0f
w/qdev.h
8b87a1d32dbee82bc393694bc87705119da0cb3b 14-Mar-2014 David 'Digit' Turner <digit@google.com> exec.c: Remove cpu_copy()

This moved to a user-only source in upstream.

Change-Id: Ifb68de420dba375423f973e56db2a066fe3003f6
xec/cpu-common.h
01ee5b8ded901c76731bab7a12a87c2002479014 14-Mar-2014 David 'Digit' Turner <digit@google.com> uninline get_page_addr_code()

Upstream d39e822265e56af761cc506ac45768ab8af940b4

Change-Id: I91600a59d9eb997503d01123b1a8c83e054a6d99
xec/exec-all.h
f5e9951fd9e847c21dd4834a195c09dd5d50af04 14-Mar-2014 David 'Digit' Turner <digit@google.com> exec-all.h: Fix void pointer arithmetic.

Upstream c2f36c6ce777c461faffa904aabaeb56e6458b9e

Change-Id: I24b2f49c750c9a8ffc9fe091d69930582df25ffd
xec/exec-all.h
3d82f5aa7dee68f223e033136992312fcf6c7f89 14-Mar-2014 David 'Digit' Turner <digit@google.com> Move GETPC() definition from dyngen-exec.h to exec-all.h

Upstream 3917149d96cfa5f619de770af6059f37b6e1df77

Change-Id: I24eb8d2a428be2477a85e2cf29299f9e54df624b
xec/exec-all.h
6cf763a179bb432ef845025bb3639fcaf1251bd0 14-Mar-2014 David 'Digit' Turner <digit@google.com> Fix unassigned memory access handling

Upstream b14ef7c9ab41ea824c3ccadb070ad95567cca84e

Change-Id: Ia198f76ad4277469a96eb79cf495e80f9d4b6196
xec/exec-all.h
e709a108c057b391882ba28dfd7095c3620473b7 14-Mar-2014 David 'Digit' Turner <digit@google.com> Remove obsolete tb_invalidate_page_range.

Upstream dcfd14b3741983c466ad92fa2ae91eeafce3e5d5

Change-Id: I04fa1834a36cf989c229a9fae26136d0481e486a
xec/exec-all.h
fb02a555a0a2a34e84389d9e441749cc58428531 14-Mar-2014 David 'Digit' Turner <digit@google.com> exec-all.h: Make MAX_OP_PER_INSTR large enough for target-arm's uses

Upstream 7a86d29a7e16e738d749cfece8857d8902790875
Upstream 5b620fb698e69a5386f2f02c7c455bdbdd59a52b

Change-Id: I9e386df22f031f2040e52ba67d6976e622000732
xec/exec-all.h
6d1afd3bf737fe15c9ba2a23c2f957ae8ff2e663 14-Mar-2014 David 'Digit' Turner <digit@google.com> softmmu_template: Pass CPUArchState to tlb_fill.

See upstream patch bccd9ec5f098668576342c83d90d6d6833d61d33

Change-Id: I889d8922d355bade60ae5c8cd00723692218a9c1
xec/exec-all.h
xec/softmmu_template.h
be0687e12aaee2d2c2becc00fc94798f1f245767 14-Mar-2014 David 'Digit' Turner <digit@google.com> exec/cpu-defs.h: use uintptr_t instead of size_t

Change-Id: Ib58d1f84de223a816e35737142f48256fd064cc5
xec/cpu-defs.h
8b8768b9e2f1f0c77a315c04995a35fcb9861b72 10-Mar-2014 David 'Digit' Turner <digit@google.com> Remove a few compiler warnings

Change-Id: I72ad2653c1eedd646e21abbc1b3ecb2654ab6b66
w/elf_ops.h
c6e0caedac5585546cb68605418eedc9e726b44b 07-Mar-2014 David 'Digit' Turner <digit@google.com> Support kernels with version >= 3.10

Newer Android Linux kernels modify the way certain devices are
named, i.e.:

/dev/qemu_pipe is renamed as /dev/goldfish_pipe.
/dev/ttyS<num> is renamed as /dev/ttyGF<num>

This patch adds support code to the emulator to deal with this
as transparently as possible:

1) Add a new hardware property 'kernel.newDeviceNaming', a string
which can only take the values 'autodetect', 'no', and 'yes'.

2) Support code to probe the type of a kernel image.
IMPORTANT: The kernel implementation depends on the host
/usr/bin/file to properly recognize kernel files and extract
their version number. This really only works on Linux and
OS X, and only for x86 and x86_64 kernel images.

A future patch will implement more robust detection by
essentially doing its own probing through libmagic or equivalent.

Note that there doesn't seem to be any existing libmagic rules
to recognize ARM and MIPS kernel images at the moment :-(

See android/kernel/kernel_utils*

3) Modify the emulator startup code to perform auto-detection
when possible (broken on Windows, and non Intel archs, see
comment above).

4) Modify the kernel command line generation to handle the new
TTY device naming

5) Modify the Goldfish pipe virtual device implementation
(since the device name presented to the kernel also changed).

This should be enough to auto-detect Linux 3.10+ x86_64 kernel
images on Linux.

Change-Id: Ied517f8a1fdeb18d84fa9a12ebcdc3daa1f41d9a
w/android/goldfish/pipe.h
48fbbc097293db01bdfb3be6511a8a40451b4db0 07-Mar-2014 David 'Digit' Turner <digit@google.com> Cleanup HOST_LONG_BITS, HOST_I386 and HOST_X86_64

HOST_LONG_BITS is now computed automatically in
include/qemu-common.h so remove all the configuration/probing
that was required before this patch to get the correct value.

Also get rid of HOST_I386 and HOST_X86_64 since they are not
needed anymore.

Change-Id: I61823a896033e38938346242b7aea78d3e832826
xec/cpu-defs.h
emu-common.h
3e0677df2819b1366819fe4112dc8464425b6eda 07-Mar-2014 David 'Digit' Turner <digit@google.com> translate-all.c: Multi-level page maps.

This brings translate-all.c to a state much closer to upstream.
The major difference is the implementation of multi-level page
tables (for PageDesc and PhysPageDesc entries). This is a preliminary
requirement to handle 64-bit address spaces properly.

+ Move cpu_interrupt() from exec.c to translate-all.c

Change-Id: I12f17cc92faa51cf6eb9ceba2be4b29817eed5fe
xec/exec-all.h
975bba804aed54452f774cdbf79a7b4732fc7696 17-Feb-2014 David 'Digit' Turner <digit@google.com> Augment TCGContext.

This moves many static buffers into the TCGContext data structure
to match upstream. This shouldn't affect performance.

Change-Id: Ib1fc7cf2baef155f1eaadbf9bfd9e2d381606a07
xec/exec-all.h
xec/gen-icount.h
ff9a2b851f95dff46171881afcdc65b2e164d36d 17-Feb-2014 David 'Digit' Turner <digit@google.com> Move TranslationBlock routines to translate-all.c

This matches upstream and makes comparison easier. Note that
the implementation has not changed. In particular the page cache
still doesn't work with TARGET_PHYS_ADDR_SPACE_BITS == 64.

Change-Id: I42b4bf1e4ee819ac76555082c810534415475d55
xec/exec-all.h
1348777d4229cf65ef12d0a4ee531d4502847277 17-Feb-2014 David 'Digit' Turner <digit@google.com> Create TBContext inside of TCGContext

This matches upstream.

Change-Id: I605dde69aab64dcec3a81875912a6e611ce0cf05
xec/exec-all.h
0e8e7484a282d510c335a5f8a238ad02250345ad 17-Feb-2014 David 'Digit' Turner <digit@google.com> RAMBlock/RAMList integration.

This patch back-ports changes to the RAMBlock/RAMList types which
are used to manage the memory buffers used to keep the guest RAM
pages in memory.

Change-Id: Iffc90462af2efe9be712356bdefa93cdd1d470b5
Note: this doesn't use the new MemoryRegion API yet.
xec/cpu-all.h
w/xen/xen.h
0a0e8939c0d98ed72f6d84ebd106ac3c37a3f107 17-Feb-2014 David 'Digit' Turner <digit@google.com> TextConsole -> QEMUConsole

Change-Id: I61a5b03ee352de5dfbc05d2923b80b286e4c6b91
emu/typedefs.h
5cb5c0b8c5145dc0002b24e1421a3fa7a697475e 17-Feb-2014 David 'Digit' Turner <digit@google.com> savevm.c: Getting closer to upstream.

This patch refactors savevm.c considerably to get much closer
to upstream. The main benefit is the introduction of savevm_register()
and savevm_unregister() functions, which allow the client to provide
a description of the state through a VMStateDescription structure.

The 'legacy' register_savevm() and unregister_savevm() are still
provided (just like upstream does). Future patches will 'upgrade'
our virtual devices to the new interface.

NOTE: Since DeviceState is not implemented properly yet, qdev_get_path()
is stubbed to always return NULL.

Change-Id: I7bfa201da40a0e470fafde6ccc002a4216ecd9c1
w/hw.h
igration/vmstate.h
emu/bitmap.h
2035de3e72c147e5b8c5cbb14a1553587227de89 29-Jan-2014 Jun Tian <jun.j.tian@intel.com> goldfish: enable 64 bit goldfish PIPE device

Enable the 64 bit PIPE device emulation in the goldfish platform.

Change-Id: I0d6fdbcb43310a7736eae58d67a29b4821934243
Signed-off-by: Jun Tian <jun.j.tian@intel.com>
xec/cpu-all.h
w/android/goldfish/pipe.h
908f3de23aa3d19e0eb135727cdc9c385d41390c 29-Jan-2014 Jun Tian <jun.j.tian@intel.com> goldfish: enable 64 bit goldfish device

Support 64 bit goldfish device emulation for goldfish platform.

Change-Id: Id80391eba0f4c6a247957834e8bb6879801013c4
Signed-off-by: Jun Tian <jun.j.tian@intel.com>
w/android/goldfish/device.h
c005246ed03de874fdc432073ba8e5e8ebfed922 25-Feb-2014 David 'Digit' Turner <digit@google.com> Remove trailing spaces in misc sources.

Change-Id: I573d4e816112b7401b3c824fbe773b85a8601531
xec/exec-all.h
w/arm/pic.h
w/bt.h
w/usb.h
api/qmp/json-parser.h
emu/log.h
om/object.h
1365eb2b35736211464f313616e32f25569e5107 16-Feb-2014 David 'Digit' Turner <digit@google.com> Remove compiler warnings

Change-Id: I75e21a86958a4650b956e89a55357f0c38fcb118
w/loader.h
emu/log.h
ysemu/sysemu.h
85c62200dbdb7ced04b34cb228098b888a8cd828 16-Feb-2014 David 'Digit' Turner <digit@google.com> include/exec: Mist minor integrations.

Change-Id: I4b775eac3ef81f466cebd52ecbaab2c94494944f
xec/exec-all.h
xec/gdbstub.h
xec/gen-icount.h
xec/softmmu-semi.h
xec/softmmu_header.h
xec/softmmu_template.h
e711ca0dbf7d0a55897aec0a0249f349fee37894 16-Feb-2014 David 'Digit' Turner <digit@google.com> <sysemu/os-xxxx.h>: upstream version.

Change-Id: I0516af43d2195230e256dfdd2975d4ccd0086c92
emu-common.h
ysemu/os-posix.h
ysemu/os-win32.h
dcda949f769a11b197f4784fe299a448d87e6e14 16-Feb-2014 David 'Digit' Turner <digit@google.com> qemu-timer.c: Use upstream version.

This completely modifies the implementation of timers to match upstream,
the only difference is that the oddly-placed qemu_gpoll_ns() function is
disabled (it's not used yet).

Most of the changes here (but not all), were applied through the following
sed script:

s|qemu_get_clock\s*(\s*vm_clock\s*)|qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL)|g
s|qemu_get_clock\s*(\s*rt_clock\s*)|qemu_clock_get_ms(QEMU_CLOCK_REALTIME)|g
s|qemu_get_clock_ns\s*(\s*vm_clock\s*)|qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL)|g
s|qemu_get_clock_ns\s*(\s*rt_clock\s*)|qemu_clock_get_ns(QEMU_CLOCK_REALTIME)|g
s|qemu_get_clock_ms\s*(\s*vm_clock\s*)|qemu_clock_get_ms(QEMU_CLOCK_VIRTUAL)|g
s|qemu_get_clock_ms\s*(\s*rt_clock\s*)|qemu_clock_get_ms(QEMU_CLOCK_REALTIME)|g
s|qemu_get_clock_ms\s*(\s*host_clock\s*)|qemu_clock_get_ms(QEMU_CLOCK_HOST)|g
s|qemu_get_clock_ms\s*(\s*SHAPER_CLOCK\s*)|qemu_clock_get_ms(SHAPER_CLOCK)|g
s|qemu_mod_timer\s*(|timer_mod(|g
s|qemu_del_timer\s*(|timer_del(|g
s|qemu_free_timer\s*(|timer_free(|g
s|qemu_new_timer_ms\s*(\s*rt_clock,|timer_new(QEMU_CLOCK_REALTIME, SCALE_MS,|g
s|qemu_new_timer_ns\s*(\s*rt_clock,|timer_new(QEMU_CLOCK_REALTIME, SCALE_NS,|g
s|qemu_new_timer_ms\s*(\s*vm_clock,|timer_new(QEMU_CLOCK_VIRTUAL, SCALE_MS,|g
s|qemu_new_timer_ns\s*(\s*vm_clock,|timer_new(QEMU_CLOCK_VIRTUAL, SCALE_NS,|g
s|qemu_new_timer_ms\s*(\s*host_clock,|timer_new(QEMU_CLOCK_HOST, SCALE_MS,|g
s|qemu_new_timer_ns\s*(\s*host_clock,|timer_new(QEMU_CLOCK_HOST, SCALE_NS,|g
s|qemu_new_timer_ms\s*(\s*SHAPER_CLOCK\s*,|timer_new(SHAPER_CLOCK, SCALE_MS,|g
s|qemu_put_timer\s*(|timer_put(|g
s|qemu_get_timer\s*(|timer_get(|g
s|qemu_timer_pending\s*(|timer_pending(|g
s|qemu_clock_next_deadline\s*(\s*vm_clock|qemu_clock_deadline_ns_all(QEMU_CLOCK_VIRTUAL|g
s|qemu_clock_next_deadline\s*(\s*rt_clock|qemu_clock_deadline_ns_all(QEMU_CLOCK_REALTIME|g
s|qemu_clock_next_deadline\s*(\s*host_clock|qemu_clock_deadline_ns_all(QEMU_CLOCK_HOST|g

+ Disable icount-based clock warping/adjustments. It will be re-enabled in the future
after cpu emulation has been completely refactored.

Change-Id: Ifbcf4a52654eed3a08dfe59b0546a75d4627f758
emu/timer.h
ysemu/sysemu.h
f01835519fdcb736449d64204c535cbc60f06ca6 16-Feb-2014 David 'Digit' Turner <digit@google.com> Move some cpu_xxxx() function to cpus.c

This moves the following functions from qemu-timer.c to cpus.c to match
upstream:

cpu_get_ticks
cpu_get_clock
cpu_enable_ticks
cpu_disable_ticks
timer_save
timer_load

+ Move declarations from include/qemu/timer.h to include/sysemu/sysemu.h
+ Remove obsolete declarations from include/qemu/timer.h

Change-Id: I83c84cf4c6fb83cbda6a501969e05fbffb4afd4f
emu/timer.h
ysemu/sysemu.h
e8f139e01b90f94ed1f6f874aa9ab099247961c6 29-Jan-2014 Jun Tian <jun.j.tian@intel.com> goldfish: reserve RTC irq

To avoid conflict between RTC and ttyGF1.

Change-Id: I1487c4eea007fc27f483a25103c4f6507d33290c
Signed-off-by: Octavian Purdila <octavian.purdila@intel.com>
Signed-off-by: Jun Tian <jun.j.tian@intel.com>
w/android/goldfish/device.h
f9077a88a0b9edca081b0810dde73d108db087a6 10-Feb-2014 David 'Digit' Turner <digit@google.com> Move main loop logic to main-loop.c

This patch moves most of the logic dealing with the internal main loop
into the main-loop.c file, to match upstream. Note however that the actual
implementation is not changed, and is still _very_ different from upstream.

However, this decouples a few more things to make upcoming refactors
significantly easier. This should not affect performance in any way.

+ Move the log rotation logic, which is specific to QEMU, to
log-rotate-android.c and include/android/log-rotate.h, it's likely
that the use of SIGUSR1 will not be maintained in the future, because
upstream uses that to signal virtual CPU threads internally instead.

Change-Id: I7bc886778fa70742c165b1dfe77637564910764e
ndroid/log-rotate.h
emu/timer.h
ysemu/cpus.h
ysemu/os-posix.h
ysemu/sysemu.h
32d5d8e307eb8d68bb319aa1af15e8cf2a0502ba 10-Feb-2014 David 'Digit' Turner <digit@google.com> Remove obsolete qemu_service_io()

Calling qemu_notify_event() directly from posix-aio-compat.c instead.

Change-Id: I527fb46f6788f1492e5bf4b65999cf31a3ecd176
emu-common.h
74f2ec66c299bf9706d209d3fca597afd733a8e1 05-Feb-2014 David 'Digit' Turner <digit@android.com> Remove unused util/acl.c

Change-Id: Ifdffdcd22b9053d14c1852918807123088662693
emu/acl.h
494b129f77a2254e235244c605fe8a21f7188edd 05-Feb-2014 David 'Digit' Turner <digit@android.com> util/compatfd.c: upstream implementation.

Change-Id: I1b4eceddfe65d1112e007f9a440eeb2349e7d396
emu/compatfd.h
086e66e13d37c79da0cd90b92f0127c869aa7b9d 04-Feb-2014 David 'Digit' Turner <digit@android.com> qemu-thread: use upstream version.

Note: some code in cpus.c still uses functions like qemu_thread_signal()
that are not implemented anymore, but this is ok as long as CONFIG_IOTHREAD
is not defined in our configurations. This will have to be address in a
future patch.

Change-Id: I74def50e3f3cfba69352072efc467cf23e025f36
emu/thread-posix.h
emu/thread-win32.h
emu/thread.h
171dd0bf53f93e64b71d3edc958e15f40c96748d 04-Feb-2014 David 'Digit' Turner <digit@android.com> Remove CONFIG_TRACE support.

It was limited to ARMv5, and didn't work correctly. Moreover, it
made integrating upstream changes difficult, so remove it for now.

Change-Id: I7da7a1e00b241d452c6dff5a318ccfedc5d7a8a4
ndroid/trace.h
xec/exec-all.h
df13b33feb3be71da6fdee2cf11bdddc7285cb7e 28-Jan-2014 David 'Digit' Turner <digit@android.com> device_tree.c: Remove unused source file and its header.

Change-Id: Iafc956d0670fa096c31d61d8da202a8da55fa6c0
ysemu/device_tree.h
aa1180ca05774398245953deb306c0e25829afee 28-Jan-2014 David 'Digit' Turner <digit@android.com> stub monitor implementation.

This removes monitor.c and replaces it with a smaller monitor-android.c
which implements only the minimum stubs required for the Android emulator
(really snapshot support).

NOTE: After this change, the 'monitor' command in the Android console
will always return with a KO.

Change-Id: I8b631b017d7418cbc3fd3ba36e55147ce2630459
onitor/readline.h
dc7a2b61b139c3593587fe48a77bbc8735f5daba 28-Jan-2014 David 'Digit' Turner <digit@android.com> migration: Remove unused sources.

Remove most of the migration-related sources, since they're completely
unused by the Android emulator build. So much less to actually refactor
to upstream level.

Change-Id: I1e8ad55366bb220a3da182e7b5cfb8db94f2974b
igration/qemu-file.h
c79de3c66b3506a1c6b00daedaea9b616b3e140c 23-Jan-2014 David 'Digit' Turner <digit@android.com> Get QEMUFile implementation to upstream level.

Change-Id: I0c5003876c7df0246118cb903cf6b834fac82687
igration/qemu-file.h
emu/sockets.h
0e0515410009c5bdd4d2d77a4a9131081573f040 23-Jan-2014 David 'Digit' Turner <digit@android.com> migration/qemu-file.h: Move QEMUFile declarations here.

Move the QEMUFile-related declarations to migration/qemu-file.h,
from hw/hw.h to get closer to upstream. Note that this also
updates the implementation slightly. The end result is still
different from upstream in certain ways, that will be handled
in future patches.

Change-Id: I11719c4449040df13d9e6f62c55d642a0dd6434d
xec/cpu-all.h
xec/cpu-common.h
xec/exec-all.h
w/android/goldfish/device.h
w/hw.h
igration/qemu-file.h
emu/log.h
9b3a4b03315af9bcdf282243059e8fd1ce1c5c70 23-Jan-2014 David 'Digit' Turner <digit@android.com> qemu-common.h: Remove include of cpu.h

The "qemu-common.h" included "cpu.h" when NEED_CPU_H was defined, which
introduced some nasty circular header dependency issues that affect later
patches in this series.

This patch removes the include, and fixes all other sources to include
"cpu.h" as needed instead.

+ Move loader declarations to "hw/loader.h"
+ Move some stuff from "qemu/timer.h" to "exec/cpu-all.h"

Change-Id: Ida1a4eccd889bae450b35ee32a931273ffe1f8d8
isas/disas.h
xec/cpu-common.h
xec/exec-all.h
xec/gdbstub.h
xec/hwaddr.h
w/android/goldfish/device.h
w/android/goldfish/trace.h
w/android/goldfish/vmem.h
w/arm/arm.h
w/arm/pic.h
w/arm/pxa.h
w/boards.h
w/hw.h
w/i386/pc.h
w/isa/isa.h
w/loader.h
w/sysbus.h
emu-common.h
emu/timer.h
ysemu/kvm.h
ysemu/sysemu.h
7e9f6c194a8e3e661cc89302db6690ff6835db85 22-Jan-2014 David 'Digit' Turner <digit@android.com> exec/cpu-all.h: Get rid of obsolete CPULogItem type and functions.

Upstream has moved the log type definitions to "qemu/log.h" and
the implementation of qemu-log.c, which is now part of our build.

Update the caller to use the new versions which use QEMU/qemu_ as
the prefix, instead of CPU/cpu_.

Change-Id: Iec93d0a9e0b8430706d52cec79103f116f5f88b6
xec/cpu-all.h
xec/gen-icount.h
4d6613c972c53178ff9ea39de7fa79d07649fad5 22-Jan-2014 David 'Digit' Turner <digit@android.com> Simple renaming: CPUOldState -> CPUArchState where relevant.

This patch changes a few headers and sources to match upstream when
distinguishing between CPUArchState and CPUOldState (which will become
CPUState soon). For now, both types are identical so this should not
change the generated binaries at all.

Change-Id: I738b4ccaf75838a5931538dd52d1873750f1b816
xec/cpu-all.h
xec/exec-all.h
d293dadacaa2880099b90dedcc77b66fdf8338e7 22-Jan-2014 David 'Digit' Turner <digit@android.com> exec.c: get rid of qemu_host_page_bits.

It was unused, and even upstream got rid of it.

Change-Id: Ib7afa9d4857d4f9853de48b6b5f43dde6f509e22
xec/cpu-all.h
63ee0557e9677ead2c20cfffc2f30e426ec6e8ab 17-Jan-2014 David 'Digit' Turner <digit@android.com> <exec/def-helper.h>: upstream version

Change-Id: Ib5494da54c2f55d9c9d2965a73065527d6f8d963
xec/def-helper.h
3dc53fc5342d24fae977049a40c34cc63ba04ad6 17-Jan-2014 David 'Digit' Turner <digit@android.com> cputlb.c: move tlb routines there to match upstream.

This contains misc tlb routines that were previously in exec.c.
Note that tb_flush_jmp_cache was moved to translate-all.c

Change-Id: I60046b55ad46f6fb78c5dbd9444bef137abc5aca
xec/cputlb.h
xec/exec-all.h
e7c2677fc621a363ca2a9cbec2aa3bba9ddcb0e0 16-Jan-2014 David 'Digit' Turner <digit@android.com> <qemu/error-report.h>: upstream version.

Change-Id: I0ad73bcf3cd982d03f1c01ab5bf681030b511045
emu/error-report.h
5c29b10ef602398e3ea37a9348110375a2cab5cc 16-Jan-2014 David 'Digit' Turner <digit@android.com> <qemu/osdep.h>: Remove duplicate macro definition (see <qemu/compiler.h>)

Change-Id: I18d1e620c8004e518c5fa929e05fff9d1c145105
emu/osdep.h
67c355655125676a70926c8557a27e79e2d68a18 16-Jan-2014 David 'Digit' Turner <digit@android.com> qemu-log.c: upstream integration.

Change-Id: I3d999f5ec0ed9cef6c88ce8a21246974251cea09
emu/log.h
6731cf52901064b55e19bae60ade2ccb5f69829c 16-Jan-2014 David 'Digit' Turner <digit@android.com> <qemu-common.h>, <osdep.h>: upstream integration.

Change-Id: I418ead66b929af81bd158114afe56387c9939a97
ndroid/sockets.h
emu-common.h
emu/host-utils.h
emu/int128.h
emu/osdep.h
emu/range.h
8848f632455c464be35092720757b953f57c29fe 16-Jan-2014 David 'Digit' Turner <digit@android.com> cache-utils: upstream integration

Change-Id: Ia7fecda45c0c4bfa565feb928a0d192ecf233902
emu/cache-utils.h
1befd3440439e8181a31140674e847f2d3e1481e 15-Jan-2014 David 'Digit' Turner <digit@android.com> Bring <qemu/iov.h> and <qemu/typedefs.h>

The location of qemu_iovec_xxx functions has moved from util/cutils.c
to a new file util/iov.c, with a few changes in the function's
interface, so update all callers.

+ Bring in <qemu/typedefs.h> and fix the few conflicts there.

Change-Id: I851ad31c3e15a0e8a23266cbfd5d1a52630a66b7
w/qdev.h
emu-common.h
emu/iov.h
emu/module.h
emu/typedefs.h
ysemu/dma.h
e2678e116c8cdb0f36b247a5bd9cfacc849362fc 16-Jan-2014 David 'Digit' Turner <digit@android.com> Rename CPUState to CPUOldState.

Upstream qemu has split the cpu state into two new data structures:

CPUState -> is used to model the CPU state through the QEMU
object model.

CPUArchState -> actually a macro that aliases CPUArmState,
CPUX86State or CPUMIPSState.

Both were part of the "CPUState" in the current emulator sources.

Previous patches introduced CPUArchState, as a simple alias to the
machine-specific state. This patch renames any use of CPUState in
the current code to CPUOldState, except within target-*/ directories
where it is replaced by CPU${ARCH}State instead.

This will allow bringing the upstream CPUState definition in the
source tree, and slowly migrate everything to the right location.

Change-Id: I88b79e6e89f1f36084dc2642e1cf415135e4da09
xec/cpu-all.h
xec/cpu-defs.h
xec/def-helper.h
xec/exec-all.h
xec/gdbstub.h
xec/gen-icount.h
xec/hax.h
xec/poison.h
xec/softmmu-semi.h
w/android/goldfish/vmem.h
w/arm/arm.h
w/arm/pic.h
w/arm/pxa.h
w/i386/pc.h
w/mips/mips.h
emu/timer.h
ysemu/kvm.h
910aea96b67d7f0357f586c47f20848ec435aa1b 15-Jan-2014 David 'Digit' Turner <digit@android.com> qapi: First integration of qapi definitions.

Brings headers (and some sources) related to the QEMU object
model up to date with regards to upstream. Note that this misses
several implementation files which are currently not used.

Also misses qemu/cpu.h since it defines CPUState in a completely
different way than our current sources.

Change-Id: I8ece10ff9fcab28cb2e7de3493be21b793b3c98a
api/dealloc-visitor.h
api/error.h
api/opts-visitor.h
api/qmp-input-visitor.h
api/qmp-output-visitor.h
api/qmp/dispatch.h
api/qmp/json-lexer.h
api/qmp/json-parser.h
api/qmp/json-streamer.h
api/qmp/qdict.h
api/qmp/qerror.h
api/qmp/qjson.h
api/qmp/qlist.h
api/qmp/qobject.h
api/qmp/qstring.h
api/string-input-visitor.h
api/string-output-visitor.h
api/visitor-impl.h
api/visitor.h
emu/queue.h
om/object.h
om/qom-qobject.h
0dc43a9a7d4ed798d2c53792fe30a907f81d7615 16-Jan-2014 David 'Digit' Turner <digit@android.com> disas.c: upstream integration.

Change-Id: I64d91412a766abfe8ee0b530ed7cd5f2be63b91f
isas/bfd.h
isas/disas.h
lf.h
emu/log.h
26a8fb6421ab91cfdecdbee299e5e28918c4f0d4 15-Jan-2014 David 'Digit' Turner <digit@android.com> target-i386/mips: Minor updates from upstream.

Does not change the behaviour, just introduces new constants/types
and define CPUArchState everywhere now.

Change-Id: I2caac85f0597360195b6b0b54788ab84a40ddb6a
xec/cpu-all.h
85125480c07e11d5dd98f69b71bded86ee903075 14-Jan-2014 David 'Digit' Turner <digit@android.com> target-arm/cpu.h: Minor updates.

Integrate a few changes from upstream for ARM CPU definitions,
before doing deeper surgery.

Change-Id: Ia81bc935d1bb1c2ed0b73bd7a1f842ae65ed62b0
w/arm/arm.h
emu/bitops.h
a6775c752a2af7a51b431367e284f3ac619e48f3 13-Jan-2014 David 'Digit' Turner <digit@android.com> util/cutils.c: update to upstream.

Note that this still contains qemu_iovec_xxx routines which
will be moved elsewhere later.

Change-Id: I66e5cfa99b39a16f342f7b4d67eb14aff31b30ee
emu-common.h
5b693bd24df715e5ea790784637d0d203fb5be0d 15-Jan-2014 David 'Digit' Turner <digit@android.com> mini-glib: Add g_win32_error_message() implementation.

Will be needed later.

Change-Id: I9e361d54ec0b3aed939f6849dab21d226ba31cde
ysemu/os-win32.h
8bfaf41d4fed01472c04ad2f61a82cff68c8186e 13-Jan-2014 David 'Digit' Turner <digit@android.com> <qemu/aes.h>: Minor upstream update.

Change-Id: Ibb54a991a86d6bb3040bf5121e501f16b2b94dc2
emu/aes.h
f0729c75f1b64e3645635bec9a8462a63be3b27f 13-Jan-2014 David 'Digit' Turner <digit@android.com> Update <qemu/bswap.h> and <exec/cpu-all.h>

This is a small update to merge upstream changes to cpu load/store
macro operations.

Change-Id: I0deda5923ed5efc1f0b412701a59a40a86015d55
xec/cpu-all.h
w/pci/pci.h
emu/bswap.h
f6669d7bf05c4abb8f95862e82322ec4689251f4 13-Jan-2014 David 'Digit' Turner <digit@android.com> update <qemu/atomic.h> and add <qemu/compiler.h>

Also update <qemu-common.h> and <sysemu/sysemu.h>
in the process.

Change-Id: Iae47c07295c7ddde0498e297ae8b0b9ee05cfac3
emu-common.h
emu/atomic.h
emu/compiler.h
ysemu/sysemu.h
2184d300da3cbf971fadc095edfa9537f371f9d1 13-Jan-2014 David 'Digit' Turner <digit@android.com> <qemu/notify.h>: update to match upstream.

Change-Id: Id51251e5bf106f479a97b45d1a4825ac524ea703
emu/notify.h
a2c14f947951612b45024095afd2210aa7368773 04-Feb-2014 David 'Digit' Turner <digit@google.com> Cleanup: Remove 100+ compiler warnings.

This is a big cleanup that removes compiler warnings by performing
the following:

- Remove unused functions or variables.
- Change pointer cast to be alias safe using unions.
- Use __attribute__((unused)) on some local variable definitions
when their usage depends on conditional defines that are not
always true when compiling the same source several times.
- Fix a couple array indexing bugs.

There are still a few warnings from the JSON lexer, libjpeg and
the TCG helpers though, but the overall compilation is much cleaner.

BUG=NONE

Change-Id: Ic4483e6402b266ecfd7bca8c92a73d8fcf392a1f
xec/cpu-all.h
xec/cpu-common.h
emu/osdep.h
685b2c217933513117aae2e058324cd9456432c6 28-Jan-2014 David 'Digit' Turner <digit@google.com> Fix battery emulation.

When the AVD config.ini contained 'hw.battery=no', the emulator failed to
emulate a battery device. This had two effects:

- Displaying a red battery icon in the notification area in the emulated
system.

- Crashing the emulator when any 'power' command was typed in the console.

This patches fixes both issues. When hw.battery is set to 'no', the emulator
now indicates to the system that the device is connected to AC, and that the
battery is not present / dead.

Related bug http://b.android/com/65308

Change-Id: I84156a7d4582639569aad98e5a5e90e58087d93a
w/android/goldfish/device.h
aa8236dc1b1ea300ab18716db5b8fab42aca3ca7 10-Jan-2014 David 'Digit' Turner <digit@android.com> qemu-malloc.c: Remove qemu-specific heap routines.

Remove all uses of qemu_malloc/malloc0/realloc/free/strdup/etc to use
the equivalent GLib functions (g_malloc, g_free, ...) as per upstream.

This also removes qemu-malloc.c since it's no longer required.

Change-Id: I3c36a0396b73dd114b8da385b43f56a2e54dbb15
ndroid/monitor.h
w/elf_ops.h
emu-common.h
101164f4411f7e429ba94dff1f37137d752b56f2 10-Jan-2014 David 'Digit' Turner <digit@android.com> Remove two unused source fiels (thunk.c + thunk.h)

These are only related to QEMU user emulation, which isn't needed
for Android.

Change-Id: Icdf28b2baf71ade2c4a5e4b676575077ec0807c9
xec/user/thunk.h
bcde1092aca184dbd7860078af020de7d1e4e22f 09-Jan-2014 David 'Digit' Turner <digit@android.com> rename target_phy_addr_t to hwaddr to match upstream.

Upstream got rid of the target_phys_addr_t and replaced it with 'hwaddr',
so do the corresponding rename here. Note that:

- This also renames <exec/targphys.h> to <exec/hwaddr.h>

- Upstream always deins hwaddr as a 64-bit type, while the size of
our own hwaddr is still controlled by TARGET_PHYS_ADDR_BITS, and
will be 32 for now.

A future patch will change the type definition to fully match
upstream, but it is more risky / requires more cleanups. It's
simply cleaner / simpler to put the related work in a separate
patch, given the large number of sources touched by the
current change.

Change-Id: Iee30869a57798c12109b6a23570b166232bb9244
isas/disas.h
xec/cpu-all.h
xec/cpu-common.h
xec/cpu-defs.h
xec/exec-all.h
xec/hax.h
xec/hwaddr.h
xec/softmmu_template.h
xec/targphys.h
w/android/goldfish/vmem.h
w/arm/arm.h
w/arm/pxa.h
w/block/fdc.h
w/i386/pc.h
w/isa/isa.h
w/mips/mips.h
w/nvram/fw_cfg.h
w/pci/pci.h
w/sysbus.h
ysemu/dma.h
ysemu/kvm.h
ysemu/sysemu.h
e228840614eab80006f9d7e68339b09b3890931a 09-Jan-2014 David 'Digit' Turner <digit@android.com> softfloat: update sources to upstream version.

Change-Id: Idda2ad70b5ccd6101b49820b8c99ad8df3dee4ca
pu/softfloat.h
6ba28da38c1b175e4535774051f4ae9ff0943b03 10-Jan-2014 David 'Digit' Turner <digit@android.com> Update doc to reflect new Goldfish source locations

+ update docs/ANDROID-QEMU-PIPE.TXT to include missing
description of "parameters block" access mode.

Change-Id: I02b96ebd484d524410b4c5d8a780cf36596d908b
ndroid/user-events.h
749dfb869375c380c2b4dc03cc7fa0fece11796a 17-Dec-2013 David 'Digit' Turner <digit@android.com> include/block/qemu-aio.h -> include/block/aio.h

Change-Id: I5c39bd6b4a4c69d3675abfa74f87dcd6148717d6
lock/aio.h
lock/block.h
lock/qemu-aio.h
503191814921f8f080d8902d5bc2a308a51e1b99 17-Dec-2013 David 'Digit' Turner <digit@android.com> hw/xen.h -> include/hw/xen/

Change-Id: I14bef06cc36e82e8959af620dfcd0ea7e0b59782
w/xen/xen.h
7821d6304f2944405f27abf06ae5fc9da38821e4 17-Dec-2013 David 'Digit' Turner <digit@android.com> hw/watchdog.h -> include/sysemu/watchdog.h

Change-Id: I5beefeffa9a368946eb43f5c98067423b7934ed5
ysemu/watchdog.h
73a93a1fe2cec18d8f4286d122c295019b1fd51e 17-Dec-2013 David 'Digit' Turner <digit@android.com> hw/smbios.h -> include/hw/i386

Change-Id: Ic756eaaf87e3aecf28f41f22214c77ff833725b6
w/i386/smbios.h
1de66f30b2580dd3f83b9aa1ca6319945d5654ca 17-Dec-2013 David 'Digit' Turner <digit@android.com> hw/scsi-disk.h -> include/hw/scsi/

Change-Id: If3be8e68095904da77ad72ff8821ed773483e94f
w/scsi/scsi-disk.h
65b42c453b36799f03b6605f5d1439d5d7d214de 17-Dec-2013 David 'Digit' Turner <digit@android.com> hw/fw_cfg.h -> include/hw/nvram/fw_cfg.h

Change-Id: I35291c7418652974c756fc74ec545847db9dacf2
w/nvram/fw_cfg.h
58c6be2b2490a5afc3d40c4865548215dfdf7e72 17-Dec-2013 David 'Digit' Turner <digit@android.com> hw/msmouse.h -> include/hw/

Change-Id: Iec3de0ebb2568773911b43e0bb21ec9b4d86c3e3
w/msmouse.h
bfa4dabe78145082be89cb9436b1f557b130cddf 17-Dec-2013 David 'Digit' Turner <digit@android.com> hw/{pci_host.h, piix_pci.c} -> hw/pci-host/

+ hw/pxa.h -> include/hw/arm/pxa.h

Change-Id: If2b16a5067f09efbc08306cbb52d38f2e1517630
w/arm/pxa.h
94b1d1ab76cd98b70ee62667affe3516c32c5f17 17-Dec-2013 David 'Digit' Turner <digit@android.com> hw/ps2.h -> include/hw/input/

Change-Id: I479e99c9bd04af978dbdd55726bfc59d21690d9c
w/input/ps2.h
379016e1856d26232f29c667326fe7c9368146ee 17-Dec-2013 David 'Digit' Turner <digit@android.com> hw/pcmcia.h -> include/hw/

Change-Id: I5dd4dd858e9fea1fc80036a51d3ac5fc5e9db736
w/pcmcia.h
1df27bbd7f76c5c6ea0dfbbe9eaf1add8e374257 17-Dec-2013 David 'Digit' Turner <digit@android.com> hw/pci*.h -> include/hw/pci/

Change-Id: I6d5dd4ce57af5df72faf046e4c6335022c12ca7e
w/pci/pci.h
w/pci/pci_ids.h
7436ac6bbe3e21d5e18919112df4d1f27cbc9915 17-Dec-2013 David 'Digit' Turner <digit@android.com> hw/mips-bios.h -> include/hw/mips/bios.h

Change-Id: Id184649f4a236f8054fa93ba18b69ecde422a81f
w/mips/bios.h
c7169658d43ef2a0256cea9a3a1251c3c039676e 17-Dec-2013 David 'Digit' Turner <digit@android.com> hw/mips.h -> include/hw/mips/

Change-Id: I657b80e0434bf6c3aca5a4a09ea5aeda95055244
w/mips/mips.h
f0665425f3d93ce5c43147e00d8d5259708f0176 17-Dec-2013 David 'Digit' Turner <digit@android.com> hw/goldfish_* -> hw/android/goldfish/*

Change-Id: I96fd376258e3bcd8357625373176ba53cdde12d0
w/android/goldfish/nand.h
6c48eae0795c4f82b92c04e482f7551355789562 17-Dec-2013 David 'Digit' Turner <digit@android.com> hw/power_supply.h -> include/hw/

Change-Id: I647271a43b71d36c0eb38f4c18d8cea7d9bc38ef
w/power_supply.h
18b8cf1b1795872dca1d6255864875e12dbcf0dd 17-Dec-2013 David 'Digit' Turner <digit@android.com> hw/{mmc.h,sd.h} -> include/hw

Change-Id: I9ee1eba0f9eb0a9ccb96613202492baf12c9b6cb
w/mmc.h
w/sd.h
f5bc01c356e1fa924ed07aadf589b3663873593e 17-Dec-2013 David 'Digit' Turner <digit@android.com> hw/goldfish_*.h -> include/hw/android/goldfish/*.h

Change-Id: If7f9a46496fad5d936800215b21794bbab185b8a
w/android/goldfish/device.h
w/android/goldfish/pipe.h
w/android/goldfish/trace.h
w/android/goldfish/vmem.h
a55d62c53f92b1abfeb656adf61024b7415c8664 17-Dec-2013 David 'Digit' Turner <digit@android.com> hw/fdc.h -> include/hw/block/

Change-Id: I2763b2b452053607a61b33dfd29c330c41dcd405
w/block/fdc.h
4f931a465d399fd9b135ed08671e49f5170a2949 17-Dec-2013 David 'Digit' Turner <digit@android.com> hw/audiodev.h -> include/hw/

Change-Id: I5e569a3f5bed33234a75de4d8a043155d097cc4f
w/audiodev.h
7b479edc9d5a696f81237eb61479b24afab15ab9 17-Dec-2013 David 'Digit' Turner <digit@android.com> hw/baum.h -> include/hw/baum.h

Change-Id: If1ccb4f8785714fa4885fc2ccc4fb1b9a3c7c64c
w/baum.h
4b6bb7646f122ccf5b32b6caa8ff824a83f00a73 17-Dec-2013 David 'Digit' Turner <digit@android.com> hw/usb.h -> include/hw/ + move hw/bt*.c files to hw/bt/

Change-Id: I67a22f71dfd7f49d87d26e4035d0580ba699a3ba
w/usb.h
8dbb9d00bf78c2092fc8f64f912352b25f799263 17-Dec-2013 David 'Digit' Turner <digit@android.com> hw/bt.h -> include/hw/

Change-Id: I182cb2a1c81deea2ac5bbc23930e0d387c22e909
w/bt.h
d129876d38c88b01843168304c844b11c46dad87 17-Dec-2013 David 'Digit' Turner <digit@android.com> Move hw/arm related sources

hw/boards.h, hw/devices.h -> include/hw/
hw/arm_pic.c -> hw/arm/pic.c

Change-Id: If2a0ac71e44b13e792704ff36885667709ac331a
w/boards.h
w/devices.h
cd0c34ba37cc915f00a528d12162a7097b3a6339 17-Dec-2013 David 'Digit' Turner <digit@android.com> hw/arm_pic.h -> include/hw/arm/pic.h

Change-Id: I7a22afe802610c8e3a0ca2034a789bb4908eb0d5
w/arm/pic.h
62fba4882dbb1bea4f69e0b543cb90acee84742f 17-Dec-2013 David 'Digit' Turner <digit@android.com> hw/arm-misc.h -> include/hw/arm/arm.h

Change-Id: I1fa4d3ba51cd8ed077c78da1b22674c1361b7d4d
w/arm/arm.h
26b47fe632cf0de7962e79a1113d8a5d93459262 17-Dec-2013 David 'Digit' Turner <digit@android.com> hw/sysbus.h -> include/hw/

Change-Id: Ibba0d94b9badb86daad334807f1e62b97701f772
w/sysbus.h
2ec695af7284adbedcdbc08a22d818b6bdd8990c 17-Dec-2013 David 'Digit' Turner <digit@android.com> Move hw/ headers to include/hw/

hw/hw.h, hw/irq.h, hw/qdev.h -> include/hw/
hw/pc.h -> include/hw/i386/
hw/isa.h -> include/hw/isa/

hw/irq.c -> hw/core/irq.c

Change-Id: I0f529fef02b5cd3ee7c418d1a4a644d75d32b1d5
w/hw.h
w/i386/pc.h
w/irq.h
w/isa/isa.h
w/qdev.h
53cd8e814eeb35e195081dd369ac7667cc68b1c6 17-Dec-2013 David 'Digit' Turner <digit@android.com> targphy.s -> include/exec/

Note that upstream, this is called hwaddr.h and defines the
type hwaddr as a uint64_t typedef, independent of the target
physical address size.

Change-Id: Ie916b6336e95e28fb16603d309c6653dd04410a1
xec/cpu-common.h
xec/cpu-defs.h
xec/targphys.h
d0edecb426b34ddb9b10b81dea19aee04a61a385 17-Dec-2013 David 'Digit' Turner <digit@android.com> qemu_socket.h -> include/qemu/sockets.h

Change-Id: I4b538a8033c3c89bf0a7a0c2f2a50a4beab65501
emu/sockets.h
2dbdad58803b1dae837eae134659387491ffab12 17-Dec-2013 David 'Digit' Turner <digit@android.com> hpet.h -> include/hw/timer/

Change-Id: I99c9a53ddf392ae490d254de76b0d0cdacd1494c
w/timer/hpet.h
7d26df6676aee6d5ecf678f8a6779fd846227d6c 17-Dec-2013 David 'Digit' Turner <digit@android.com> device_tree.h -> include/sysemu/

Change-Id: Idff4dd141405bafa5a48290efaac1e19448a7ee6
ysemu/device_tree.h
1182284cd2ef1396dbbeeecd46ff90b4a225f0da 17-Dec-2013 David 'Digit' Turner <digit@android.com> cpus.h -> include/sysemu/

Change-Id: I63adb1aa61112565fa6962687536132b6800689f
ysemu/cpus.h
6800f0a746a7760429007c6dd7ac9eafeffc3741 17-Dec-2013 David 'Digit' Turner <digit@android.com> bt-host.h -> include/sysemu/bt.h

Change-Id: I40396deda6166769d67db8352f4920d57267ef09
ysemu/bt.h
2a7dde0b2f96b05048320a0840cde7ab3d4be9fe 15-Dec-2013 David 'Digit' Turner <digit@android.com> Move qemu-objects.h -> include/qapi/qmp/types.h

Change-Id: I21ecd8acb180e2b780b8432ceb142ef4ff5ea076
api/qmp/types.h
93e0d9cfb6d950b638ba93cf5318e5689e4ba64e 15-Dec-2013 David 'Digit' Turner <digit@android.com> qemu-option.h -> include/qemu/option.h

Change-Id: I94301207676115c935ee198e8f814ee2943613e0
lock/block.h
lock/block_int.h
emu/option.h
ysemu/char.h
ysemu/sysemu.h
057b0f638014d1cb6764aab945b98197329f745e 15-Dec-2013 David 'Digit' Turner <digit@android.com> Move elf_ops.h -> include/hw/elf_ops.h

+ qemu-thread.h -> include/qemu/thread.h
+ qemu-os-*.h -> include/sysemu/os-*.h

Change-Id: I68a58a817e54a7f607b34b7a9b34e38a685233ea
w/elf_ops.h
emu-common.h
emu/thread.h
ysemu/os-posix.h
ysemu/os-win32.h
6e2eb78f2b52b6fff73a72995bc4356d6e67e773 15-Dec-2013 David 'Digit' Turner <digit@android.com> Move tcpdump.h -> include/android/tcpdump.h

+ tcpdump.c -> android/qemu-tcpdump.c

Change-Id: Ib3a19f62f910b6562285fab3bcc98178ea9a4e9e
ndroid/tcpdump.h
031d655004e505a15e92580a16a181d1d247c4d5 15-Dec-2013 David 'Digit' Turner <digit@android.com> Move qemu-queue.h -> include/qemu/queue.h

Change-Id: I2ef2c4aea2cdf73e834b013a11fb63a0eb720262
lock/block_int.h
xec/cpu-common.h
xec/cpu-defs.h
api/qmp/qdict.h
api/qmp/qlist.h
emu/acl.h
emu/notify.h
emu/queue.h
ysemu/blockdev.h
ysemu/char.h
ysemu/kvm.h
ysemu/sysemu.h
e7216d82dbaa19892ad62b07402d512234559a6e 15-Dec-2013 David 'Digit' Turner <digit@android.com> qemu-char.h -> include/sysemu/char.h

Change-Id: I8e3d6e9a73a347978789a98035e89ea1e03b59aa
lock/qemu-aio.h
onitor/monitor.h
ysemu/char.h
i/console.h
e1e03df288d5a44bfbffbd86588395c7cbbc27df 15-Dec-2013 David 'Digit' Turner <digit@android.com> Move more headers.

cbuffer.h, charpipe.h -> include/android/
cbuffer.c, charpipe.c -> android/
qemu_debug.h -> include/android/qemu-debug.h
block.h, block_int.h -> include/block/
elf.h -> include/
hax.h -> include/exec/
qemu-lock.h -> include/exec/spinlock.h
readline.h -> include/monitor/readline.h
qemu-common.h - include
qemu-barrier.h -> include/qemu/atomic.h
qemu-log.h -> include/qemu/log.h

Change-Id: I86b998932461caa35d347cd71b40bd6e4ec7d84d
ndroid/cbuffer.h
ndroid/charpipe.h
ndroid/qemu-debug.h
lock/block.h
lock/block_int.h
lf.h
xec/exec-all.h
xec/hax.h
xec/spinlock.h
onitor/monitor.h
onitor/readline.h
emu-common.h
emu/atomic.h
emu/log.h
ysemu/blockdev.h
ysemu/dma.h
5425d40d2955e859097ded7a04913c3e7ee1a7b6 15-Dec-2013 David 'Digit' Turner <digit@android.com> Move fpu/softfloat.h -> include/fpu/

Change-Id: I0d15a547dff8b421cdb633ecf939f954a4727631
xec/cpu-all.h
pu/softfloat.h
34c48ff1e3ad5cd2084ca40188754d45f423750b 15-Dec-2013 David 'Digit' Turner <digit@android.com> Move headers to incude/sysemu/

+ arch_init.h, balloon.h, blockdev.h, dma.h, kvm.h,
sysemu.h -> include/sysemu/

+ kvm-android.h -> include/android/kvm.h

Change-Id: I3d334e1b6eea836fdcee9f36fe693cf4c74be54f
ndroid/kvm.h
ysemu/arch_init.h
ysemu/balloon.h
ysemu/blockdev.h
ysemu/dma.h
ysemu/kvm.h
ysemu/sysemu.h
28a09b6fe8d8f3e92ffee9263609a6da881b8818 15-Dec-2013 David 'Digit' Turner <digit@android.com> Move migration.h to include/migration/

+ qemu_file.h -> include/migration/qemu-file.h
+ thunk.h -> include/exec/user/

Change-Id: I6fc339ac0fe9d366db1ed095dff08f5619ebc3d5
xec/user/thunk.h
igration/migration.h
igration/qemu-file.h
cc33b2d8035092608c7cba4154e9c44452727e1b 15-Dec-2013 David 'Digit' Turner <digit@android.com> Move disas.h to include/disas/

+ dis-asm.h -> include/disas/bfd.h

+ arm-dis.c -> disas/arm.c
ppc-dis.c -> disas/ppc.c
i386-dis.c -> disas/i386.c
mips-dis.c -> disas/mips.c

+ remove all unused .ld scripts

Change-Id: Ie29662b83c09ea17d34e42dda3998691c182b10e
isas/bfd.h
isas/disas.h
6af6765e2f3bc930d0dce21d752bea570a1b1362 14-Dec-2013 David 'Digit' Turner <digit@android.com> Move monitor.h to include/monitor/

+ monitor-android.h -> include/android/monitor.h

Change-Id: Iad8afa71461dd70c6997902516fbf4ef7cb8babe
ndroid/monitor.h
onitor/monitor.h
d4e803c5e928790b14704ae7f0b048da7ba47fab 14-Dec-2013 David 'Digit' Turner <digit@android.com> Move android-trace.h to include/android/

+ android-trace_common.h -> include/android/trace_common.h
NOTE: trace_common.h is still in the top-level directory because
the qtools first need to be updated to include the header
at include/android/trace_common.h

+ trace.c -> android/
+ user-events.h -> include/android/
+ user-events-qemu.c -> android/

Change-Id: Idbf59c8b1a5cc2872f035eb3fa7f9922755f357d
ndroid/trace.h
ndroid/trace_common.h
ndroid/user-events.h
lock/qemu-aio.h
race.h
d413fa5f2916a2a46494edb320340486b262644c 14-Dec-2013 David 'Digit' Turner <digit@android.com> Move iolooper.h to include/android/

+ Move iolooper-select.c to android/

Change-Id: I5154aa491132b43c3b80c248bb8dd968f4d41c2a
ndroid/iolooper.h
1634ff531961026312bec4b66463bbd8a689c6ea 14-Dec-2013 David 'Digit' Turner <digit@android.com> Move dynlink.h to include/android/

+ Move dynlink-static.c to android/
+ Move loadpng.c to android/
+ Move linux_keycodes.h to android/

Change-Id: Ibaede71e37223e86393cecc5bc86ac97ea1c97e6
ndroid/dynlink.h
cc330d4169441727fecf1da08aee806fc021c4e2 14-Dec-2013 David 'Digit' Turner <digit@android.com> Move net.h to include/net/

+ Move net-android.c and net.c to net/
+ Rename net-checksum.c to net/checksum.c
+ Move sockets.h and shaper.h to include/android/
and sockets.c + shaper.c to android/

+ Move vgafont.h to ui/

Change-Id: I2659a919a316d3f95aac0f9924833eeee4cb5592
ndroid/shaper.h
ndroid/sockets.h
et/net.h
0fdfff3cce93e16179a454fd471cd1d9126204e0 14-Dec-2013 David 'Digit' Turner <digit@android.com> More missing include/qapi/qmp/ headers moved.

Change-Id: I83b1daddaaee42c7edbe533a13324a0dc78e0ed4
api/qmp/json-lexer.h
api/qmp/json-parser.h
api/qmp/json-streamer.h
api/qmp/qdict.h
api/qmp/qerror.h
i/console.h
852088c7e08182c2de563872d558309815cbfa0d 14-Dec-2013 David 'Digit' Turner <digit@android.com> Move headers to include/exec/

Change-Id: Ife43f9cd12a02aa98f408043b0cccb9fe45a9ff7
xec/cpu-all.h
xec/cpu-common.h
xec/cpu-defs.h
xec/def-helper.h
xec/exec-all.h
xec/gdbstub.h
xec/gen-icount.h
xec/ioport.h
xec/poison.h
xec/softmmu-semi.h
xec/softmmu_defs.h
xec/softmmu_exec.h
xec/softmmu_header.h
xec/softmmu_outside_jit.h
xec/softmmu_template.h
1c31e3e43ce4cca85a707dfff631e5e102fdeced 14-Dec-2013 David 'Digit' Turner <digit@android.com> Even more moves.

include/ui + ui/
include/qapi/qmp/ + qobject/

Change-Id: Ief236a08cb234d9dd692e85907757678ef32f035
api/qmp/qbool.h
api/qmp/qerror.h
api/qmp/qfloat.h
api/qmp/qint.h
api/qmp/qjson.h
api/qmp/qlist.h
api/qmp/qobject.h
api/qmp/qstring.h
emu/config-file.h
emu/error-report.h
i/console.h
e90d665cd63a0bc5c3306e1ee3e98ad362546b16 14-Dec-2013 David 'Digit' Turner <digit@android.com> Move more stuff to include/qemu/ and util/

Change-Id: I3d10ae4d5b050f7da565476e2c0f6be5d3348f5d
emu/compatfd.h
emu/envlist.h
emu/host-utils.h
emu/module.h
emu/notify.h
37dc41a01f33a1e6aca0458b205c2b1609fe82c3 14-Dec-2013 David 'Digit' Turner <digit@android.com> Move more files to include/qemu/ and util/

Change-Id: I79e70241894e8bbeea2de711ff9de742583c23b1
emu/acl.h
emu/aes.h
emu/cache-utils.h
7a78db75ad42aea283f5073f51891464104a9fc3 14-Dec-2013 David 'Digit' Turner <digit@android.com> Move qemu-timer.h to include/qemu/timer.h

Note: upstream still puts qemu-timer.c in the top-level
directory, so no need to move it

Change-Id: I475309d6f0040b4fd2277e52a2526825c112e91f
emu/timer.h
845691383dd6a0ff71acf7aee0736adba350f6a9 13-Dec-2013 David 'Digit' Turner <digit@android.com> Move osdeps.h to include/qemu/osdep.h

and osdep.c to util/osdep.c

Change-Id: Icaf5cd7dfc8f75cbe7eb324cc9ca91a976f35d57
emu/osdep.h
6e9d1d4fc96a32fbac14d3e489cce32f5c69ade1 13-Dec-2013 David 'Digit' Turner <digit@android.com> Move bswap.h to include/qemu/bswap.h

Before integrating upstream patches, we need to move source
files around to match the new directory structure used there.
This is the first of such changes.

Change-Id: Ib42669003851aa5a5295dd66cfebb307c63f054f
emu/bswap.h