qemu/include
Michael S. Tsirkin 04920fc0fa loader: store FW CFG ROM files in RAM
ROM files that are put in FW CFG are copied to guest ram, by BIOS, but
they are not backed by RAM so they don't get migrated.

Each time we change two bytes in such a ROM this breaks cross-version
migration: since we can migrate after BIOS has read the first byte but
before it has read the second one, getting an inconsistent state.

Future-proof this by creating, for each such ROM,
an MR serving as the backing store.
This MR is never mapped into guest memory, but it's registered
as RAM so it's migrated with the guest.

Naturally, this only helps for -M 1.7 and up, older machine types
will still have the cross-version migration bug.
Luckily the race window for the problem to trigger is very small,
which is also likely why we didn't notice the cross-version
migration bug in testing yet.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
2013-08-21 00:18:39 +03:00
..
block aio: drop io_flush argument 2013-08-19 15:52:19 +02:00
disas Add moxie disassembler 2013-03-23 14:25:41 +00:00
exec exec: Remove env from list of poisoned names 2013-07-27 11:22:54 +04:00
fpu
hw loader: store FW CFG ROM files in RAM 2013-08-21 00:18:39 +03:00
migration migration: fix spice migration 2013-07-29 17:19:02 +02:00
monitor net: add support of mac-programming over macvtap in QEMU side 2013-07-15 21:23:08 +03:00
net net: add support of mac-programming over macvtap in QEMU side 2013-07-15 21:23:08 +03:00
qapi Implement qdict_flatten() 2013-07-26 22:01:31 +02:00
qemu semaphore: fix a hangup problem under load on NetBSD hosts. 2013-08-05 11:48:00 -05:00
qom qom: Introduce instance_post_init hook 2013-08-16 18:44:33 +02:00
sysemu dump: rebase from host-private RAMBlock offsets to guest-physical addresses 2013-08-08 11:01:46 -04:00
ui spice: fix display initialization 2013-07-30 10:25:47 +02:00
config.h
elf.h s390: Implement dump-guest-memory support for target s390x 2013-07-30 16:12:25 +02:00
glib-compat.h glib: add a compatibility interface for g_timeout_add_seconds 2013-03-25 13:10:40 -05:00
qemu-common.h Introduce async_run_on_cpu() 2013-07-12 19:36:01 +02:00
qemu-io.h qemu-io: Interface cleanup 2013-06-06 11:27:05 +02:00
trace.h