From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:51761) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XMCpv-0001Lm-AP for qemu-devel@nongnu.org; Tue, 26 Aug 2014 05:14:50 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XMCpl-0005dB-EE for qemu-devel@nongnu.org; Tue, 26 Aug 2014 05:14:43 -0400 Received: from mail-pa0-f54.google.com ([209.85.220.54]:44002) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XMCpl-0005cz-9F for qemu-devel@nongnu.org; Tue, 26 Aug 2014 05:14:33 -0400 Received: by mail-pa0-f54.google.com with SMTP id fa1so22864468pad.41 for ; Tue, 26 Aug 2014 02:14:32 -0700 (PDT) Message-ID: <53FC4FF3.6020906@ozlabs.ru> Date: Tue, 26 Aug 2014 19:14:27 +1000 From: Alexey Kardashevskiy MIME-Version: 1.0 References: <1408407718-10835-1-git-send-email-mdroth@linux.vnet.ibm.com> <1408407718-10835-9-git-send-email-mdroth@linux.vnet.ibm.com> In-Reply-To: <1408407718-10835-9-git-send-email-mdroth@linux.vnet.ibm.com> Content-Type: text/plain; charset=koi8-r Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 08/12] pci: allow 0 address for PCI IO regions List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Michael Roth , qemu-devel@nongnu.org Cc: ncmike@ncultra.org, nfont@linux.vnet.ibm.com, qemu-ppc@nongnu.org, agraf@suse.de, tyreld@linux.vnet.ibm.com On 08/19/2014 10:21 AM, Michael Roth wrote: > Some kernels program a 0 address for io regions. PCI 3.0 spec > section 6.2.5.1 doesn't seem to disallow this. I remember there was discussion about it but I forgot :) Why does it have to be a part of this patchset? Worth mentioning in the commit log I believe. > > Signed-off-by: Michael Roth > --- > hw/pci/pci.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/hw/pci/pci.c b/hw/pci/pci.c > index 351d320..9578749 100644 > --- a/hw/pci/pci.c > +++ b/hw/pci/pci.c > @@ -1035,7 +1035,7 @@ static pcibus_t pci_bar_address(PCIDevice *d, > /* Check if 32 bit BAR wraps around explicitly. > * TODO: make priorities correct and remove this work around. > */ > - if (last_addr <= new_addr || new_addr == 0 || last_addr >= UINT32_MAX) { > + if (last_addr <= new_addr || last_addr >= UINT32_MAX) { > return PCI_BAR_UNMAPPED; > } > return new_addr; > -- Alexey