On 25/02/20 11:05, Philippe Mathieu-Daudé wrote: >> >> pc_isa_bios_init() does a manual copy of a part of the BIOS, >> from a read-only region. We can simplify by directly aliasing >> the same part. >> >> Before: >> >> (qemu) info mtree >> memory-region: system >> 0000000000000000-ffffffffffffffff (prio 0, i/o): system >> 0000000000000000-0000000007ffffff (prio 0, ram): alias >> ram-below-4g @pc.ram 0000000000000000-0000000007ffffff >> 0000000000000000-ffffffffffffffff (prio -1, i/o): pci >> 00000000000a0000-00000000000bffff (prio 1, i/o): vga-lowmem >> 00000000000c0000-00000000000dffff (prio 1, rom): pc.rom >> 00000000000e0000-00000000000fffff (prio 1, rom): isa-bios >> ... >> 00000000fff00000-00000000ffffffff (prio 0, romd): system.flash0 >> >> After: >> >> (qemu) info mtree >> memory-region: system >> 0000000000000000-ffffffffffffffff (prio 0, i/o): system >> 0000000000000000-0000000007ffffff (prio 0, ram): alias >> ram-below-4g @pc.ram 0000000000000000-0000000007ffffff >> 0000000000000000-ffffffffffffffff (prio -1, i/o): pci >> 00000000000a0000-00000000000bffff (prio 1, i/o): vga-lowmem >> 00000000000c0000-00000000000dffff (prio 1, rom): pc.rom >> 00000000000e0000-00000000000fffff (prio 1, romd): alias >> isa-bios @system.flash0 00000000000e0000-00000000000fffff >> ... >> 00000000fff00000-00000000ffffffff (prio 0, romd): system.flash0 > > IIUC migrating old -> new is OK, the previous ROM copy is discarded. > > What about new -> old, does it require specific handling? Do we care?
Old->new is broken because the "isa-bios" memory region is not found. qemu-system-x86_64: Unknown ramblock "isa-bios", cannot accept migration qemu-system-x86_64: error while loading state for instance 0x0 of device 'ram' qemu-system-x86_64: load of migration failed: Invalid argument Paolo