mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-07 17:53:56 -06:00
kvm: Add missing bits to support live migration
This patch adds the missing hooks to allow live migration in KVM mode. It adds proper synchronization before/after saving/restoring the VCPU states (note: PPC is untested), hooks into cpu_physical_memory_set_dirty_tracking() to enable dirty memory logging at KVM level, and synchronizes that drity log into QEMU's view before running ram_live_save(). Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
parent
151f7749f2
commit
b0a46a333a
4 changed files with 21 additions and 1 deletions
|
@ -4,6 +4,7 @@
|
|||
#include "hw/isa.h"
|
||||
|
||||
#include "exec-all.h"
|
||||
#include "kvm.h"
|
||||
|
||||
static void cpu_put_seg(QEMUFile *f, SegmentCache *dt)
|
||||
{
|
||||
|
@ -29,6 +30,8 @@ void cpu_save(QEMUFile *f, void *opaque)
|
|||
int32_t a20_mask;
|
||||
int i;
|
||||
|
||||
cpu_synchronize_state(env, 0);
|
||||
|
||||
for(i = 0; i < CPU_NB_REGS; i++)
|
||||
qemu_put_betls(f, &env->regs[i]);
|
||||
qemu_put_betls(f, &env->eip);
|
||||
|
@ -321,5 +324,6 @@ int cpu_load(QEMUFile *f, void *opaque, int version_id)
|
|||
/* XXX: compute redundant hflags bits */
|
||||
env->hflags = hflags;
|
||||
tlb_flush(env, 1);
|
||||
cpu_synchronize_state(env, 1);
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue