[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v4 2/2] loader: store FW CFG ROM files in RAM
From: |
Laszlo Ersek |
Subject: |
Re: [Qemu-devel] [PATCH v4 2/2] loader: store FW CFG ROM files in RAM |
Date: |
Mon, 19 Aug 2013 20:05:22 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130806 Thunderbird/17.0.8 |
On 08/19/13 16:26, Michael S. Tsirkin wrote:
> 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 <address@hidden>
> ---
> hw/core/loader.c | 49 ++++++++++++++++++++++++++++++++++++++++++++++---
> hw/i386/pc_piix.c | 2 ++
> hw/i386/pc_q35.c | 2 ++
> include/hw/loader.h | 1 +
> 4 files changed, 51 insertions(+), 3 deletions(-)
checked the v3->v4 diff in v4 0/2.
Reviewed-by: Laszlo Ersek <address@hidden>
- [Qemu-devel] [PATCH v4 1/2] arch_init: align MR size to target page size, (continued)
[Qemu-devel] [PATCH v4 2/2] loader: store FW CFG ROM files in RAM, Michael S. Tsirkin, 2013/08/19
Re: [Qemu-devel] [PATCH v4 2/2] loader: store FW CFG ROM files in RAM,
Laszlo Ersek <=
Re: [Qemu-devel] [PATCH v4 0/2] future proof rom loading for cross versiom migration, Peter Maydell, 2013/08/19