History log of /external/qemu/savevm.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
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
/external/qemu/savevm.c
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
/external/qemu/savevm.c
c005246ed03de874fdc432073ba8e5e8ebfed922 25-Feb-2014 David 'Digit' Turner <digit@google.com> Remove trailing spaces in misc sources.

Change-Id: I573d4e816112b7401b3c824fbe773b85a8601531
/external/qemu/savevm.c
1365eb2b35736211464f313616e32f25569e5107 16-Feb-2014 David 'Digit' Turner <digit@google.com> Remove compiler warnings

Change-Id: I75e21a86958a4650b956e89a55357f0c38fcb118
/external/qemu/savevm.c
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
/external/qemu/savevm.c
c79de3c66b3506a1c6b00daedaea9b616b3e140c 23-Jan-2014 David 'Digit' Turner <digit@android.com> Get QEMUFile implementation to upstream level.

Change-Id: I0c5003876c7df0246118cb903cf6b834fac82687
/external/qemu/savevm.c
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
/external/qemu/savevm.c
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
/external/qemu/savevm.c
d0edecb426b34ddb9b10b81dea19aee04a61a385 17-Dec-2013 David 'Digit' Turner <digit@android.com> qemu_socket.h -> include/qemu/sockets.h

Change-Id: I4b538a8033c3c89bf0a7a0c2f2a50a4beab65501
/external/qemu/savevm.c
031d655004e505a15e92580a16a181d1d247c4d5 15-Dec-2013 David 'Digit' Turner <digit@android.com> Move qemu-queue.h -> include/qemu/queue.h

Change-Id: I2ef2c4aea2cdf73e834b013a11fb63a0eb720262
/external/qemu/savevm.c
e7216d82dbaa19892ad62b07402d512234559a6e 15-Dec-2013 David 'Digit' Turner <digit@android.com> qemu-char.h -> include/sysemu/char.h

Change-Id: I8e3d6e9a73a347978789a98035e89ea1e03b59aa
/external/qemu/savevm.c
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
/external/qemu/savevm.c
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
/external/qemu/savevm.c
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
/external/qemu/savevm.c
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
/external/qemu/savevm.c
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
/external/qemu/savevm.c
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
/external/qemu/savevm.c
05e074899c900b99adca7b37eee19a4ddc090e38 03-Feb-2012 Vladimir Chtchetkine <vchtchetkine@google.com> Fix an issue with loading multiple snapshots.

This is a fix for a user reported issue #15922:Using multiple (named) snapshots does not work.

Change-Id: I71989a99d182f9d84c6ee08414d35e2154ca4357
/external/qemu/savevm.c
3e92c2d49cb0e8752ce8c9a3c879c84ac3299061 11-Oct-2011 David 'Digit' Turner <digit@google.com> Fix snapshot crash

- Add snapshot load/save support to QEMU Pipes

This adds the ability to save and load QEMU Pipe connections
with snapshots. Note that by default, all loaded pipe client
connections are force-fully closed on load.

We don't have a good way to save the state of network
connections to persistent storage.

Properly implements snapshot save / load for qemu pipe clients.

Change-Id: Ie5767f8ce40c8341b958cc5844e724dd4fc1ed2b
/external/qemu/savevm.c
d0e2872813e1d37e8233befdfd13a4d6cb0d7431 05-Oct-2011 Vladimir Chtchetkine <vchtchetkine@google.com> Fix snapshots

Change-Id: Ib3891704ece2cea0c5a80b468b2514e6c4d13216
/external/qemu/savevm.c
95a83ce7ee413954ba6325584ea659c6685edfd5 10-May-2011 David 'Digit' Turner <digit@android.com> savevm: Remove OutputBuffer hack.

It's easier to provide a fake Monitor object instead.

Change-Id: Ia45267061d489b147497add6120d3caa9234ac11
/external/qemu/savevm.c
986acc9eba2cf7c9b468c2f84764fa478907ac66 10-May-2011 David 'Digit' Turner <digit@android.com> savevm.c: minor integrate

Change-Id: I16103c65ac7b15b2dc58dcc7dd6b3052004aa31a
/external/qemu/savevm.c
5973c775c853e26f684de58ad28c267281aaffd6 10-May-2011 David 'Digit' Turner <digit@android.com> qemu-timer.c: rename qemu_timer_new_scale()

Get rid of qemu_timer_new() implementation, and update all
callers to use qemu_timer_new_ms() or qemu_timer_new_ns()
instead.

Rename qemu_new_timer_scale() to qemu_new_timer() to follow
upstream conventions.

Change-Id: Id2c04f8597ec5026e02f87b3e2c5507920eb688e
/external/qemu/savevm.c
a413a35b5f18d1e21bed916598a1cb2ea7007f92 10-Jan-2011 Tim Baverstock <weasel@google.com> Add dereference for snapshot block device handling

