aboutsummaryrefslogtreecommitdiff
path: root/hw/spapr.c
diff options
context:
space:
mode:
authorDavid Gibson <david@gibson.dropbear.id.au>2012-06-27 14:50:44 +1000
committerAnthony Liguori <aliguori@us.ibm.com>2012-06-27 16:33:25 -0500
commitad0ebb91cd8b5fdc4a583b03645677771f420a46 (patch)
tree4449fc0cf864869480c95b79c661c0e0ec254c1a /hw/spapr.c
parente5332e6334f375600b0c15f5c3540c1b72af7067 (diff)
downloadqemu-ad0ebb91cd8b5fdc4a583b03645677771f420a46.zip
qemu-ad0ebb91cd8b5fdc4a583b03645677771f420a46.tar.gz
qemu-ad0ebb91cd8b5fdc4a583b03645677771f420a46.tar.bz2
pseries: Convert sPAPR TCEs to use generic IOMMU infrastructure
The pseries platform already contains an IOMMU implementation, since it is essential for the platform's paravirtualized VIO devices. This IOMMU support is currently built into the implementation of the VIO "bus" and the various VIO devices. This patch converts this code to make use of the new common IOMMU infrastructure. We don't yet handle synchronization of map/unmap callbacks vs. invalidations, this will require some complex interaction with the kernel and is not a major concern at this stage. Cc: Alex Graf <agraf@suse.de> Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Diffstat (limited to 'hw/spapr.c')
-rw-r--r--hw/spapr.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/hw/spapr.c b/hw/spapr.c
index 09a23ff..81c9343 100644
--- a/hw/spapr.c
+++ b/hw/spapr.c
@@ -674,6 +674,9 @@ static void ppc_spapr_init(ram_addr_t ram_size,
spapr->icp = xics_system_init(XICS_IRQS);
spapr->next_irq = 16;
+ /* Set up IOMMU */
+ spapr_iommu_init();
+
/* Set up VIO bus */
spapr->vio_bus = spapr_vio_bus_init();