diff options
| author | Avi Kivity <avi@redhat.com> | 2011-12-20 15:59:12 +0200 |
|---|---|---|
| committer | Avi Kivity <avi@redhat.com> | 2012-01-04 13:34:48 +0200 |
| commit | c5705a7728b4a6bc9e4f2d35911adbaf28042b25 (patch) | |
| tree | e96a1e0c9fbd0fa3624b5454038659775c81fba2 /hw/shix.c | |
| parent | 8991c79b57b75fcdeb290df89b9b0adaccb0303c (diff) | |
| download | focaccia-qemu-c5705a7728b4a6bc9e4f2d35911adbaf28042b25.tar.gz focaccia-qemu-c5705a7728b4a6bc9e4f2d35911adbaf28042b25.zip | |
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>
Diffstat (limited to 'hw/shix.c')
| -rw-r--r-- | hw/shix.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/hw/shix.c b/hw/shix.c index e0c2200777..e259c17c52 100644 --- a/hw/shix.c +++ b/hw/shix.c @@ -57,14 +57,17 @@ static void shix_init(ram_addr_t ram_size, /* Allocate memory space */ printf("Allocating ROM\n"); - memory_region_init_ram(rom, NULL, "shix.rom", 0x4000); + memory_region_init_ram(rom, "shix.rom", 0x4000); + vmstate_register_ram_global(rom); memory_region_set_readonly(rom, true); memory_region_add_subregion(sysmem, 0x00000000, rom); printf("Allocating SDRAM 1\n"); - memory_region_init_ram(&sdram[0], NULL, "shix.sdram1", 0x01000000); + memory_region_init_ram(&sdram[0], "shix.sdram1", 0x01000000); + vmstate_register_ram_global(&sdram[0]); memory_region_add_subregion(sysmem, 0x08000000, &sdram[0]); printf("Allocating SDRAM 2\n"); - memory_region_init_ram(&sdram[1], NULL, "shix.sdram2", 0x01000000); + memory_region_init_ram(&sdram[1], "shix.sdram2", 0x01000000); + vmstate_register_ram_global(&sdram[1]); memory_region_add_subregion(sysmem, 0x0c000000, &sdram[1]); /* Load BIOS in 0 (and access it through P2, 0xA0000000) */ |