On Wed, May 04, 2016 at 04:52:17PM +1000, Alexey Kardashevskiy wrote: > At the moment IOMMU MR only translate to the system memory. > However if some new code changes this, we will need clear indication why > it is not working so here is the check. > > Signed-off-by: Alexey Kardashevskiy > Reviewed-by: David Gibson Alex, I think this is a reasonable sanity check regardless of what happens with the rest of the series. Can you apply this? > --- > Changes: > v15: > * added some spaces > > v14: > * new to the series > --- > hw/vfio/common.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/hw/vfio/common.c b/hw/vfio/common.c > index f32cc49..6d23d0f 100644 > --- a/hw/vfio/common.c > +++ b/hw/vfio/common.c > @@ -266,6 +266,12 @@ static void vfio_iommu_map_notify(Notifier *n, void *data) > > trace_vfio_iommu_map_notify(iova, iova + iotlb->addr_mask); > > + if (iotlb->target_as != &address_space_memory) { > + error_report("Wrong target AS \"%s\", only system memory is allowed", > + iotlb->target_as->name ? iotlb->target_as->name : "none"); > + return; > + } > + > /* > * The IOMMU TLB entry we have just covers translation through > * this IOMMU to its immediate target. We need to translate -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson