mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 16:23:55 -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
|
@ -146,10 +146,12 @@ static void mips_jazz_init(MemoryRegion *address_space,
|
|||
qemu_register_reset(main_cpu_reset, env);
|
||||
|
||||
/* allocate RAM */
|
||||
memory_region_init_ram(ram, NULL, "mips_jazz.ram", ram_size);
|
||||
memory_region_init_ram(ram, "mips_jazz.ram", ram_size);
|
||||
vmstate_register_ram_global(ram);
|
||||
memory_region_add_subregion(address_space, 0, ram);
|
||||
|
||||
memory_region_init_ram(bios, NULL, "mips_jazz.bios", MAGNUM_BIOS_SIZE);
|
||||
memory_region_init_ram(bios, "mips_jazz.bios", MAGNUM_BIOS_SIZE);
|
||||
vmstate_register_ram_global(bios);
|
||||
memory_region_set_readonly(bios, true);
|
||||
memory_region_init_alias(bios2, "mips_jazz.bios", bios,
|
||||
0, MAGNUM_BIOS_SIZE);
|
||||
|
@ -208,7 +210,8 @@ static void mips_jazz_init(MemoryRegion *address_space,
|
|||
{
|
||||
/* Simple ROM, so user doesn't have to provide one */
|
||||
MemoryRegion *rom_mr = g_new(MemoryRegion, 1);
|
||||
memory_region_init_ram(rom_mr, NULL, "g364fb.rom", 0x80000);
|
||||
memory_region_init_ram(rom_mr, "g364fb.rom", 0x80000);
|
||||
vmstate_register_ram_global(rom_mr);
|
||||
memory_region_set_readonly(rom_mr, true);
|
||||
uint8_t *rom = memory_region_get_ram_ptr(rom_mr);
|
||||
memory_region_add_subregion(address_space, 0x60000000, rom_mr);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue