From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=35120 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Of8Bl-0003Uh-3Y for qemu-devel@nongnu.org; Sat, 31 Jul 2010 05:17:05 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1Of8Bk-0001wd-0L for qemu-devel@nongnu.org; Sat, 31 Jul 2010 05:17:05 -0400 Received: from mx1.redhat.com ([209.132.183.28]:13772) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1Of8Bj-0001vy-PG for qemu-devel@nongnu.org; Sat, 31 Jul 2010 05:17:03 -0400 Message-ID: <4C53E9FD.4070109@redhat.com> Date: Sat, 31 Jul 2010 11:16:45 +0200 From: Jes Sorensen MIME-Version: 1.0 Subject: Re: [Qemu-devel] [PATCH] Do not try loading option ROM for hotplug PCI device in pc-0.11 compat mode References: <1279900598-8432-1-git-send-email-Jes.Sorensen@redhat.com> <20100730210847.GD20459@volta.aurel32.net> In-Reply-To: <20100730210847.GD20459@volta.aurel32.net> Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 7bit List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Aurelien Jarno Cc: Alex.Williamson@redhat.com, qemu-devel@nongnu.org On 07/30/10 23:08, Aurelien Jarno wrote: > On Fri, Jul 23, 2010 at 05:56:38PM +0200, Jes.Sorensen@redhat.com wrote: >> From: Jes Sorensen >> >> pc-0.11 and older uses fw_cfg to provide option ROMs. As fw_cfg is setup >> at init time, it is not possible to load an option ROM for a hotplug >> device when running in compat mode. >> >> v2: Alex Williamson pointed out that one can get to qdev directly from >> pci_dev, so no need to pass it down. >> >> Signed-off-by: Jes Sorensen >> --- >> hw/pci.c | 8 ++++++-- >> 1 files changed, 6 insertions(+), 2 deletions(-) >> >> diff --git a/hw/pci.c b/hw/pci.c >> index a98d6f3..2d38643 100644 >> --- a/hw/pci.c >> +++ b/hw/pci.c >> @@ -1810,11 +1810,15 @@ static int pci_add_option_rom(PCIDevice *pdev) >> return 0; >> >> if (!pdev->rom_bar) { >> + int class; >> /* >> * Load rom via fw_cfg instead of creating a rom bar, >> - * for 0.11 compatibility. >> + * for 0.11 compatibility. fw_cfg is initialized at boot, so >> + * we cannot do hotplug load of option roms. >> */ >> - int class = pci_get_word(pdev->config + PCI_CLASS_DEVICE); >> + if (pdev->qdev.hotplugged) >> + return 0; > > Missing braces around the return 0 line. Half the QEMU code base doesn't have braces around single line if statements, including in hw/pci.c. Adding braces here would be inconsistent. Jes