qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] pci: make ROM memory resizable


From: Vladimir Sementsov-Ogievskiy
Subject: Re: [PATCH] pci: make ROM memory resizable
Date: Tue, 25 Apr 2023 11:34:09 +0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.9.0

On 25.04.23 10:43, Michael S. Tsirkin wrote:
On Tue, Apr 25, 2023 at 03:26:54AM -0400, Michael S. Tsirkin wrote:
On Mon, Apr 24, 2023 at 11:36:47PM +0300, Vladimir Sementsov-Ogievskiy wrote:
On migration, on target we load local ROM file. But actual ROM content
migrates through migration channel. Original ROM content from local
file doesn't matter. But when size mismatch - we have an error like

  Size mismatch: 0000:00:03.0/virtio-net-pci.rom: 0x40000 != 0x80000: Invalid 
argument

Oh, this is this old bug then:
https://bugs.launchpad.net/ubuntu/+source/qemu/+bug/1713490

People seem to be "fixing" this by downgrading ROMs.

Actually, I think the fix is different: we need to build
versions of ROMs for old machine types that can fit
in the old BAR size.

Gerd, Laszlo what's your take on all this?
Actually, ignore this - we do keep old ROMs around specifically to avoid
ROM size changes and have been for ever. E.g.:

commit c45e5b5b30ac1f5505725a7b36e68cedfce4f01f
Author: Gerd Hoffmann<kraxel@redhat.com>
Date:   Tue Feb 26 17:46:11 2013 +0100

     Switch to efi-enabled nic roms by default
All PCI nics are switched to EFI-enabled roms by default. They are
     composed from three images (legacy, efi ia32 & efi x86), so classic
     pxe booting will continue to work.
Exception: eepro100 is not switched, it uses a single rom for all
     emulated eepro100 variants, then goes patch the rom header on the
     fly with the correct PCI IDs.  I doubt that will work as-is with
     the efi roms.
Keep old roms for 1.4+older machine types via compat properties,
     needed because the efi-enabled roms are larger so the pci rom bar
     size would change.
Signed-off-by: Gerd Hoffmann<kraxel@redhat.com>


So it's downstream messing up with things, overriding the
rom file then changing its size.


On fedora I find both pxe virtio and efi virtio so it gets it right.



Yes I understand that distribution may work-around the problem just having all 
needed roms on target and specifying correct romfile= argument.

But this is not ideal: having the file only to get its size, to not mismatch 
with incoming RAM block. There should be way to migrate ROMs automatically 
without extra files on target.

--
Best regards,
Vladimir




reply via email to

[Prev in Thread] Current Thread [Next in Thread]