diff options
author | Alex Williamson <alex.williamson@redhat.com> | 2012-10-08 08:45:29 -0600 |
---|---|---|
committer | Alex Williamson <alex.williamson@redhat.com> | 2012-10-08 08:45:29 -0600 |
commit | af6bc27e39fafadbc03c8876ffa95851c5869683 (patch) | |
tree | add6af4b09dce687476d8928eff2cf10d1ade327 /hw/vfio_pci.c | |
parent | ea486926b07d2ebd73ef67315ebb1eecf39faf5a (diff) | |
download | qemu-af6bc27e39fafadbc03c8876ffa95851c5869683.zip qemu-af6bc27e39fafadbc03c8876ffa95851c5869683.tar.gz qemu-af6bc27e39fafadbc03c8876ffa95851c5869683.tar.bz2 |
vfio-pci: Re-order map/unmap
This cleans up the next patch that calls unmap from map.
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Diffstat (limited to 'hw/vfio_pci.c')
-rw-r--r-- | hw/vfio_pci.c | 36 |
1 files changed, 18 insertions, 18 deletions
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 */ |