Statistics
| Branch: | Revision:

root / arch_init.c @ f58ae59c

History | View | Annotate | Download (15.7 kB)

# Date Author Comment
fb787f81 07/06/2010 06:36 pm Alex Williamson

ramblocks: No more being lazy about duplicate names

Now that we have a working qemu_ram_free() and the primary runtime
user of it has been updated, don't be lenient about duplicate id strings.
We also shouldn't need to create them ondemand at the target....

97ab12d4 07/06/2010 06:36 pm Alex Williamson

savevm: Migrate RAM based on name/offset

Synchronize RAM blocks with the target and migrate using name/offset
pairs. This ensures both source and target have the same view of
RAM and that we get the right bits into the right slot.

Signed-off-by: Alex Williamson <>...

e44359c3 07/06/2010 06:36 pm Alex Williamson

savevm: Use RAM blocks for basis of migration

We don't want to assume a contiguous address space, so migrate based
on RAM blocks instead of a fixed linear address map. This will allow
us to have holes in the ram_addr_t namespace, so we can implement
qemu_ram_free()....

a55bbe31 07/06/2010 06:36 pm Alex Williamson

savevm: Create a new continue flag to avoid resending block name

Allows us to compress the protocol a bit by setting a flag on the
offset which indicates we're still working within the same block
as last time. That way we can avoid sending the block name for...

d17b5288 07/06/2010 06:36 pm Alex Williamson

Remove uses of ram.last_offset (aka last_ram_offset)

We currently need this either to allocate the next ram_addr_t for a
new block, or for total memory to be migrated. Both of which we can
calculate without need of this to keep us in a contiguous address space....

f471a17e 06/14/2010 07:12 pm Alex Williamson

ram_blocks: Convert to a QLIST

This makes the RAM block list easier to manipulate. Also incorporate
relevant variables into the RAMList struct.

Signed-off-by: Alex Williamson <>
Acked-by: Chris Wright <>
Signed-off-by: Anthony Liguori <>

3fc250b4 06/01/2010 08:53 pm Pierre Riteau

migration: Fix calculation of bytes_transferred

When a page with all identical bytes is transferred, it is counted
as a full page (TARGET_PAGE_SIZE) although only one byte is actually
sent. Fix this by changing ram_save_block() to return the number of
bytes sent instead of a boolean value. This makes bandwidth...

1c47cb16 03/30/2010 10:27 pm Blue Swirl

Add missing #include needed for madvise() on OpenBSD

Signed-off-by: Blue Swirl <>

ad96090a 03/29/2010 10:23 pm Blue Swirl

Refactor target specific handling, compile vl.c only once

Move target specific functions and RAM handling to arch_init.c.

Add a flag to QEMUOptions structure to indicate for which
architectures the option is allowed, check the flag
in run time and remove conditional code in option handling....