diff options
Diffstat (limited to 'src/userspace_io.c')
-rw-r--r-- | src/userspace_io.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/userspace_io.c b/src/userspace_io.c index b7afb7e..4677409 100644 --- a/src/userspace_io.c +++ b/src/userspace_io.c @@ -132,22 +132,22 @@ int main(int argc, char *argv[]) device = vfio_init_dev(group, container, &group_status, &iommu_info, &device_info, group_uuid); + mmio = uio_map_mmio(exec_ops, device); + if (!mmio) { + printf("Cannot map MMIO\n"); + goto out; + } /* XXX FIXME check pointers and munmap properly */ - rxring = vfio_mmap_region(device, VFIO_PCI_NUM_REGIONS + 1); + rxring = vfio_mmap_region(device, VFIO_PCI_NUM_REGIONS + 2); if (!rxring) { printf("Cannot map RxRing\n"); goto out; } - txring = vfio_mmap_region(device, VFIO_PCI_NUM_REGIONS + 2); + txring = vfio_mmap_region(device, VFIO_PCI_NUM_REGIONS + 3); if (!txring) { printf("Cannot map TxRing\n"); goto out; } - mmio = uio_map_mmio(exec_ops, device); - if (!mmio) { - printf("Cannot map MMIO\n"); - goto out; - } /* FIXME decide on allocated areas, instead of getting 2MB per direction */ ret = iomem_alloc(device, 2 * 1024 * 1024, &iocur, &rx_data); |