mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-03 07:43:54 -06:00
vmstate, memory: decouple vmstate from memory API
Currently creating a memory region automatically registers it for live migration. This differs from other state (which is enumerated in a VMStateDescription structure) and ties the live migration code into the memory core. Decouple the two by introducing a separate API, vmstate_register_ram(), for registering a RAM block for migration. Currently the same implementation is reused, but later it can be moved into a separate list, and registrations can be moved to VMStateDescription blocks. Signed-off-by: Avi Kivity <avi@redhat.com>
This commit is contained in:
parent
8991c79b57
commit
c5705a7728
71 changed files with 286 additions and 154 deletions
17
savevm.c
17
savevm.c
|
@ -83,6 +83,7 @@
|
|||
#include "qemu-queue.h"
|
||||
#include "qemu-timer.h"
|
||||
#include "cpus.h"
|
||||
#include "memory.h"
|
||||
|
||||
#define SELF_ANNOUNCE_ROUNDS 5
|
||||
|
||||
|
@ -2280,3 +2281,19 @@ void do_info_snapshots(Monitor *mon)
|
|||
g_free(available_snapshots);
|
||||
|
||||
}
|
||||
|
||||
void vmstate_register_ram(MemoryRegion *mr, DeviceState *dev)
|
||||
{
|
||||
qemu_ram_set_idstr(memory_region_get_ram_addr(mr),
|
||||
memory_region_name(mr), dev);
|
||||
}
|
||||
|
||||
void vmstate_unregister_ram(MemoryRegion *mr, DeviceState *dev)
|
||||
{
|
||||
/* Nothing do to while the implementation is in RAMBlock */
|
||||
}
|
||||
|
||||
void vmstate_register_ram_global(MemoryRegion *mr)
|
||||
{
|
||||
vmstate_register_ram(mr, NULL);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue