Gerd Hoffmann <kra...@redhat.com> wrote: > On 03/24/10 18:04, Juan Quintela wrote: >> Gerd Hoffmann<kra...@redhat.com> wrote: >>> The bochs vbe interface got a new register a while back, which specifies >>> the linear framebuffer size in 64k units. This patch adds support for >>> the new register to qemu. With this patch applied vgabios 0.6c works >>> with qemu. >>> >>> Signed-off-by: Gerd Hoffmann<kra...@redhat.com> >> >> It breaks migration. >> >> vga.c:2218: VMSTATE_UINT16_ARRAY(vbe_regs, VGACommonState, >> VBE_DISPI_INDEX_NB), > >> 2218 is the interesting line. Can we freeze this patch until the >> subsections stuff is done? > > Yea, I see. Well, the new register doesn't carry any state, it is > read-only information for the guest. So the easy way out is to simply > not save it as we don't have to.
Thinking a bit more about it. Humm, I think it means. Can you migrate from a "new" vga to an old one, and maintain it working? - s->vbe_regs[VBE_DISPI_INDEX_ID] = VBE_DISPI_ID0; + s->vbe_regs[VBE_DISPI_INDEX_ID] = VBE_DISPI_ID5; + s->vbe_regs[VBE_DISPI_INDEX_VIDEO_MEMORY_64K] = s->vram_size / (64 * 1024); After migration, vbe_regs[VBE_DISPI_INDEX_ID] would have the value VBE_DISPI_ID5, but vbe_regs[VBE_DISPI_INDEX_VIDEO_MEMORY_64K] will have any random value, no? > > cheers, > Gerd