Revision f471a17e arch_init.c
b/arch_init.c | ||
---|---|---|
110 | 110 |
ram_addr_t addr = 0; |
111 | 111 |
int bytes_sent = 0; |
112 | 112 |
|
113 |
while (addr < last_ram_offset) {
|
|
113 |
while (addr < ram_list.last_offset) {
|
|
114 | 114 |
if (cpu_physical_memory_get_dirty(current_addr, MIGRATION_DIRTY_FLAG)) { |
115 | 115 |
uint8_t *p; |
116 | 116 |
|
... | ... | |
133 | 133 |
break; |
134 | 134 |
} |
135 | 135 |
addr += TARGET_PAGE_SIZE; |
136 |
current_addr = (saved_addr + addr) % last_ram_offset;
|
|
136 |
current_addr = (saved_addr + addr) % ram_list.last_offset;
|
|
137 | 137 |
} |
138 | 138 |
|
139 | 139 |
return bytes_sent; |
... | ... | |
146 | 146 |
ram_addr_t addr; |
147 | 147 |
ram_addr_t count = 0; |
148 | 148 |
|
149 |
for (addr = 0; addr < last_ram_offset; addr += TARGET_PAGE_SIZE) {
|
|
149 |
for (addr = 0; addr < ram_list.last_offset; addr += TARGET_PAGE_SIZE) {
|
|
150 | 150 |
if (cpu_physical_memory_get_dirty(addr, MIGRATION_DIRTY_FLAG)) { |
151 | 151 |
count++; |
152 | 152 |
} |
... | ... | |
167 | 167 |
|
168 | 168 |
uint64_t ram_bytes_total(void) |
169 | 169 |
{ |
170 |
return last_ram_offset;
|
|
170 |
return ram_list.last_offset;
|
|
171 | 171 |
} |
172 | 172 |
|
173 | 173 |
int ram_save_live(Monitor *mon, QEMUFile *f, int stage, void *opaque) |
... | ... | |
191 | 191 |
bytes_transferred = 0; |
192 | 192 |
|
193 | 193 |
/* Make sure all dirty bits are set */ |
194 |
for (addr = 0; addr < last_ram_offset; addr += TARGET_PAGE_SIZE) {
|
|
194 |
for (addr = 0; addr < ram_list.last_offset; addr += TARGET_PAGE_SIZE) {
|
|
195 | 195 |
if (!cpu_physical_memory_get_dirty(addr, MIGRATION_DIRTY_FLAG)) { |
196 | 196 |
cpu_physical_memory_set_dirty(addr); |
197 | 197 |
} |
... | ... | |
200 | 200 |
/* Enable dirty memory tracking */ |
201 | 201 |
cpu_physical_memory_set_dirty_tracking(1); |
202 | 202 |
|
203 |
qemu_put_be64(f, last_ram_offset | RAM_SAVE_FLAG_MEM_SIZE);
|
|
203 |
qemu_put_be64(f, ram_list.last_offset | RAM_SAVE_FLAG_MEM_SIZE);
|
|
204 | 204 |
} |
205 | 205 |
|
206 | 206 |
bytes_transferred_last = bytes_transferred; |
... | ... | |
259 | 259 |
addr &= TARGET_PAGE_MASK; |
260 | 260 |
|
261 | 261 |
if (flags & RAM_SAVE_FLAG_MEM_SIZE) { |
262 |
if (addr != last_ram_offset) {
|
|
262 |
if (addr != ram_list.last_offset) {
|
|
263 | 263 |
return -EINVAL; |
264 | 264 |
} |
265 | 265 |
} |
Also available in: Unified diff