On Mon, Nov 03, 2014 at 01:03:30PM +0100, Markus Armbruster wrote: > Marcel Apfelbaum <marce...@redhat.com> writes: > > > Hot-plugging a device that has a romfile (either supplied by user > > or built-in) using rombar=0 option is a user error, > > do not allow the > > device to be hot-plugged. > > > > Reviewed-by: Eric Blake <ebl...@redhat.com> > > Signed-off-by: Marcel Apfelbaum <marce...@redhat.com> > > --- > > hw/pci/pci.c | 9 +++++++++ > > 1 file changed, 9 insertions(+) > > > > diff --git a/hw/pci/pci.c b/hw/pci/pci.c > > index 36226eb..371699c 100644 > > --- a/hw/pci/pci.c > > +++ b/hw/pci/pci.c > > @@ -1942,6 +1942,15 @@ static int pci_add_option_rom(PCIDevice *pdev, bool > > is_default_rom) > > * for 0.11 compatibility. > > */ > > int class = pci_get_word(pdev->config + PCI_CLASS_DEVICE); > > + > > + /* > > + * Hot-plugged devices can't use the option ROM > > + * if the rom bar is disabled. > > + */ > > + if (DEVICE(pdev)->hotplugged) { > > + return -1; > > + } > > + > > if (class == 0x0300) { > > rom_add_vga(pdev->romfile); > > } else { > > Unlike the function's other unsuccessful returns, this one is silent. > Intentional?
Marcel, Markus, as I applied the patch already, if you want to fix things up pls send a new patch on top. Thanks!