[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-ppc] [PATCH 08/12] pci: allow 0 address for PCI IO regions
From: |
Michael S. Tsirkin |
Subject: |
Re: [Qemu-ppc] [PATCH 08/12] pci: allow 0 address for PCI IO regions |
Date: |
Wed, 27 Aug 2014 15:47:51 +0200 |
On Mon, Aug 18, 2014 at 07:21:54PM -0500, 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.
>
> Signed-off-by: Michael Roth <address@hidden>
Yes the PCI spec does not care.
But unfortunately as documented in the comment, at
least for PC (maybe others) priorities aren't
currently setup correctly, so programming PCI BAR at
address zero (during sizing) conflicts with
whatever else is there.
To make address 0 work, you'll have to fix up the prioriorities for a
bunch of machine types :(
> ---
> 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;
> --
> 1.9.1
>
- Re: [Qemu-ppc] [PATCH 01/12] spapr: populate DRC entries for root dt node, (continued)
[Qemu-ppc] [PATCH 03/12] spapr: add helper to retrieve a PHB/device DrcEntry, Michael Roth, 2014/08/18
[Qemu-ppc] [PATCH 08/12] pci: allow 0 address for PCI IO regions, Michael Roth, 2014/08/18
[Qemu-ppc] [PATCH 05/12] spapr_pci: add get/set-power-level RTAS interfaces, Michael Roth, 2014/08/18
[Qemu-ppc] [PATCH 07/12] spapr_pci: add ibm, configure-connector RTAS interface, Michael Roth, 2014/08/18
[Qemu-ppc] [PATCH 12/12] spapr_pci: emit hotplug add/remove events during hotplug, Michael Roth, 2014/08/18