qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: David Gibson <david@gibson.dropbear.id.au>
To: agraf@suse.de
Cc: Alexey Kardashevskiy <aik@ozlabs.ru>,
	qemu-ppc@nongnu.org, qemu-devel@nongnu.org,
	David Gibson <david@gibson.dropbear.id.au>
Subject: [Qemu-devel] [PATCH 12/12] pseries: Generate unique LIOBNs for PCI host bridges
Date: Tue, 13 Nov 2012 13:47:00 +1100	[thread overview]
Message-ID: <1352774820-22804-13-git-send-email-david@gibson.dropbear.id.au> (raw)
In-Reply-To: <1352774820-22804-1-git-send-email-david@gibson.dropbear.id.au>

From: Alexey Kardashevskiy <aik@ozlabs.ru>

In future (with VFIO) we will have multiple PCI host bridges on
pseries.  Each one needs a unique LIOBN (IOMMU id).  At the moment we
derive these from the pci domain number, but the whole notion of
domain numbers on the qemu side is bogus and in any case they're not
actually uniquely allocated at this point.

This patch, therefore uses a simple sequence counter to generate
unique LIOBNs for PCI host bridges.

Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
---
 hw/spapr_pci.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/hw/spapr_pci.c b/hw/spapr_pci.c
index 3c5b855..f6544d7 100644
--- a/hw/spapr_pci.c
+++ b/hw/spapr_pci.c
@@ -521,6 +521,7 @@ static int spapr_phb_init(SysBusDevice *s)
     char *namebuf;
     int i;
     PCIBus *bus;
+    static int phbnum;
 
     sphb->dtbusname = g_strdup_printf("pci@%" PRIx64, sphb->buid);
     namebuf = alloca(strlen(sphb->dtbusname) + 32);
@@ -572,7 +573,7 @@ static int spapr_phb_init(SysBusDevice *s)
                            PCI_DEVFN(0, 0), PCI_NUM_PINS);
     phb->bus = bus;
 
-    sphb->dma_liobn = SPAPR_PCI_BASE_LIOBN | (pci_find_domain(bus) << 16);
+    sphb->dma_liobn = SPAPR_PCI_BASE_LIOBN | (++phbnum << 16);
     sphb->dma_window_start = 0;
     sphb->dma_window_size = 0x40000000;
     sphb->dma = spapr_tce_new_dma_context(sphb->dma_liobn, sphb->dma_window_size);
-- 
1.7.10.4

  parent reply	other threads:[~2012-11-13  2:45 UTC|newest]

Thread overview: 57+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-11-13  2:46 [Qemu-devel] [0/12] Pending pseries patches David Gibson
2012-11-13  2:46 ` [Qemu-devel] [PATCH 01/12] pseries: Fix incorrect initialization of interrupt controller David Gibson
2012-11-13  2:46 ` [Qemu-devel] [PATCH 02/12] pseries: Use #define for XICS base irq number David Gibson
2012-11-13  2:46 ` [Qemu-devel] [PATCH 03/12] pseries: Move XICS initialization before cpu initialization David Gibson
2012-11-19 16:22   ` Alexander Graf
2012-11-19 19:54     ` Benjamin Herrenschmidt
2012-11-19 22:47       ` [Qemu-devel] [Qemu-ppc] " David Gibson
2012-11-20  9:26         ` Alexander Graf
2012-11-21  1:10           ` David Gibson
2012-11-13  2:46 ` [Qemu-devel] [PATCH 04/12] pseries: Return the token when we register an RTAS call David Gibson
2012-11-13  2:46 ` [Qemu-devel] [PATCH 05/12] pseries: Allow RTAS tokens without a qemu handler David Gibson
2012-11-13  2:46 ` [Qemu-devel] [PATCH 06/12] pseries: Add tracepoints to the XICS interrupt controller David Gibson
2012-11-13  2:46 ` [Qemu-devel] [PATCH 07/12] pseries: Split xics irq configuration from state information David Gibson
2012-11-13  2:46 ` [Qemu-devel] [PATCH 08/12] target-ppc: Convert ppcemb_tlb_t to use fixed 64-bit RPN David Gibson
2012-11-19 16:26   ` Alexander Graf
2012-11-19 22:48     ` [Qemu-devel] [Qemu-ppc] " David Gibson
2012-11-20  9:29       ` Alexander Graf
2012-11-20  9:53         ` Peter Maydell
2012-11-20  9:55           ` Alexander Graf
2012-11-21  1:14             ` David Gibson
2012-11-21  1:48               ` Alexander Graf
2012-11-21  1:56                 ` David Gibson
2012-11-21 10:07                   ` Alexander Graf
2012-11-13  2:46 ` [Qemu-devel] [PATCH 09/12] pseries: Implement PAPR NVRAM David Gibson
2012-11-13  2:46 ` [Qemu-devel] [PATCH 10/12] pseries: Update SLOF for NVRAM support David Gibson
2012-11-13  2:46 ` [Qemu-devel] [PATCH 11/12] pseries: Fix bug in PCI MSI allocation David Gibson
2012-11-13  2:47 ` David Gibson [this message]
2012-11-19 16:34   ` [Qemu-devel] [PATCH 12/12] pseries: Generate unique LIOBNs for PCI host bridges Alexander Graf
2012-11-19 22:51     ` [Qemu-devel] [Qemu-ppc] " David Gibson
2012-11-20  9:27       ` Alexander Graf
2012-11-20 12:26         ` Michael S. Tsirkin
2012-11-21  0:57           ` David Gibson
2012-11-21 11:34             ` Michael S. Tsirkin
2012-11-21 12:36               ` David Gibson
2012-11-21 13:13                 ` Michael S. Tsirkin
2012-11-21 13:21                   ` David Gibson
2012-11-21 13:27                     ` Alexander Graf
2012-11-21 15:27                       ` Michael S. Tsirkin
2012-11-22  2:27                         ` David Gibson
2012-11-22  7:23                           ` Michael S. Tsirkin
2012-11-22 11:27                             ` Alexander Graf
2012-11-22 11:39                               ` Michael S. Tsirkin
2012-11-23  4:13                             ` David Gibson
2012-11-23 10:53                               ` Michael S. Tsirkin
2012-11-23 12:59                                 ` David Gibson
2012-11-23 13:44                                   ` Michael S. Tsirkin
2012-11-23 13:44                                     ` Alexander Graf
2012-11-23 14:01                                       ` Michael S. Tsirkin
2012-11-23 14:03                                         ` Alexander Graf
2012-11-23 14:18                                           ` Michael S. Tsirkin
2012-11-23 14:27                                             ` Alexander Graf
2012-11-25 23:24                                         ` David Gibson
2012-11-21 15:20                     ` Michael S. Tsirkin
2012-11-21  5:00         ` David Gibson
2012-11-21 10:09           ` Alexander Graf
2012-11-21 11:40             ` Michael S. Tsirkin
2012-11-19 16:35 ` [Qemu-devel] [0/12] Pending pseries patches Alexander Graf

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1352774820-22804-13-git-send-email-david@gibson.dropbear.id.au \
    --to=david@gibson.dropbear.id.au \
    --cc=agraf@suse.de \
    --cc=aik@ozlabs.ru \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-ppc@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).