Change-Id: I20c83aab5fbd0c87b319ac84d7911eb09b69632b
/external/qemu/savevm.c
cb42a1b1461e02efb034582ac5d8f71534723b92 23-Dec-2010 David 'Digit' Turner <digit@android.com> upstream: integrate block changes

This large patch upgrades the block support code to the upstream
version available in ba5e7f82169f32ab8163c707d97c799ca09f8924
dated 2010-08-08

Change-Id: I8b24df0c287e72f6620650a4d6a62e1bb315453e
/external/qemu/savevm.c
622b8f4c760b8c4479d28430f978bad8bb9ea32c 07-Dec-2010 Tim Baverstock <weasel@google.com> Send unsolicited time response to first signal strength query after loadvm

Change-Id: I9c6260493d42564ee3aa34799313368bb2de7d4d
/external/qemu/savevm.c
2ff39a367738422c0ca1313cac8ff380e1fdd498 06-Oct-2010 Ot ten Thije <ottenthije@google.com> Control state snapshots from Android console.

This patch exposes Qemu's save, load, delete and list commands for
state snapshots on the Android console. A level of indirection is
added by means of the OutputChannel construct. This allows us to show
the output of the Qemu commands on the console rather than on the
monitor, while minimizing the differences with the upstream codebase.

The new commands are exposed only when the configuration constant
CONFIG_ANDROID_SNAPSHOTS is not 0.

Change-Id: I558d5cd505d321fe2da5835713d341d151f60534
/external/qemu/savevm.c
8f2de6dd4f99bf15ab55b07b88f61c1ba4c65187 30-Sep-2010 Ot ten Thije <ottenthije@google.com> Make state snapshots compatible with SD cards.

This patch introduces a check such that only drives exporting a
snapshot creation function are considered for storing snapshots.
SD cards are mounted with a raw file system, which does not
support snapshots. Since the SD card is now skipped, the actual
snapshot image can be safely mounted on hdb rather than hda.

The contents of the SD card itself are included in the snapshot
however, since they are accessed with the NAND driver (which
saves the contents of the underlying files).

Change-Id: I4816b6e54e227aca356389c15ce9f5c1282d2464
/external/qemu/savevm.c
871da2aa80687142bec00ef7c1112253c76c32bb 20-Sep-2010 Ot ten Thije <ottenthije@google.com> Added state snapshot support for QemuD.

With this patch, both modem and sensor functionality are correctly
restored when a state snapshot is loaded. This was not the case
previously because communication with either of these services is
done using the qemud daemon, which did not support snapshots.

The boot-properties and charpipe services have no specific save/load
functionality yet, since the framework itself should be reviewed
first. Adding support for bootproperties should not be difficult
though, and charpipe may not need it.

For a description of the high-level process for saving and loading,
consult section IV "State snapshots" in docs/ANDROID-QEMUD.TXT.

Change-Id: I5b06d88b911ca096e78060163174904c48a01c66
/external/qemu/savevm.c
a12820ef4aff2e2f6d3db9b704abee2c54d08f40 09-Sep-2010 David Turner <digit@android.com> upstream: buffered file minor change.
/external/qemu/savevm.c
7fd67eba0b961d94a5d6baa8e3c3de37b729f738 29-Jul-2010 Ot ten Thije <ottenthije@google.com> Fixed rudimentary suspend/resume.

This patch replaces the failing asynchronous I/O code in the qcow2
driver with a working synchronous implementation and fixes another
minor bug in iteration over QField structs. As a result, the VM can
now be suspended and resumed with the savevm and loadvm commands,
albeit with the following (major) caveats:

1. The ADBd and other network services do not resume correctly.
2. Normal SD card usage is blocked, since snapshots are written to a
qcow2 image that must (for now) be mounted on hda.
3. Resume only works after the emulator is fully booted. It is not
(yet) possible to load an image immediately after the machine
started.

The synchronous I/O code is ported from commit ef845c3b in mainline
QEMU, which addresses a similar issue. Further upstream mainline also
introduces a fix for the async I/O, but that patch is quite involved,
and for now this relatively simple fix works.

Change-Id: I660c19c22316aecdd7dcae357e66da20e0ab6d80
/external/qemu/savevm.c
2c538c86c15d597cc875dc926e4e39285c5625df 11-May-2010 David 'Digit' Turner <digit@android.com> Upstream: Use CONFIG_BSD instead of _BSD and HOST_BSD

Also fix OS X build, which failed with a link error.
Change-Id: Idd63f25dc1f46ea66da5727c7577def34f048c3c
/external/qemu/savevm.c
5d8f37ad78fc66901af50c762029a501561f3b23 14-Sep-2009 David 'Digit' Turner <digit@google.com> Merge upstream QEMU 10.0.50 into the Android source tree.

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.
/external/qemu/savevm.c