qemu/include/hw/ppc
Alexey Kardashevskiy ee9a569ab8 spapr_vio/spapr_iommu: Move VIO bypass where it belongs
Instead of tweaking a TCE table device by adding there a bypass flag,
let's add an alias to RAM and IOMMU memory region, and enable/disable
those according to the selected bypass mode.
This way IOMMU memory region can have size of the actual window rather
than ram_size which is essential for upcoming DDW support.

This moves bypass logic to VIO layer and keeps @bypass flag in TCE table
for migration compatibility only. This replaces spapr_tce_set_bypass()
calls with explicit assignment to avoid confusion as the function could
do something more that just syncing the @bypass flag.

This adds a pointer to VIO device into the sPAPRTCETable struct to provide
the sPAPRTCETable device a way to update bypass mode for the VIO device.

Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Alexander Graf <agraf@suse.de>
2015-03-09 14:59:52 +01:00
..
mac_dbdma.h macio ide: Do remainder access asynchronously 2014-06-16 13:24:38 +02:00
openpic.h intc/openpic_kvm: Fix QOM and build issues 2013-07-01 01:11:15 +02:00
ppc4xx.h
ppc_e500.h intc/openpic: Build openpic only once 2013-07-09 21:33:02 +02:00
ppc.h PPC: mac99: Move NVRAM to page boundary when necessary 2014-09-08 12:50:47 +02:00
spapr_vio.h spapr_vio/spapr_iommu: Move VIO bypass where it belongs 2015-03-09 14:59:52 +01:00
spapr.h spapr_vio/spapr_iommu: Move VIO bypass where it belongs 2015-03-09 14:59:52 +01:00
xics.h xics: Implement xics_ics_free() 2014-06-27 13:48:26 +02:00