On Mon, Jul 11, 2016 at 03:51:44PM +0200, Paolo Bonzini wrote: > > > On 05/07/2016 07:31, David Gibson wrote: > > + ret = ioctl(container->fd, VFIO_IOMMU_SPAPR_TCE_CREATE, &create); > > + if (ret) { > > + error_report("Failed to create a window, ret = %d (%m)", ret); > > + return -errno; > > + } > > + > > + if (create.start_addr != section->offset_within_address_space) { > > + vfio_spapr_remove_window(container, create.start_addr); > > + > > + error_report("Host doesn't support DMA window at %"HWADDR_PRIx", > > must be %"PRIx64, > > + section->offset_within_address_space, > > + (uint64_t)create.start_addr); > > + ioctl(container->fd, VFIO_IOMMU_SPAPR_TCE_REMOVE, &remove); > > Was this ioctl left there by mistake? It passes the address of the > remove *function* to VFIO_IOMMU_SPAPR_TCE_REMOVE.
Heh, good catch. I've posted a fix for this. -- 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
signature.asc
Description: PGP signature