From: Alex Williamson Date: Mon, 8 Oct 2012 14:45:29 +0000 (-0600) Subject: vfio-pci: Re-order map/unmap X-Git-Tag: TizenStudio_2.0_p2.3.2~208^2~3329^2~11 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=af6bc27e39fafadbc03c8876ffa95851c5869683;p=sdk%2Femulator%2Fqemu.git vfio-pci: Re-order map/unmap This cleans up the next patch that calls unmap from map. Signed-off-by: Alex Williamson --- diff --git a/hw/vfio_pci.c b/hw/vfio_pci.c index 7ec9c30..2d89d17 100644 --- a/hw/vfio_pci.c +++ b/hw/vfio_pci.c @@ -786,6 +786,24 @@ static void vfio_pci_write_config(PCIDevice *pdev, uint32_t addr, /* * DMA - Mapping and unmapping for the "type1" IOMMU interface used on x86 */ +static int vfio_dma_unmap(VFIOContainer *container, + target_phys_addr_t iova, ram_addr_t size) +{ + struct vfio_iommu_type1_dma_unmap unmap = { + .argsz = sizeof(unmap), + .flags = 0, + .iova = iova, + .size = size, + }; + + if (ioctl(container->fd, VFIO_IOMMU_UNMAP_DMA, &unmap)) { + DPRINTF("VFIO_UNMAP_DMA: %d\n", -errno); + return -errno; + } + + return 0; +} + static int vfio_dma_map(VFIOContainer *container, target_phys_addr_t iova, ram_addr_t size, void *vaddr, bool readonly) { @@ -809,24 +827,6 @@ static int vfio_dma_map(VFIOContainer *container, target_phys_addr_t iova, return 0; } -static int vfio_dma_unmap(VFIOContainer *container, - target_phys_addr_t iova, ram_addr_t size) -{ - struct vfio_iommu_type1_dma_unmap unmap = { - .argsz = sizeof(unmap), - .flags = 0, - .iova = iova, - .size = size, - }; - - if (ioctl(container->fd, VFIO_IOMMU_UNMAP_DMA, &unmap)) { - DPRINTF("VFIO_UNMAP_DMA: %d\n", -errno); - return -errno; - } - - return 0; -} - static void vfio_listener_dummy1(MemoryListener *listener) { /* We don't do batching (begin/commit) or care about logging */