History | View | Annotate | Download (31.4 kB)
Move stdbool.h
Move inclusion of stdbool.h to common header files, instead of includingin an ad-hoc manner.
Signed-off-by: Paul Brook <paul@codesourcery.com>
vmstate: Add VMSTATE_STRUCT_VARRAY_UINT8
Required for hpet.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
vmstate: Add support for alias ID
Some legacy users (mostly PC devices) of vmstate_register manageinstance IDs on their own, and that unfortunately in a way that isincompatible with automatically generated ones. This so far preventsswitching those users to vmstates that are registered by qdev....
vmstate: Drop unused post_save handler
No device makes use of it anymore.
move targphys.h and hw/poison.h inclusion to cpu-common.h
With more files from outside the hw/ directory being placed intolibhw, avoid the need to include hw/hw.h for the sake of targ_phys_addr_t.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
live migration: Propagate output monitor to callback handler
In order to allow proper progress reporting to the monitor thatinitiated the migration, forward the monitor reference through themigration layer down to SaveLiveStateHandler.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>...
vmstate: Add support for VBUFFERS
Support for buffer that are pointed by a pointer (i.e. not embedded)where the size that we want to use is a field in the state.We also need a new place to store where to start in the middle of thebuffer, as now it is a pointer, not the offset of the 1st field....
vmstate: Introduce VMSTATE_STRUCT_TEST
Signed-off-by: Juan Quintela <quintela@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
vmstate: Introduce VMSTATE_STRUCT_POINTER_TEST
vmstate: Introduce UINT16_TEST support
vmstate: remove usused VMSTATE_STRUCT_ARRAY_SIZE_UINT8
vmstate: Add support for multiplying size for a constant
When the size that we want to transmit is in another field, but in anunit different that bytes
vmstate: Fix info field of VMSTATE_MACADDR
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>Signed-off-by: Juan Quintela <quintela@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Block live migration
This patch introduces block migration called during live migration. Blockare being copied to the destination in an async way. First the code willtransfer the whole disk and then transfer all dirty blocks accumulted duringthe migration....
vmstate: introduce VMSTATE_BUFFER_UNSAFE_INFO.
VMSTATE_BUFFER_UNSAFE_INFO for as a buffer with specified VMStateInfo.It will be used later.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
pci: pcie host and mmcfg support.
This patch adds common routines for pcie host bridge and pcie mmcfg.This will be used by q35 based chipset emulation.
vmstate: Add VMSTATE_BUFFER_UNSAFE
Just sent <anything> as a buffer. We put the pointer and the sizecode does the rest.
vmstate: Unfold VMSTATE_INT32_VARRAY() only use and remove it
vmstate: add VMS_VARRAY_UINT16_UNSAFE (varrays with uint16 indexes)
It don't check types.Signed-off-by: Juan Quintela <quintela@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
vmstate: Add version arg to VMSTATE_SINGLE_TEST()
This allows to define VMSTATE_SINGLE with VMSTATE_SINGLE_TESTSigned-off-by: Juan Quintela <quintela@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
vmstate: Add VMSTATE_BUFFER_UNUSED
It allows to have 'things' in savevm format not backed in the device stateSigned-off-by: Juan Quintela <quintela@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
vmstate: Add VMSTATE_MACADDR for the new type
vmstate: Introduce the concept of sub-arrays
VMSTATE_SUB_ARRAY(..., start, num, ...) saves the num elems starting atposition start of the arraySigned-off-by: Juan Quintela <quintela@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
vmstate: factor vmstate_offset_value
vmstate: factor vmstate_offset_pointer
vmstate: factor vmstate_offset_array
vmstate: factor vmstate_offset_buffer
vmstate: factor VMSTATE_*BUFFER* definitions
vmstate: Rename VMS_VARRAY to VMS_VARRAY_INT32
vmstate: fix indentation
vmstate: Add support for partial buffers transmission
vmstate: add VMSTATE_UINT16_EQUAL[_V]
vmstate: add VMSTATE_BUFFER_TEST
vmstate: Add suppot for field_exist() test
Add *TL functions to vmstate
vmstate: add support for arrays of pointers
We need this to send arrays of timers
vmstate: add uint8 array
vmstate: create VMSTATE_I2C_SLAVE
vmstate: create VMSTATE_STRUCT_POINTER
vmstate: create VMSTATE_INT16_ARRAY
vmstate: remove const from pre_save() functions
vmstate: Add support for sending partial arrays
This one is needed for changees happening on fdc. It allows you to sendarrays of structs whose size we want to send it is another field with typeuint8_t. (If you have been able to read the whole sentence without...
vmstate: remove const for put operations
In a later patch, we introduce pre_save() and post_save() functions.The whole point of that operation is to change things in the state.Without this patch, we have to remove the const qualifier in eachuse with a cast...
vmstate: add version_id argument to post_load
vmstate: port cirrus_vga device
vmstate: add uint64 array support
vmstate: add support for uint8_t equal
vmstate: add support for arrays of uint16_t
vmstate: add sensible arguments to vmstate_unregister()
vmsd alone is not enugh, because we can have several structs saved with the same description (vmsd).
vmstate: rename run_after_load() -> post_load()
This naming was used in kvm tree, and is easier to remember
vmstate: Add pre_load() hook
vmstate: Add pre/post_save() hooks
Fix VMSTATE_PCI_DEVICE version
PCI device entries have to have a default version, not 2, because they areused in the midle of other structures that can have any version number.
We can't use proper versioning here until we have SubSections support.Why we didn't noticed before? Because in a PC, the only device ported with...
Add VMState support for ptimers
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
Add VMState support for variable sized arrays
This patch add supports for variable sized arrays whose size isanother field of the state.
Add VMState support for static sized buffers (uint_8)
This patch adds support for static sized buffer and typecheks that the buffer is right.
Add VMState support for int32_t check value
We read the saved value and check that it is less or equal than the onestored in the structure.
Port PCIDevice state to VMState
This uses a variant of buffer, with extra checks. Also uses the newsupport for cheking that a read value is less or equal than a field.
Add VMState support to run a function after load
New VMstate save/load infrastructure
This patch introduces VMState infrastructure, to convert the save/loadfunctions of devices to a table approach. This new approach has thefollowing advantages:- it is type-safe- you can't have load/save functions out of sync...
Add VMState support for pointers
This patch adds support for saving pointers to values
Add VMState support for arrays
This patch adds support for saving arrays inside the struct
Add VMState support for structs
This patch adds support for saving one VMStateDescription from otherVMStateDescription.
Add VMState support for arrays of structs
This patch add supports for arrays of structs
We read the saved value and check that it is the same that the oneis stored in the structure.
add file descriptor migration
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>Cc: Chris Lalancette <clalance@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
unify popen/fopen qemu wrappers
While reading Chris's code for fd migration I noticed the duplicationbetween QEMUFilePopen and QEMUFileStdio. This fixes it, and makesqemu_fopen more similar qemu_popen.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>...
Move boot_set callback backend
Move registration function for the boot_set callback handler and provideqemu_boot_set so that it can also be used outside the monitor code.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Add qemu_unregister_reset
Will be used by '-boot once=...', and should also help in other usecases.
split out ioport related stuffs from vl.c into ioport.c.
Revert "Introduce reset notifier order"
This reverts commit 8217606e6edb49591b4a6fd5a0d1229cebe470a9 (andupdates later added users of qemu_register_reset), we solved theproblem it originally addressed less invasively.
Allow monitor interaction when using migrate -exec
All, I've recently been playing around with migration via exec. Unfortunately,when starting the incoming qemu process with "-incoming exec:cmd", it suffersthe same problem that -incoming tcp used to suffer; namely, that you can't...
Introduce reset notifier order
Add the parameter 'order' to qemu_register_reset and sort callbacks onregistration. On system reset, callbacks with lower order will beinvoked before those with higher order. Update all existing users to thestandard order 0....
introduce set_rate_limit function for QEMUFile
This patch converts the current callers of qemu_fopen_ops().
Signed-off-by: Glauber Costa <glommer@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Hardware convenience library
The only target dependency for most hardware is sizeof(target_phys_addr_t).Build these files into a convenience library, and use that instead ofbuilding for every target.
Remove and poison various target specific macros to avoid bogus target...
Add unregister_savevm() (Mark McLoughlin)
Currently there's no way to unregister a savevm callback, soe.g. if a NIC is hot-unplugged and a savevm is issued, we'llsegfault.
Signed-off-by: Mark McLoughlin <markmc@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>...
create qemu_file_set_error (Glauber Costa)
This is mainly for consistency, since we don't wantanything outside of savevm setting it explicitly. Thereare current no users of that in qemu tree, but thereare potential candidates on kvm-userspace. And avi...
Reintroduce migrate-to-exec: support (Charles Duffy)
KVM's live migration support included support for exec: URLs, allowing systemstate to be written or received via an arbitrary popen()ed subprocess. Thisprovides a convenient way to pipe state through a compression algorithm or an...
Live migration for Win32 (Hervé Poussineau)
This patch fixes migration so that it works on Win32. This requires usingsocket specific calls since sockets cannot be treated like file descriptorson win32.
Signed-off-by: Hervé Poussineau <hpoussin@reactos.org>...
Fix some issues with QEMUFile
This patch allows QEMUFile's read and write operations to returnnegative error codes. This is necessary to detect things like closedstreams during live migration.
It also removes unused code for QEMUFileFD write path. Finally, it...
Introduce v3 of savevm protocol
The current savevm/loadvm protocol has some draw backs. It does not supportthe ability to do progressive saving which means it cannot be used for livecheckpointing or migration. The sections sizes are 32-bit integers which...
Resurrect the safe part of r5274
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5401 c046a42c-6fe2-441c-8c8c-71466251a162
Refactor QEMUFile for live migration
To support live migration, we override QEMUFile so that instead of writing todisk, the save/restore state happens over a network connection.
This patch makes QEMUFile read/write operations function pointers so that we...
Revert r5274 which breaks savevm/loadvm
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5321 c046a42c-6fe2-441c-8c8c-71466251a162
Add signed versions of save/load functions
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5274 c046a42c-6fe2-441c-8c8c-71466251a162
Add an opaque parameter to boot_set API, move function to monitor.c
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4763 c046a42c-6fe2-441c-8c8c-71466251a162
Allow bootdevice change from the monitor
(Gildas Le Nadan)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4333 c046a42c-6fe2-441c-8c8c-71466251a162
Break up vl.h.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3674 c046a42c-6fe2-441c-8c8c-71466251a162